Age | Commit message (Collapse) | Author |
|
|
|
|
|
If an XmppEvent occurs the the State member of the Limox struct was
updated. This does not mean that the UI gets re-drawn. This led to a
situation where the label on the main button was not updated on
XmppEvent(s).
|
|
The properties of the Go language, standard library and the Gio UI
library are well suited for this project. The existing experimental Go
code exceeds the GTK4 and SDL attempts by far with respect to quality
and code simplicity.
|
|
|
|
This uses A / AAAA records while the preferred method in XMPP are SRV
records.
|
|
This is needed to continue with DNS resolution.
|
|
|
|
This prepares a real TCP / XMPP connection.
|
|
|
|
|
|
|
|
|
|
These are needed to provide credentials.
|
|
These elements should be part of the initial view.
|
|
|
|
The central Limox struct allows to structure the whole application in
one struct and pass it around to different functions.
|
|
|
|
|
|
|
|
Golang and Gio should be considered as an alternative to the current C-
and SDL-based setup.
|
|
This splits the GUI code into smaller functions.
|
|
They just hide complexity.
|
|
Not that helpful. Should be replaced by easy to read code and well
written function docstrings.
|
|
|
|
This allows to pass all variables easily between small functions.
|
|
|
|
|
|
The icon looked differently on systems without the correct font for the
L letter. Converting the L into a path with Inkscape solved that issue.
|
|
This will be needed for a GUI.
|
|
This was not possible because gui.c did not reset the socket
filedescriptor to the default value.
|
|
|
|
It used to be assumed that the user sets the LIMOX_USER and LIMOX_PWD
shell variables but there was no error checking if this was not the
case.
This commit adds the check preventing a crash of the whole program.
Furthermore an error message is printed to the terminal.
|
|
This is just internally used and thus has no benefit.
|
|
This explains better what this function is about.
|
|
|
|
|
|
|
|
|
|
Using Markdown features (as URLs) is even more useful if you actually
render this somewhere. PDF is now done and HTML might follow.
|
|
Roadmap content should not spam the README
|
|
This adds the option to close the XMPP connection.
|
|
With this commit the client starts the connection to the server as soon
as the user clicks into the application window. Disconnect or reading /
writing to the stream is not implemented.
|
|
Sadly there is no way to stop LimoX after connection. This has to be
fixed by a commit implementing a better control flow between GUI and
network part of the program.
|
|
This starts the XML stream via the XMPP connection.
|
|
This commit adds the functionality to actually connect to port 5222
(xmpp-client) of a XMPP server! This was tested using prosody and
verified via its systemd journal log entries.
|
|
The socket is needed for the TCP connection to the XMPP server.
|
|
The DNS resolution implemented with this commit uses getaddrinfo() from
the standard library to get an IPv4 address for the domainpart of the
user-given Jabber ID (JID).
This is by far not the process described in [RFC 6120][1]. This XMPP
core standard prefers SRV entry lookups. Taking A records like in this
implementation is referenced as "fallback process".
Furthermore this implementation just takes the first A record it finds
which could also be improved. It could for example be that IPv4 is
blocked in the referenced network and a AAAA IPv6 record is given and
functional. In this case this implementation would needlessly fail to connect.
[1]: https://www.rfc-editor.org/rfc/rfc6120
|
|
This should make the license more visible and prevent wrong usage.
|
|
|