Age | Commit message (Collapse) | Author |
|
It is not required for a minimal single user chat demo if the user
enters the recipient address manually.
Leaving that out removes a feature from the list of tasks for a minimal
viable product and thus makes the path to the next refactoring / quality
gate shorter.
|
|
This broadcasts that the LimoX client is ready for communication.
|
|
|
|
This completes the connection process.
|
|
This adds some really basic resource binding implementation which will
work for now but has to be improved for a first release.
|
|
|
|
|
|
This handler is just a placeholder for a more extensive IQ handling but
already writes to the log so that it is obvious what is happening.
|
|
This is the first step of resource binding which is a mandatory part of
establishing an XMPP connection.
|
|
This allows to trigger resource binding if the stream supports it.
|
|
The added code provides a structured way to handle features offered by
the server.
|
|
|
|
Writing to the log is still better than doing nothing ...
|
|
The new structure allows to check for different stream features and act
according to them or - if nothing matches - do nothing apart from an
error message to the log.
|
|
If SASL authentication is successful a new stream has to be opened by
the client. This is implemented with this commit.
|
|
|
|
|
|
It is nearly useless to route a XML element to an appropriate handler
function if the latter has no idea how to send responses to the server
or the GUI. Passing a pointer to the session solves this issue.
|
|
|
|
|
|
This is needed to respond with a SASL auth attempt.
|
|
This is the first step to handle stream features correctly with the new
routing infrastructure.
|
|
This adds an XML element router and a corresponding unit test. The
element router will be used to register XML element handler with a
single line.
|
|
|
|
This implements a routing function for XML elements received by an XML
stream.
|
|
This adds xengineering.eu/limox/xmpp/elementBuffer which is a buffer
for a collection of XML tokens which are further processed after a full
XML element is collected.
|
|
The behaviour is ok for now but should be improved in the future to make
it more robust.
|
|
This makes it easier to add further test data in case there are further
corner cases which should be tested in the future.
|
|
|
|
This helps to debug tests with t.Log() and t.Logf().
|
|
This tests if the indent level is correctly detected. This basic test
can be extended to support invalid XML elements which should be refused
to add to the element buffer.
|
|
This is needed to buffer XML elements of a stream until they are
complete and can be given to an element handler.
|
|
This adds the source file xmpp/stream_pair.go with the central function
runStreamPair(). This function is called once by a session and could
call itself. That way an initial stream and nested streams are
implemented and closed via return and defer.
|
|
|
|
This should ensure that the incoming and outgoing XML streams are in
sync.
|
|
The new source file should contain the complete stream logic.
|
|
This prepares the switch to stream pairs.
|
|
|
|
This reduces the risk of using those channels wrong.
|
|
This explains implicitly why the value is returned.
|
|
|
|
|
|
This is part of the refactoring. Details of the old implementation
should be looked up by older commits.
|
|
This allows to add svg image sources by simply adding their name to the
Makefile.
|
|
|
|
This should be filled with content in the future. Furthermore build
system integration will follow.
|
|
This models the different states of an xmpp.session and helps to
implement it correctly.
|
|
This allows the goroutine which fetches all tokens from the server to
forward them to the main goroutine of the session.
|
|
|
|
|