summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-11Do not share memory between limox and xmppxengineering
2023-05-11Further refactoring with the defer statementxengineering
2023-05-11Refactor rxRoutinexengineering
2023-05-11Restructure xmpp()xengineering
2023-05-11Refactor with new setupConn()xengineering
2023-05-11Refactor with new rxRoutine functionxengineering
2023-05-10Implement pretty-printed server side XML loggingxengineering
2023-05-10Replace XML token logging completelyxengineering
Using io.TeeReader and io.MultiWriter is a better debugging interface since it is exactly what is transmitted via the TCP connection.
2023-05-10Use io.TeeReader to output received XML streamxengineering
This should be used for debugging.
2023-05-10Use central XML encoder / decoderxengineering
2023-05-10Implement stream start with xml.StartElementxengineering
The currently used method with struct marshalling and string cutting is just a workaround.
2023-05-09Implement logToken()xengineering
This is a generic XML token logging function which can be used for sent and received XML tokens.
2023-05-04Implement concurrent send / receivexengineering
LimoX should receive and send XML elements from and to the server concurrently to avoid blocking.
2023-05-04Update dependenciesxengineering
2023-05-03Implement XML encodingxengineering
The <stream> element is the first to encode and is added with this commit.
2023-05-03Switch to direct TLS with hard-coded portxengineering
This is not compliant with the XMPP specification but allows to develop quite fast with production servers.
2023-04-18Split Go code into multiple filesxengineering
2023-04-18Remove broken reference to iconxengineering
2023-04-18Add Makefilexengineering
2023-04-16Invalidate UI window on XmppEventxengineering
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).
2023-04-16Switch completely to Go and Gio UIxengineering
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.
2023-04-16Implement TCP connect / disconnectxengineering
2023-04-16Implement fallback DNS resolutionxengineering
This uses A / AAAA records while the preferred method in XMPP are SRV records.
2023-04-16Implement domain part extraction in Goxengineering
This is needed to continue with DNS resolution.
2023-04-15Apply go fmtxengineering
2023-04-15Implement basic connection statemachinexengineering
This prepares a real TCP / XMPP connection.
2023-04-11Align editors in the middlexengineering
2023-04-11Implement dummy functionality for first viewxengineering
2023-04-11Mask passwordxengineering
2023-04-11Fix variable namexengineering
2023-04-11Add editor widgets for JID and passwordxengineering
These are needed to provide credentials.
2023-04-11Turn label to headline and add buttonxengineering
These elements should be part of the initial view.
2023-04-11Further refactoringxengineering
2023-04-10go: Refactor with Limox structxengineering
The central Limox struct allows to structure the whole application in one struct and pass it around to different functions.
2023-02-21Adjust window and label sizexengineering
2023-02-20Set default dimensions for Gio versionxengineering
2023-02-20Adapt Gio example to LimoXxengineering
2023-02-20Add Golang-based Gio example codexengineering
Golang and Gio should be considered as an alternative to the current C- and SDL-based setup.
2023-01-23gui.c: Create separate create_window()legacy/sdl2xengineering
This splits the GUI code into smaller functions.
2023-01-23Remove typedefsxengineering
They just hide complexity.
2023-01-23gui.c: Remove inline commentsxengineering
Not that helpful. Should be replaced by easy to read code and well written function docstrings.
2023-01-23Implement GUI init and deinit functionsxengineering
2023-01-23Bundle GUI variables in context structxengineering
This allows to pass all variables easily between small functions.
2023-01-23Add debug symbols to default buildxengineering
2023-01-22Add new icon to READMExengineering
2023-01-22Fix SVG icon for systems without matching fontxengineering
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.
2023-01-22Add initial iconxengineering
This will be needed for a GUI.
2023-01-09Fix reconnectionxengineering
This was not possible because gui.c did not reset the socket filedescriptor to the default value.
2023-01-09Make return statement more consistentxengineering
2023-01-09Prevent NULL pointer crashxengineering
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.