Menu ▾ ▴

#356 Log out, and log out and reset, from the app menu

closed
nobody
7 days ago
2026-11-07
Anonymous
No

Originally created by: kristofferR

Problem

There is no direct way to log out of Facebook in Carrier. Facebook's own account menu is hidden with the rest of its chrome, and Clear Cache & Restart is not a sign-out. fMess has a native account menu with Log Out, and apotenza92/facebook-messenger-desktop has "Log out and reset app".

Design

  • Log Out in the app menu (and the tray menu): run Facebook's own logout so the server session ends, then return to the login page.
  • Log Out and Reset Carrier…: after confirmation, log out, clear the webview data store (cookies, local storage, IndexedDB, cache) and Carrier's page-derived state (notification ledger, avatar cache, recent threads), keep settings.json, and restart.
  • If Facebook's logout fails (offline), still clear local data and say so.

Testing

  • Log Out returns to the login page and survives a restart (still logged out).
  • Reset leaves Carrier's settings intact but no trace of the old account (recent-threads menu empty, no cached avatars).
  • Logging back in works, including with 2FA.

Part of [#349].

Related

Tickets: #349
Tickets: #413
Tickets: #415
Tickets: #418

Discussion

  • Anonymous

    Anonymous - 7 days ago

    Originally posted by: kristofferR

    [!NOTE]
    🤖 Claude Opus 5.5 responding on behalf of Kristoffer

    Landed in [#413] on main (6595811); it ships in the next release.

    The app menu (File on Windows and Linux, the Carrier menu on macOS) and the tray have Log Out and Log Out and Reset Carrier…. Log Out runs Facebook's own logout, so the session ends on Facebook's side, then shows the login page and clears the recent-conversation menus and unread badges. Reset asks first, logs out, deletes the webview data store and what Carrier keeps for the account (notification ledger, scheduled messages, cached avatars, delivered notifications), keeps settings.json and restarts. If Facebook can't be reached it still resets and says so.

    What was live-tested on Linux with a test account: Log Out ended the session, showed the login page, and stayed logged out after a restart. Reset was run only from the logged-out state: the confirmation appeared, settings.json was kept byte-identical, cookies, ledger and scheduled messages were removed, and Carrier restarted cleanly. Not live-tested: the full Reset while logged in, and logging back in after a reset. The macOS and Windows paths are only cross-compiled (clippy clean).

     

    Related

    Tickets: #413

  • Anonymous

    Anonymous - 7 days ago

    Ticket changed by: kristofferR

    • status: open --> closed
     

Log in to post a comment.