2026-04-17T14:26:29.666257Z INFO webview: [FLUUX] Debug utilities available at window.__FLUUX_DEBUG__
2026-04-17T14:26:29.666444Z INFO webview: [FLUUX] - catchupAllRooms(days=7): Fetch last N days of messages for all joined rooms
2026-04-17T14:26:29.666539Z INFO webview: [FLUUX] - getClient(): Get XMPPClient instance
2026-04-17T14:26:29.666636Z INFO webview: [FLUUX] - getRooms(): Get room store state
2026-04-17T14:26:29.687332Z INFO webview: [Fluux] Keychain: loading credentials
2026-04-17T14:26:29.714463Z INFO fluux: Keychain: loaded credentials for edwardloveall@nixnet.services
2026-04-17T14:26:29.715112Z INFO webview: [Fluux] Keychain: credentials loaded
2026-04-17T14:26:30.400703Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T14:26:30.401115Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T14:26:30.846018Z INFO webview: [Fluux] SASL complete (445ms)
2026-04-17T14:26:31.103310Z INFO webview: [Fluux] Connection handshake complete: online (resolved=false)
2026-04-17T14:26:31.104557Z INFO webview: [Fluux] Connected: fresh
2026-04-17T14:26:31.104881Z INFO webview: [Fluux] Background sync: fresh session — checking MAM support
2026-04-17T14:26:31.106159Z INFO webview: [Fluux] SDK v0.15.1, platform: desktop, session #1
2026-04-17T14:26:31.149421Z INFO webview: [Fluux] Chat: switched to conversation ...@nixnet.services
2026-04-17T14:26:31.149850Z INFO webview: [Fluux] Chat: switched to conversation ...@nixnet.services
2026-04-17T14:26:31.247106Z INFO webview: [Fluux] Roster loaded: 2 contact(s) (both=1, none=1)
2026-04-17T14:26:31.247210Z INFO webview: [Fluux] Roster loaded: 2 contact(s) (both=1, none=1)
2026-04-17T14:26:31.247294Z INFO webview: [Fluux] Fresh session: roster fetched, enabling carbons
2026-04-17T14:26:31.247465Z INFO webview: [Fluux] SM enabled (id: g2gCbQAA..., server max: 300s)
2026-04-17T14:26:31.486705Z INFO webview: [Fluux] Bookmarks: 2 total, 1 autojoin
2026-04-17T14:26:31.608448Z INFO webview: [Fluux] Conversation sync: merged 1 conversations from server
2026-04-17T14:26:31.609172Z INFO webview: [Fluux] Fresh session: 1 rooms to autojoin, 0 to rejoin
2026-04-17T14:26:31.749195Z INFO webview: [Fluux] Chat: starting MAM sync for ...@nixnet.services
2026-04-17T14:26:31.749650Z INFO webview: [Fluux] Background sync: MAM support discovered, triggering sync
2026-04-17T14:26:31.749884Z INFO webview: [Fluux] Background sync: starting
2026-04-17T14:26:31.750098Z INFO webview: [Fluux] Background sync: conversation catch-up
2026-04-17T14:26:31.750372Z INFO webview: [Fluux] Server identity: server/im "ejabberd"
2026-04-17T14:26:31.750730Z INFO webview: [Fluux] Server features (65): MAM=true, Carbons=true, Blocking=true, PubSub=true
2026-04-17T14:26:31.759130Z INFO webview: [Fluux] Background sync: roster discovery
2026-04-17T14:26:31.759410Z INFO webview: [Fluux] Roster discovery for 1 contact(s)
2026-04-17T14:26:31.760017Z INFO webview: [WebPush] Server disco: p1:push:webpush feature = false | pushEnabled = true | All features: ["http://jabber.org/protocol/commands","http://jabber.org/protocol/disco#info","http://jabber.org/protocol/disco#items","http://jabber.org/protocol/offline","http://jabber.org/protocol/pubsub","http://jabber.org/protocol/pubsub#access-authorize","http://jabber.org/protocol/pubsub#access-open","http://jabber.org/protocol/pubsub#access-presence","http://jabber.org/protocol/pubsub#access-whitelist","http://jabber.org/protocol/pubsub#auto-create","http://jabber.org/protocol/pubsub#auto-subscribe","http://jabber.org/protocol/pubsub#collections","http://jabber.org/protocol/pubsub#config-node","http://jabber.org/protocol/pubsub#config-node-max","http://jabber.org/protocol/pubsub#create-and-configure","http://jabber.org/protocol/pubsub#create-nodes","http://jabber.org/protocol/pubsub#delete-items","http://jabber.org/protocol/pubsub#delete-nodes","http://jabber.org/protocol/pubsub#filtered-notifications","http://jabber.org/protocol/pubsub#get-pending","http://jabber.org/protocol/pubsub#instant-nodes","http://jabber.org/protocol/pubsub#item-ids","http://jabber.org/protocol/pubsub#last-published","http://jabber.org/protocol/pubsub#manage-subscriptions","http://jabber.org/protocol/pubsub#member-affiliation","http://jabber.org/protocol/pubsub#modify-affiliations","http://jabber.org/protocol/pubsub#multi-items","http://jabber.org/protocol/pubsub#outcast-affiliation","http://jabber.org/protocol/pubsub#persistent-items","http://jabber.org/protocol/pubsub#presence-notifications","http://jabber.org/protocol/pubsub#presence-subscribe","http://jabber.org/protocol/pubsub#publish","http://jabber.org/protocol/pubsub#publish-only-affiliation","http://jabber.org/protocol/pubsub#publish-options","http://jabber.org/protocol/pubsub#publisher-affiliation","http://jabber.org/protocol/pubsub#purge-nodes","http://jabber.org/protocol/pubsub#retract-items","http://jabber.org/protocol/pubsub#retrieve-affiliations","http://jabber.org/protocol/pubsub#retrieve-default","http://jabber.org/protocol/pubsub#retrieve-items","http://jabber.org/protocol/pubsub#retrieve-subscriptions","http://jabber.org/protocol/pubsub#shim","http://jabber.org/protocol/pubsub#subscribe","http://jabber.org/protocol/pubsub#subscription-notifications","http://jabber.org/protocol/rsm","iq","jabber:iq:last","jabber:iq:privacy","jabber:iq:register","jabber:iq:version","msgoffline","presence","urn:xmpp:blocking","urn:xmpp:carbons:2","urn:xmpp:carbons:rules:0","urn:xmpp:extdisco:2","urn:xmpp:mam:0","urn:xmpp:mam:1","urn:xmpp:mam:2","urn:xmpp:mam:tmp","urn:xmpp:message-retract:1","urn:xmpp:ping","urn:xmpp:sic:0","urn:xmpp:sic:1","vcard-temp"]
2026-04-17T14:26:31.761475Z INFO webview: [Fluux] MAM query: ...@nixnet.services, max=5, backward
2026-04-17T14:26:31.773779Z INFO webview: [Fluux] Room features: gram@rooms.slidge.im MAM=true reactions=true hats=false
2026-04-17T14:26:31.774137Z INFO webview: [Fluux] Joining room: gram@rooms.slidge.im
2026-04-17T14:26:31.778088Z INFO webview: [Fluux] MAM query: ...@nixnet.services, max=50, forward from 2023-10-15T19:16:20.614Z
2026-04-17T14:26:31.860149Z INFO webview: [Fluux] MUC service: muc.nixnet.services (MAM=true)
2026-04-17T14:26:31.877954Z INFO webview: [Fluux] MAM result: ...@nixnet.services → 0 msg(s), complete=true, 117ms
2026-04-17T14:26:31.879323Z INFO webview: [Fluux] Roster discovery complete for 1 contact(s)
2026-04-17T14:26:31.879583Z INFO webview: [Fluux] Background sync: checking archived conversations
2026-04-17T14:26:31.882826Z INFO webview: [Fluux] Disco#items: 4 component(s) on nixnet.services
2026-04-17T14:26:31.897933Z INFO webview: [Fluux] MAM result: ...@nixnet.services → 0 msg(s), complete=true, 120ms
2026-04-17T14:26:31.903807Z INFO webview: [Fluux] Chat: MAM sync complete
2026-04-17T14:26:31.914545Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 9 occupants)
2026-04-17T14:26:32.361522Z INFO webview: [Fluux] HTTP Upload service: upload.nixnet.services (max 95MB)
2026-04-17T14:26:35.908587Z INFO webview: [Fluux] Room: switched to gram@rooms.slidge.im
2026-04-17T14:26:35.909829Z INFO webview: [Fluux] Room: switched to gram@rooms.slidge.im
2026-04-17T14:26:35.910593Z INFO webview: [Fluux] Room: starting MAM catch-up for gram@rooms.slidge.im
2026-04-17T14:26:36.154414Z INFO webview: [Fluux] Room MAM query: gram@rooms.slidge.im, max=100, forward from 2026-04-14T12:51:41.349Z
2026-04-17T14:26:36.312772Z INFO webview: [Fluux] Room MAM result: gram@rooms.slidge.im → 5 msg(s), complete=true, 159ms
2026-04-17T14:26:36.341817Z INFO webview: [Fluux] Room: MAM catch-up complete
2026-04-17T14:26:41.755070Z INFO webview: [Fluux] Background sync: room catch-up (delayed 10s)
2026-04-17T14:26:41.757180Z INFO webview: [Fluux] Background catch-up for 1 room(s)
2026-04-17T14:26:41.795276Z INFO webview: [Fluux] Room MAM query: gram@rooms.slidge.im, max=100, forward from 2026-04-17T12:02:14.828Z
2026-04-17T14:26:41.951220Z INFO webview: [Fluux] Room MAM result: gram@rooms.slidge.im → 1 msg(s), complete=true, 156ms
2026-04-17T14:26:41.966432Z INFO webview: [Fluux] Background catch-up for 1 room(s) — complete
2026-04-17T14:26:41.966609Z INFO webview: [Fluux] Background sync: member discovery for 1 rooms
2026-04-17T14:26:42.088886Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (owner): forbidden
2026-04-17T14:26:42.216283Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (admin): forbidden
2026-04-17T14:26:42.347021Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (member): forbidden
2026-04-17T14:39:18.264191Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T14:39:18.397891Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T14:44:29.436053Z INFO webview: [PlatformState] Tauri system-will-sleep event received
2026-04-17T14:44:29.437996Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T14:44:29.599264Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T14:53:55.677793Z INFO webview: [PlatformState] Detected wake from sleep (520s gap)
2026-04-17T14:53:55.691095Z INFO webview: [Fluux] System state: awake (sleep: 520s)
2026-04-17T14:53:55.744363Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T14:53:55.935823Z INFO webview: [Fluux] Stream error: websocket econnerror wss://xmpp.nixnet.services/ws
2026-04-17T14:53:55.936436Z WARN webview: [Fluux] Stream transport error detected, initiating dead-socket recovery
2026-04-17T14:53:55.940839Z WARN webview: [Fluux] Dead connection detected, will reconnect
2026-04-17T14:53:55.951512Z INFO webview: [Fluux] Reconnecting (attempt 1, delay 1s)
2026-04-17T14:53:55.954948Z INFO webview: [Fluux] cleanupClient: stopping old client
2026-04-17T14:53:55.957392Z INFO webview: [Fluux] cleanupClient: old client cleaned up (forceful)
2026-04-17T14:53:55.978831Z INFO webview: [Fluux] attemptReconnect: starting
2026-04-17T14:53:55.979340Z INFO webview: [Fluux] Connection handshake error: WebSocket ECONNERROR wss://xmpp.nixnet.services/ws (resolved=true)
2026-04-17T14:53:56.100042Z INFO webview: [Fluux] attemptReconnect: waiting 1594ms for network to settle after wake
2026-04-17T14:53:57.838718Z INFO webview: [Fluux] cleanupClient: no client to clean
2026-04-17T14:53:57.840394Z INFO webview: [Fluux] attemptReconnect: old client cleaned up
2026-04-17T14:53:57.844783Z INFO webview: [Fluux] attemptReconnect: new client created, calling start() (wss://xmpp.nixnet.services/ws)
2026-04-17T14:53:58.656060Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T14:53:58.658961Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T14:53:59.841094Z INFO webview: [Fluux] SASL complete (1180ms)
2026-04-17T15:13:06.048182Z INFO webview: [FLUUX] Debug utilities available at window.__FLUUX_DEBUG__
2026-04-17T15:13:06.048330Z INFO webview: [FLUUX] - catchupAllRooms(days=7): Fetch last N days of messages for all joined rooms
2026-04-17T15:13:06.048434Z INFO webview: [FLUUX] - getClient(): Get XMPPClient instance
2026-04-17T15:13:06.048527Z INFO webview: [FLUUX] - getRooms(): Get room store state
2026-04-17T15:13:06.077286Z INFO webview: [Fluux] Keychain: loading credentials
2026-04-17T15:13:06.106481Z INFO fluux: Keychain: loaded credentials for edwardloveall@nixnet.services
2026-04-17T15:13:06.107221Z INFO webview: [Fluux] Keychain: credentials loaded
2026-04-17T15:13:06.666031Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T15:13:06.666445Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T15:13:07.095817Z INFO webview: [Fluux] SASL complete (428ms)
2026-04-17T15:13:07.342980Z INFO webview: [Fluux] Connection handshake complete: online (resolved=false)
2026-04-17T15:13:07.344252Z INFO webview: [Fluux] Connected: fresh
2026-04-17T15:13:07.344677Z INFO webview: [Fluux] Background sync: fresh session — checking MAM support
2026-04-17T15:13:07.346317Z INFO webview: [Fluux] SDK v0.15.1, platform: desktop, session #1
2026-04-17T15:13:07.387611Z INFO webview: [Fluux] Chat: switched to conversation ...@nixnet.services
2026-04-17T15:13:07.388084Z INFO webview: [Fluux] Chat: switched to conversation ...@nixnet.services
2026-04-17T15:13:07.485584Z INFO webview: [Fluux] Roster loaded: 2 contact(s) (both=1, none=1)
2026-04-17T15:13:07.485685Z INFO webview: [Fluux] Roster loaded: 2 contact(s) (both=1, none=1)
2026-04-17T15:13:07.485770Z INFO webview: [Fluux] Fresh session: roster fetched, enabling carbons
2026-04-17T15:13:07.485938Z INFO webview: [Fluux] SM enabled (id: g2gCbQAA..., server max: 300s)
2026-04-17T15:13:07.737662Z INFO webview: [Fluux] Bookmarks: 2 total, 1 autojoin
2026-04-17T15:13:07.866629Z INFO webview: [Fluux] Conversation sync: merged 1 conversations from server
2026-04-17T15:13:07.867590Z INFO webview: [Fluux] Fresh session: 1 rooms to autojoin, 0 to rejoin
2026-04-17T15:13:07.997202Z INFO webview: [Fluux] Chat: starting MAM sync for ...@nixnet.services
2026-04-17T15:13:07.997636Z INFO webview: [Fluux] Background sync: MAM support discovered, triggering sync
2026-04-17T15:13:07.997924Z INFO webview: [Fluux] Background sync: starting
2026-04-17T15:13:07.998193Z INFO webview: [Fluux] Background sync: conversation catch-up
2026-04-17T15:13:07.998562Z INFO webview: [Fluux] Server identity: server/im "ejabberd"
2026-04-17T15:13:07.998816Z INFO webview: [Fluux] Server features (65): MAM=true, Carbons=true, Blocking=true, PubSub=true
2026-04-17T15:13:08.007543Z INFO webview: [WebPush] Server disco: p1:push:webpush feature = false | pushEnabled = true | All features: ["http://jabber.org/protocol/commands","http://jabber.org/protocol/disco#info","http://jabber.org/protocol/disco#items","http://jabber.org/protocol/offline","http://jabber.org/protocol/pubsub","http://jabber.org/protocol/pubsub#access-authorize","http://jabber.org/protocol/pubsub#access-open","http://jabber.org/protocol/pubsub#access-presence","http://jabber.org/protocol/pubsub#access-whitelist","http://jabber.org/protocol/pubsub#auto-create","http://jabber.org/protocol/pubsub#auto-subscribe","http://jabber.org/protocol/pubsub#collections","http://jabber.org/protocol/pubsub#config-node","http://jabber.org/protocol/pubsub#config-node-max","http://jabber.org/protocol/pubsub#create-and-configure","http://jabber.org/protocol/pubsub#create-nodes","http://jabber.org/protocol/pubsub#delete-items","http://jabber.org/protocol/pubsub#delete-nodes","http://jabber.org/protocol/pubsub#filtered-notifications","http://jabber.org/protocol/pubsub#get-pending","http://jabber.org/protocol/pubsub#instant-nodes","http://jabber.org/protocol/pubsub#item-ids","http://jabber.org/protocol/pubsub#last-published","http://jabber.org/protocol/pubsub#manage-subscriptions","http://jabber.org/protocol/pubsub#member-affiliation","http://jabber.org/protocol/pubsub#modify-affiliations","http://jabber.org/protocol/pubsub#multi-items","http://jabber.org/protocol/pubsub#outcast-affiliation","http://jabber.org/protocol/pubsub#persistent-items","http://jabber.org/protocol/pubsub#presence-notifications","http://jabber.org/protocol/pubsub#presence-subscribe","http://jabber.org/protocol/pubsub#publish","http://jabber.org/protocol/pubsub#publish-only-affiliation","http://jabber.org/protocol/pubsub#publish-options","http://jabber.org/protocol/pubsub#publisher-affiliation","http://jabber.org/protocol/pubsub#purge-nodes","http://jabber.org/protocol/pubsub#retract-items","http://jabber.org/protocol/pubsub#retrieve-affiliations","http://jabber.org/protocol/pubsub#retrieve-default","http://jabber.org/protocol/pubsub#retrieve-items","http://jabber.org/protocol/pubsub#retrieve-subscriptions","http://jabber.org/protocol/pubsub#shim","http://jabber.org/protocol/pubsub#subscribe","http://jabber.org/protocol/pubsub#subscription-notifications","http://jabber.org/protocol/rsm","iq","jabber:iq:last","jabber:iq:privacy","jabber:iq:register","jabber:iq:version","msgoffline","presence","urn:xmpp:blocking","urn:xmpp:carbons:2","urn:xmpp:carbons:rules:0","urn:xmpp:extdisco:2","urn:xmpp:mam:0","urn:xmpp:mam:1","urn:xmpp:mam:2","urn:xmpp:mam:tmp","urn:xmpp:message-retract:1","urn:xmpp:ping","urn:xmpp:sic:0","urn:xmpp:sic:1","vcard-temp"]
2026-04-17T15:13:08.020478Z INFO webview: [Fluux] Room features: gram@rooms.slidge.im MAM=true reactions=true hats=false
2026-04-17T15:13:08.020839Z INFO webview: [Fluux] Joining room: gram@rooms.slidge.im
2026-04-17T15:13:08.025246Z INFO webview: [Fluux] MAM query: ...@nixnet.services, max=50, forward from 2023-10-15T19:16:20.614Z
2026-04-17T15:13:08.101779Z INFO webview: [Fluux] MUC service: muc.nixnet.services (MAM=true)
2026-04-17T15:13:08.123379Z INFO webview: [Fluux] Disco#items: 4 component(s) on nixnet.services
2026-04-17T15:13:08.141571Z INFO webview: [Fluux] MAM result: ...@nixnet.services → 0 msg(s), complete=true, 117ms
2026-04-17T15:13:08.146617Z INFO webview: [Fluux] Chat: MAM sync complete
2026-04-17T15:13:08.157540Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 10 occupants)
2026-04-17T15:13:08.596495Z INFO webview: [Fluux] HTTP Upload service: upload.nixnet.services (max 95MB)
2026-04-17T15:13:11.200136Z INFO webview: [Fluux] Room: switched to gram@rooms.slidge.im
2026-04-17T15:13:11.200586Z INFO webview: [Fluux] Room: switched to gram@rooms.slidge.im
2026-04-17T15:13:11.201037Z INFO webview: [Fluux] Room: starting MAM catch-up for gram@rooms.slidge.im
2026-04-17T15:13:11.437008Z INFO webview: [Fluux] Room MAM query: gram@rooms.slidge.im, max=100, forward from 2026-04-17T12:02:14.828Z
2026-04-17T15:13:11.588045Z INFO webview: [Fluux] Room MAM result: gram@rooms.slidge.im → 1 msg(s), complete=true, 151ms
2026-04-17T15:13:11.610418Z INFO webview: [Fluux] Room: MAM catch-up complete
2026-04-17T15:13:16.537790Z INFO webview: [PlatformState] Tauri system-will-sleep event received
2026-04-17T15:13:16.537947Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:13:16.598925Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:13:16.689425Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:13:16.743255Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:13:18.003583Z INFO webview: [Fluux] Background sync: room catch-up (delayed 10s)
2026-04-17T15:13:18.005110Z INFO webview: [Fluux] Background catch-up for 1 room(s)
2026-04-17T15:13:18.044539Z INFO webview: [Fluux] Room MAM query: gram@rooms.slidge.im, max=100, forward from 2026-04-17T14:53:53.031Z
2026-04-17T15:13:18.195301Z INFO webview: [Fluux] Room MAM result: gram@rooms.slidge.im → 1 msg(s), complete=true, 151ms
2026-04-17T15:13:18.222577Z INFO webview: [Fluux] Background catch-up for 1 room(s) — complete
2026-04-17T15:13:18.222772Z INFO webview: [Fluux] Background sync: member discovery for 1 rooms
2026-04-17T15:13:18.348412Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (owner): forbidden
2026-04-17T15:13:18.484389Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (admin): forbidden
2026-04-17T15:13:18.617790Z WARN webview: [Fluux] Member query failed for gram@rooms.slidge.im (member): forbidden
2026-04-17T15:13:19.852182Z INFO webview: [PlatformState] Tauri system-did-wake event received
2026-04-17T15:13:19.852631Z INFO webview: [PlatformState] System woke from sleep (OS notification, ~3s)
2026-04-17T15:13:19.852813Z INFO webview: [Fluux] System state: awake (sleep: 3s)
2026-04-17T15:13:19.982113Z INFO webview: [Fluux] Connection verified (128ms)
2026-04-17T15:13:20.104770Z INFO webview: [PlatformState] Tauri system-did-wake-deferred event received (delay=1s)
2026-04-17T15:13:24.319110Z INFO webview: [PlatformState] Tauri system-will-sleep event received
2026-04-17T15:13:24.327365Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:13:24.481754Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:13:30.778241Z INFO webview: [PlatformState] Tauri system-did-wake event received
2026-04-17T15:13:30.778412Z INFO webview: [PlatformState] System woke from sleep (OS notification, ~6s)
2026-04-17T15:13:30.778581Z INFO webview: [Fluux] System state: awake (sleep: 6s)
2026-04-17T15:13:30.783153Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:13:30.936437Z INFO webview: [Fluux] Connection verified (152ms)
2026-04-17T15:13:30.936604Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:13:32.905028Z INFO webview: [PlatformState] Tauri system-did-wake-deferred event received (delay=2s)
2026-04-17T15:13:32.905254Z INFO webview: [PlatformState] System woke from sleep (deferred 2s)
2026-04-17T15:13:32.905382Z INFO webview: [Fluux] System state: awake
2026-04-17T15:13:33.024981Z INFO webview: [Fluux] Connection verified (118ms)
2026-04-17T15:25:55.622284Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:25:56.220224Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:30:45.467197Z INFO webview: [PlatformState] Tauri system-will-sleep event received
2026-04-17T15:30:45.469228Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:30:45.640821Z INFO webview: [Fluux] Room joined: gram@rooms.slidge.im (none/participant, 1 occupants)
2026-04-17T15:45:43.072123Z INFO webview: [PlatformState] Detected wake from sleep (305s gap)
2026-04-17T15:45:43.076820Z INFO webview: [Fluux] System state: awake (sleep: 305s)
2026-04-17T15:45:43.089822Z INFO webview: [Fluux] Sent presence update to 1 joined room(s)
2026-04-17T15:45:43.296748Z INFO webview: [Fluux] Stream error: websocket econnerror wss://xmpp.nixnet.services/ws
2026-04-17T15:45:43.297951Z WARN webview: [Fluux] Stream transport error detected, initiating dead-socket recovery
2026-04-17T15:45:43.298698Z WARN webview: [Fluux] Dead connection detected, will reconnect
2026-04-17T15:45:43.302878Z INFO webview: [Fluux] Reconnecting (attempt 1, delay 1s)
2026-04-17T15:45:43.303356Z INFO webview: [Fluux] cleanupClient: stopping old client
2026-04-17T15:45:43.303734Z INFO webview: [Fluux] cleanupClient: old client cleaned up (forceful)
2026-04-17T15:45:43.304280Z INFO webview: [Fluux] attemptReconnect: starting
2026-04-17T15:45:43.304413Z INFO webview: [Fluux] Connection handshake error: WebSocket ECONNERROR wss://xmpp.nixnet.services/ws (resolved=true)
2026-04-17T15:45:43.354612Z INFO webview: [Fluux] attemptReconnect: waiting 1722ms for network to settle after wake
2026-04-17T15:45:45.268559Z INFO webview: [Fluux] cleanupClient: no client to clean
2026-04-17T15:45:45.269626Z INFO webview: [Fluux] attemptReconnect: old client cleaned up
2026-04-17T15:45:45.276393Z INFO webview: [Fluux] attemptReconnect: new client created, calling start() (wss://xmpp.nixnet.services/ws)
2026-04-17T15:45:45.953380Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T15:45:45.955528Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T15:46:13.077250Z INFO webview: [Fluux] keepalive: client replaced during await, ignoring stale result
2026-04-17T15:46:13.077551Z INFO webview: [Fluux] verify: client replaced during await, ignoring stale result
2026-04-17T15:46:13.077717Z ERROR webview: [Fluux] SASL timeout after 15000ms
2026-04-17T15:46:13.078182Z INFO webview: [Fluux] Stream error: sasl authentication timed out
2026-04-17T15:46:13.078377Z INFO webview: [Fluux] Connection handshake error: SASL authentication timed out (resolved=false)
2026-04-17T15:46:13.078680Z INFO webview: [Fluux] cleanupClient: stopping old client
2026-04-17T15:46:13.078826Z INFO webview: [Fluux] cleanupClient: old client cleaned up (forceful)
2026-04-17T15:46:13.079034Z ERROR webview: [Fluux] Reconnect failed: SASL authentication timed out
2026-04-17T15:46:13.080550Z INFO webview: [Fluux] Reconnecting (attempt 2, delay 2s)
2026-04-17T15:46:13.080726Z INFO webview: [Fluux] Connection start() rejected: SASL authentication timed out (resolved=true)
2026-04-17T15:46:15.267691Z INFO webview: [Fluux] attemptReconnect: starting
2026-04-17T15:46:15.489213Z INFO webview: [Fluux] cleanupClient: no client to clean
2026-04-17T15:46:15.491483Z INFO webview: [Fluux] attemptReconnect: old client cleaned up
2026-04-17T15:46:15.494001Z INFO webview: [Fluux] attemptReconnect: new client created, calling start() (wss://xmpp.nixnet.services/ws)
2026-04-17T15:46:16.165331Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T15:46:16.167399Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T15:50:58.987434Z INFO webview: [PlatformState] Detected wake from sleep (286s gap)
2026-04-17T15:50:58.988091Z INFO webview: [Fluux] System state: awake (sleep: 286s)
2026-04-17T15:50:58.988388Z INFO webview: [Fluux] cleanupClient: stopping old client
2026-04-17T15:50:58.988693Z INFO webview: [Fluux] cleanupClient: old client cleaned up (forceful)
2026-04-17T15:50:58.990592Z INFO webview: [Fluux] Reconnecting (attempt 0, delay 0s)
2026-04-17T15:50:59.032144Z ERROR webview: [Fluux] SASL timeout after 15000ms
2026-04-17T15:50:59.034093Z INFO webview: [Fluux] attemptReconnect: starting
2026-04-17T15:50:59.056290Z INFO webview: [Fluux] attemptReconnect: waiting 1932ms for network to settle after wake
2026-04-17T15:51:01.060069Z INFO webview: [Fluux] cleanupClient: no client to clean
2026-04-17T15:51:01.062355Z INFO webview: [Fluux] attemptReconnect: old client cleaned up
2026-04-17T15:51:01.068211Z INFO webview: [Fluux] attemptReconnect: new client created, calling start() (wss://xmpp.nixnet.services/ws)
2026-04-17T15:51:01.583974Z INFO webview: [Fluux] Reconnect timeout fired late (286s elapsed, expected 30s) — system likely slept through it
2026-04-17T15:51:01.585198Z INFO webview: [Fluux] Stale reconnect timeout fired for superseded client, skipping cleanup
2026-04-17T15:51:01.586818Z INFO webview: [Fluux] Stale attemptReconnect catch (client replaced): Reconnect attempt superseded
2026-04-17T15:51:01.708981Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T15:51:01.712932Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T15:51:28.995026Z ERROR webview: [Fluux] SASL timeout after 15000ms
2026-04-17T15:51:28.995423Z INFO webview: [Fluux] Stream error: sasl authentication timed out
2026-04-17T15:51:28.995663Z INFO webview: [Fluux] Connection handshake error: SASL authentication timed out (resolved=false)
2026-04-17T15:51:28.995895Z INFO webview: [Fluux] cleanupClient: stopping old client
2026-04-17T15:51:28.996105Z INFO webview: [Fluux] cleanupClient: old client cleaned up (forceful)
2026-04-17T15:51:28.996331Z ERROR webview: [Fluux] Reconnect failed: SASL authentication timed out
2026-04-17T15:51:28.998135Z INFO webview: [Fluux] Reconnecting (attempt 1, delay 1s)
2026-04-17T15:51:28.998393Z INFO webview: [Fluux] Connection start() rejected: SASL authentication timed out (resolved=true)
2026-04-17T15:51:30.004797Z INFO webview: [Fluux] attemptReconnect: starting
2026-04-17T15:51:30.040370Z INFO webview: [Fluux] cleanupClient: no client to clean
2026-04-17T15:51:30.040574Z INFO webview: [Fluux] attemptReconnect: old client cleaned up
2026-04-17T15:51:30.040706Z INFO webview: [Fluux] attemptReconnect: new client created, calling start() (wss://xmpp.nixnet.services/ws)
2026-04-17T15:51:30.573396Z INFO webview: [Fluux] FAST module not present on this connection
2026-04-17T15:51:30.575736Z INFO webview: [Fluux] Auth: password (SASL: SCRAM-SHA-1, offered: SCRAM-SHA-1, PLAIN)
2026-04-17T15:51:31.852470Z INFO webview: [Fluux] SASL complete (1274ms)
What happened?
After some time, I return to Fluux and the page is totally blank.
Steps to reproduce
Expected behavior
The UI is still and functional visible.
Fluux Messenger version
Version 0.15.1 (54a0d8a)
Platform
macOS
Installation type
.dmg (macOS)
Screenshots or logs
Additional context
Here are the app logs for this happening twice. There's effectively no other traffic; no messages in MUCs, no direct messages, no commands or extra join/leave.
Logs