summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-19Update README.md and ROADMAP.mdxengineering
2023-05-19Implement basic stream error detectionxengineering
With this commit LimoX will cancel the connection to the server if it receives an encoding/xml.EndElement with .Name.Local attribute set to "error".
2023-05-18Handle server side debug in xmpp/decoder.goxengineering
2023-05-18Add xmpp/encoder.goxengineering
This simplifies the double-encoding to the TCP connection and the debug console.
2023-05-18Use only xmpp.Event for channel communicationxengineering
2023-05-18Use one bidirectional channel for communicationxengineering
2023-05-17Update dependenciesxengineering
2023-05-15Split JID logic into xmpp/jid.goxengineering
2023-05-15Split XML token decoder logic into xmpp/decoder.goxengineering
2023-05-15Introduce package xengineering.eu/limox/xmppxengineering
The XMPP logic is now big enough to create a corresponding package for it.
2023-05-15Copy received XML tokensxengineering
According to the documentation of the encoding/xml package tokens received from a decoder are only valid until the next call of decoder.Token().
2023-05-15Introduce type xmppReceiverxengineering
This simplifies the setup of the XML decoder.
2023-05-15Move disconnect announcement closer to connectxengineering
This keeps the two strongly related actions to one block of code which improves readability and might avoid some bugs.
2023-05-14Rework error managementxengineering
Error handling was not consistent and quite bad to be honest ...
2023-05-11Add XML log for client to server streamxengineering
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