Skip to content

feat(cli): email recall on login + file store fix (#39)#40

Merged
George-iam merged 1 commit intomainfrom
feat/email-recall-and-file-store-20260314
Mar 15, 2026
Merged

feat(cli): email recall on login + file store fix (#39)#40
George-iam merged 1 commit intomainfrom
feat/email-recall-and-file-store-20260314

Conversation

@George-iam
Copy link
Contributor

Summary

Email recall:

  • axme login now shows Email [geobelsky@gmail.com]: — press Enter to reuse last email
  • Saves last_login_email to config.json after successful login

Session expiry root cause:

  • CLI auto-detects keyring (D-Bus org.freedesktop.secrets) → uses it for token storage
  • In SSH/headless environments, keyring data is lost when D-Bus session reconnects
  • Tokens silently disappear → "token expired" after hours
  • Fix: export AXME_CLI_SECRET_STORAGE=file in ~/.bashrc forces reliable file-based storage

Test plan

  • axme login — shows email suggestion, Enter accepts it
  • axme whoami — session active after login
  • Wait 2+ hours → axme whoami — still active (file store persists)

🤖 Generated with Claude Code

- Add LastLoginEmail field to appConfig (persisted in config.json)
- promptEmail() shows "Email [last@email.com]:" — press Enter to reuse
- Save email to config after successful login
- saveConfig() preserves LastLoginEmail in sanitized output

Also documents the root cause of premature session expiry:
keyring auto-detect succeeds in SSH environments (D-Bus available)
but keyring data is lost on session reconnect. Fix: set
AXME_CLI_SECRET_STORAGE=file in ~/.bashrc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@George-iam George-iam merged commit 6e72a16 into main Mar 15, 2026
1 check passed
@George-iam George-iam deleted the feat/email-recall-and-file-store-20260314 branch March 15, 2026 08:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant