summaryrefslogtreecommitdiff
path: root/limox.go
AgeCommit message (Collapse)Author
2023-09-04Add xmpp.SessionFrontend.Disconnect()session-structxengineering
This is the first convenience function implemented inside the xmpp module but for the goroutine of the using application.
2023-09-04xmpp: Add type SessionFrontendxengineering
Some parts of the `xmpp` module functionality should be written for the using application software. To reference a running session more easily it is an advantage to have an opaque struct for this instead of decoupled channels.
2023-09-04Update to gioui.org v0.2.0xengineering
2023-07-03Fix race condition on struct Limoxxengineering
To make message passing to the XMPP session channel non-blocking short living Goroutines are used. Before this commit they were executing closures which capture l as xengineering.eu/limox.Limox pointer and used it to get the channel where the message should be passed to. While channels are safe with respect to race conditions, structs are not. Thus the member access of the Limox struct was a race condition in certain side cases like bad network connection where those Goroutines lived for a longer time. The solution is to make a copy of the l.sessionIn channel and use this copy in the closures. This is valid since channels do not need pointers to them and furthermore are thread safe.
2023-06-27xmpp: StartSession(): Switch to directed chanxengineering
This reduces the risk of using those channels wrong.
2023-06-27Apply go fmtxengineering
2023-06-27xmpp: Fix confusing terminologyxengineering
2023-06-03Introduce new communication patternxengineering
2023-06-03Implement dummy sessionxengineering
Minimal step towards session-based XMPP architecture.
2023-05-21Disable info loggingxengineering
The current log policy is to be quiet if nothing failed to allow to focus on relevant messages.
2023-05-21Introduce xengineering.eu/xmpp.Connxengineering
2023-05-20Implement last password persistencexengineering
2023-05-20Add persistence for last used JIDxengineering
2023-05-18Use only xmpp.Event for channel communicationxengineering
2023-05-18Use one bidirectional channel for communicationxengineering
2023-05-15Introduce package xengineering.eu/limox/xmppxengineering
The XMPP logic is now big enough to create a corresponding package for it.
2023-05-14Rework error managementxengineering
Error handling was not consistent and quite bad to be honest ...
2023-05-11Do not share memory between limox and xmppxengineering
2023-05-03Implement XML encodingxengineering
The <stream> element is the first to encode and is added with this commit.
2023-04-18Split Go code into multiple filesxengineering