Commit Graph

471 Commits (master)
 

Author SHA1 Message Date
remicorniere ccc573c3b2
Update xmpp_chat_client.go
Quickfix : go back to menu when contacts are updated from server.
4 years ago
remicorniere 26114d40eb
Merge pull request #140 from remicorniere/Roster_Chat_Example
Added roster update to chat client example
4 years ago
CORNIERE Rémi f3252346c4 Added roster update to chat client example 4 years ago
remicorniere 3037bf6db8
Merge pull request #139 from remicorniere/IQ_Roster
Added Roster IQs
Added an overly primitive "disconnect" for the client to use in the chat client example
4 years ago
remicorniere f8f820170e
Merge branch 'master' into IQ_Roster 4 years ago
CORNIERE Rémi 390336b894 Added Roster IQs
Added an overly primitive "disconnect" for the client to use in the chat client example
4 years ago
remicorniere 38f53642ba
Merge pull request #138 from remicorniere/Basic_Terminal_Client
Basic terminal client
4 years ago
CORNIERE Rémi c006990c20 Logging.
Added menus.
Can now send raw stanzas.
4 years ago
CORNIERE Rémi f0179ad90e Logging.
Added menus.
Can now send raw stanzas.
4 years ago
CORNIERE Rémi 1ba2add651 Example client with TUI 4 years ago
remicorniere 27130d7292
Merge pull request #135 from remicorniere/Error_Handling
Added callback to process errors after connection.
5 years ago
rcorniere 3c9b0db5b8 Fixed decoder usage.
Decoders have internal buffering, and creating many on a single TCP connection can cause issues in parsing exchanged XML documents.
5 years ago
rcorniere fd48f52f3d Using precisely sized buffers for tcp tests 5 years ago
rcorniere 1f5591f33a Merge branch 'Error_Handling' of github.com:remicorniere/go-xmpp into Error_Handling
# Conflicts:
#	client.go
#	client_test.go
#	tcp_server_mock.go
5 years ago
CORNIERE Rémi 6d8e9d325a Try removing decoder from IQ tests and changing writing method 5 years ago
CORNIERE Rémi e675e65a59 Added callback to process errors after connection.
Added tests and refactored a bit.
5 years ago
remicorniere b74c0f0374
Merge pull request #136 from Crypho/eventmanager-status
Fix updating of EventManager.CurrentState
5 years ago
remicorniere 4f4e9f454f
Merge pull request #134 from Crypho/configurable-keepalive
Make keepalive interval configurable
5 years ago
Wichert Akkerman f41177775a Make keepalive interval configurable
This fixes #133
5 years ago
Wichert Akkerman f8c992a385 Fix updating of EventManager.CurrentState
The EventManager methods did not use a pointer as receiver, which
caused updated of CurrentState to be lost.
5 years ago
CORNIERE Rémi 5eff2d7623 Added callback to process errors after connection.
Added tests and refactored a bit.
5 years ago
rcorniere 6a3833b27d Removed last bits of codecov 5 years ago
remicorniere 51db430cff
Merge pull request #130 from remicorniere/master
Removed codeship and codecov. We now use github actions and coveralls.
5 years ago
rcorniere bfe2b7a30f Removed codeship and codecov. We now use github actions and coveralls. 5 years ago
remicorniere a95b53d9ad
Update with coveralls badge. Removed codecov badge 5 years ago
remicorniere 10078e2a1b
Merge pull request #124 from Crypho/github-ci
Setup GitHub actions to run tests
5 years ago
remicorniere 80ba790555
Added coverage
Should detect race conditions, use the same covermove as the current mode in test.sh, and update code coverage on the repo. 
See : https://github.com/marketplace/actions/coveralls-github-action
5 years ago
remicorniere c60edf4771
Added "-race" flag to tests run command
Kind of testing edits on someone else's PR too
5 years ago
Jerome Sautret 3b84cb796e Add 0.3.0 changelog 5 years ago
remicorniere 1822089db6 Tests for Component and code style fixes (#129)
* Tests for Component and code style fixes
5 years ago
Wichert Akkerman 6f35ae4103 Fix triggers 5 years ago
remicorniere 7d89353156 Fix SIGSEGV in xmpp_component (#126)
* SIGSEGV in xmpp_component example with Prosody #126
5 years ago
Mickael Remond 6aa1e668ee
Fix issues after refactor
Relates to #126
5 years ago
Wichert Akkerman 1539e4f193 Setup GitHub actions to run tests 5 years ago
Mickael Remond 47976624c9
Preparing v0.2.0 Changelog before version release 5 years ago
Mickael Remond 4efde692a2
Add placeholder in README for routing packets and get IQ responses 5 years ago
Mickael Remond 08878ed4a2
Update go.sum file 5 years ago
Mickael Remond ce05c3226c
Fix failing tests 5 years ago
Mickael Remond 3e94880916
Merge branch 'master' of https://github.com/FluuxIO/go-xmpp 5 years ago
Wichert Akkerman eda5c23c54 Add SendIQ to StreamClient and Sender
This makes it possible to use SendIQ from PostConnect and route handlers.
5 years ago
Wichert Akkerman a0e74051fd Use a channel based API for SendIQ
This makes sending IQ more idiomatic Go, but more importantly it solves
a problem with contexts that were not being cancelled correctly with
the previous API.

As a side-effect of this change `Route.route` must now be invoked in a
go-routine to prevent deadlocks. This also allows for stanzas to be processed
in parallel, which can result in a nice performance win.
5 years ago
Wichert Akkerman 83bc8581fd Cleanup the IQ result route API
Simplify the API in several ways:

- provide the context to the IQ result handler, making it possible to pass in
  extra context and handle timeouts within the handler.
- pass the stanza in as an IQ type, removing the need to always type-cast it
  in the handler
- remove Router.HandleIqResult and Router.HandleFuncIqResult. Since the router
  is private to Client nobody would ever use these, and they do not really make
  things simpler anyway.
5 years ago
Wichert Akkerman 8088e3fa7e Add Client.SendIQ method 5 years ago
Wichert Akkerman 070934743f Add tests for iq result routes 5 years ago
Wichert Akkerman 6a25856e85 We need to lock isResultRoutes
The map is updated from multiple goroutines, so it needs to be locked.
5 years ago
Wichert Akkerman 8e1dac6ffa Add IQ result routes to the Router
These are used to quickly match IQ result stanzas and invoke a handler
for them. IQ result routes take precendence of normal routes.
5 years ago
Wichert Akkerman 21f6a549db Always add an id to IQ queries 5 years ago
Mickael Remond 1d7db9ceee
Comments clean-up 5 years ago
Wichert Akkerman 0227596f90 Increase size of XML decoder internal buffers
Since a transport (and a streamlogger) does not implement io.ByteReader
xml.Decoder wraps it using `bufio.NewReader(transport)` so it can easily read
bytes one at a time. This has the unfortuante effect of resulting in a panic if
we try to parse a stanza that is larger than the default buffer size of 4096
bytes.

To fix this we wrap the transport using `bufio.NewReaderSize()` with a much
larger buffer size.
5 years ago
Mickael Remond ebb6e845bf
Update requirements to go1.13 as required by new websockets dependencies 5 years ago