Commit graph

362 commits

Author SHA1 Message Date
Mickael Remond b05e68c844 Add router to make it easier to set up routing info
- Using the router, the dispatch is not done anymore by receiving from
  receive channel, but by registering callback functions in routers,
  with matchers.
- Make IQPayload a real interface to make it easier to match namespaces.
- The StreamManager Run command is now blocking, waiting for StreamManager
  to terminate.
2019-06-18 14:36:56 +02:00
Mickaël Rémond f7b7482d2e
Update README.md 2019-06-18 09:01:07 +02:00
genofire 355401aa84 wrong package import url let it failed 2019-06-18 08:58:39 +02:00
Mickael Remond eb54ec9fb1
Update Fluux XMPP version for examples 2019-06-11 15:31:28 +02:00
Mickaël Rémond 4d4710463d
Add basic support for keep-alive (#48)
Fix #35 

This should also help with #8
2019-06-11 15:29:08 +02:00
Mickael Remond 2af9521036
Add support for detecting ProcessOne extensions 2019-06-11 09:20:33 +02:00
Mickael Remond 30e6adc073
Add support for detecting Stream Management 2019-06-10 16:36:47 +02:00
Mickael Remond 709a95129e
Clean up and fix StartTLS feature discovery
Required field was never set to true
2019-06-10 16:27:52 +02:00
Mickael Remond 44568fcf2b
Remove dead code
For now the component is not able to handle the discovery requests on its own.
2019-06-10 15:06:41 +02:00
Mickael Remond 08bb9965b8
Update component to advertise version feature and return it 2019-06-10 12:35:48 +02:00
Mickael Remond 322a6594e7
Fix missing entry in payload registry 2019-06-10 12:30:01 +02:00
Mickael Remond 45cb2e6f34
Add support for Software Version parsing 2019-06-10 11:56:07 +02:00
Mickael Remond 411619c2ef
Make channel type more specific (Packet instead of interface{})
Thanks to Genofire for spotting this
2019-06-10 10:58:41 +02:00
Mickael Remond 36e3379f5a
Update examples dependencies 2019-06-09 13:18:54 +02:00
Mickael Remond bc2fad6693 Let component handle discovery for now 2019-06-09 13:08:25 +02:00
Mickael Remond 909cf753c9 Fix missing default channel creation 2019-06-09 13:08:25 +02:00
Mickael Remond 83ae778d33 Return errors on SendRaw 2019-06-09 13:08:25 +02:00
Mickael Remond 6fc12e9779 Fix import and test 2019-06-09 13:08:25 +02:00
Mickael Remond 2d95ca9384 Simplify component writing and make it similar to client 2019-06-09 13:08:25 +02:00
Mickael Remond 736a60cd1b Use StreamClient interface in StreamManager 2019-06-09 13:08:25 +02:00
Mickael Remond 021f6d3740 Refactor ClientManager into a more generic StreamManager 2019-06-09 13:08:25 +02:00
Mickael Remond 54dfa60f12 Clean-up 2019-06-09 13:08:25 +02:00
Mickaël Rémond 36900cee20
Update README.md 2019-06-08 19:16:20 +02:00
Mickael Remond d4a8616da2
Move examples out of the cmd directory
They are now in _examples dir.
Fix #26
2019-06-08 11:34:09 +02:00
Mickael Remond b7461ae97f
Do not reconnect on "connection replaced" stream errors
Fix #45
2019-06-08 11:15:51 +02:00
Mickael Remond 3689448c90
Adds an example directly in README file to get a feel of the API 2019-06-07 16:33:10 +02:00
Mickael Remond 0865f4e35c
Improves comments 2019-06-07 16:30:57 +02:00
Mickael Remond eb2b506e3b
Add helpers to access full / bare jid as string 2019-06-07 16:25:18 +02:00
Mickael Remond ae153e1ee5
Fix filename 2019-06-07 16:00:58 +02:00
Mickael Remond 1be04b0fba
Expose JID fields and rename to match XEP-0029 wording
See: XEP-0029 - Definition of Jabber Identifiers (JIDs)
https://xmpp.org/extensions/xep-0029.html
2019-06-07 15:56:41 +02:00
Mickael Remond 269f78b30d
Fix typo 2019-06-07 15:40:34 +02:00
Mickael Remond 2d8d4516fd
Handling basic unrecoverable errors
Fix #43
2019-06-07 15:23:23 +02:00
Mickael Remond d45dd6a44a
Returned client will be nil if parameter are incorrect 2019-06-07 12:16:58 +02:00
Mickael Remond b8fdc510a6
Further improvements on JID parsing 2019-06-07 11:40:31 +02:00
Martin/Geno 3ccc2680b0 Add typing support: XEP-0085: Chat State Notifications 2019-06-07 09:25:13 +02:00
Martin/Geno 3ea0e38f98 fix chat markers - id is a attribute not element 2019-06-07 09:24:00 +02:00
Mickael Remond b7c21871b1
Add TODO 2019-06-06 19:12:31 +02:00
Mickael Remond a451e64638
Improves comments 2019-06-06 12:01:49 +02:00
Mickaël Rémond 2f391fde80
Add Client Manager to monitor connection state and trigger reconnect (#39)
- Support for exponential backoff on reconnect to be gentle on the server.
- Clean up client by moving metrics and retry strategy to the connection manager.
- Update echo_client to use client manager
- Fix echo client XMPP message matching

Fixes #21
Improvements for #8
2019-06-06 11:58:50 +02:00
Mickael Remond 6cdadc95e9
Expose type registry for custom user-defined payload and extensions 2019-06-05 10:23:18 +02:00
Mickael Remond b93a3a2550
Improve JID parsing
Clean up tests
Fix #1
2019-06-05 10:02:24 +02:00
Mickael Remond 80d8d6d231
Apply namespace fixes from #33 2019-06-05 08:51:21 +02:00
Martin/Geno f034b74b54 fix import after moving 2019-06-05 08:41:40 +02:00
Martin/Geno e7c57cad97 complete XEP-0333 support (with displayed) 2019-06-05 08:39:35 +02:00
Mickaël Rémond 4e597505f4
Remove unused import 2019-06-04 19:38:15 +02:00
Martin/Geno 15ceab9fc4 easy xmlformat output 2019-06-04 19:11:46 +02:00
Mickael Remond 4c23014051
Test clean up 2019-06-04 19:01:19 +02:00
Mickael Remond 06ee607f53
Run tests on Golang 1.12 2019-06-04 18:59:34 +02:00
Mickael Remond 0e110bc412 Fix vanity URL import 2019-06-04 18:47:44 +02:00
Mickael Remond 57ed387f4f Add support for Out of Band markers (OOB) from XEP-0066 2019-06-04 18:47:44 +02:00