summaryrefslogtreecommitdiff
path: root/lib/data.dart
AgeCommit message (Collapse)Author
4 daysAdd reading server domain name from SQLite3 DBxengineering
It is annoying to type the server domain name on every app start. This should be way more ergonomic. As a minimal first step reading from the database is implemented and tested with an externally injected database.
2026-03-08Implement server selectionxengineering
This lets the user select the fully qualified domain name (FQDN) of the MQTT broker. The FQDN is not yet preserved after a manual disconnect.
2026-03-08Switch completely to connection state machinexengineering
This makes use of the state machine in the UI and implements all states and transitions planned so far.
2026-03-08Add manual disconnectxengineering
This allows going back to the connection page and to choose a different server. Furthermore it might be useful to force a new connection attempt while auto-reconnect might be in a delay state.
2026-03-07Remove automatic initial connectionxengineering
The user should provide the fully qualified domain name (FQDN) of the MQTT broker manually and then press connect to actually connect including automated re-connects. As a first step the initial connect is bound to the manual button in the bottom bar. To reduce the scope the disconnect button is labeled "(disabled)" to make clear this is not expected to work.
2026-03-07Label button with '(dis)connect'xengineering
This does not yet work but the correct text based on the page is displayed. This is based on a state machine based implementation suitable to implement the state handling cleanly.
2026-03-07Start by default on ConnectionPagexengineering
This prepares starting connection attempts on manual action only.
2026-03-07Allow switching between pagesxengineering
This prepares manually starting the connection after server name insertion.
2026-03-07Add class ConnectionPagexengineering
This is a second page to offer a form to set the Sia server name.
2026-01-17Indicate disconnected Sia serverxengineering
There are now three instead of two status states: - "Connected" / MQTT connected, Sia server connected - "Connection issue" / MQTT connected, Sia server disconnected - "Disconnected" / all other cases (Sia server connection unknown)
2026-01-17Add automatic reconnectingxengineering
This allows to use the app after a temporary disconnect between app and MQTT broker.
2026-01-17Display MQTT connection statusxengineering
The user otherwise cannot trust the state of the contacts because the app could just be disconnected from the broker.
2026-01-15Set contact states based on MQTTxengineering
This is already the minimal viable product (MVP) for this app.
2026-01-11Add const MQTT connection optionsxengineering
2026-01-11Switch to Map address to state for contactsxengineering
This map should be empty in the future and updated based on the incoming MQTT messages. A list was not the correct data structure for that since it requires to iterate over the whole list to find the entry with a certain address. But this is required to update the state of an already known contact.
2026-01-11Fix indentationxengineering
2026-01-10Re-introduce timer-based state togglingxengineering
This is now done with the refactored code organization and a strict UI / data split.
2026-01-10Move state to data.dartxengineering
The UI should not store the application logic state.
2026-01-05Split code into three Dart filesxengineering
This follows recommendations [1] from the flutter documentation. [1]: https://docs.flutter.dev/app-architecture/concepts