summaryrefslogtreecommitdiff
path: root/limox.go
AgeCommit message (Collapse)Author
2023-07-09Pass roster result to limox structxengineering
This is needed to display the roster in the context of GUI.
2023-07-09Introduce separate disconnect buttonxengineering
This prepares the roster view which should contain the disconnect button. The now added button will be moved to this view as soon as it is created.
2023-07-09Rename MainButtonxengineering
This used to be the only button. This will change soon.
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