fix: CLI sessions that end, and items that reach lists #143
No reviewers
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app!143
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/cli-defects"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #114, #118, #119. PR 5 of the #137 stack, based on #142. Two commits, one per concern.
#114 — a logout that ends the session, plus session commands
The CLI could mint sessions it could never end.
loginnow opts into a device chain (remember_devicewith acli:<hostname>label) and stores the refresh token beside the access token;logoutpresents it toUserService/Logout, revoking the chain — which orphans the sid-bound access token instantly (ADR-0033). An install carrying only an old chainless token still logs out locally, with a note that the server side expires on its own. Newsession list(one row per chain, current chain marked — the web sessions card's view) andsession revoke <chain-uid>. Newpkg/clientwrappers:LoginDevice,Logout,ListSessions,RevokeSession.#118 + #119 — item fixes
item update --complete/--incompleteno longer sends an empty auditedUpdatebeforeCompleteItem— a pure flip is now one mutation in the trail, and a flaglessitem updateerrors instead of round-tripping a no-op.item creategains--list, and the newitem set-list <uid> [list-uid]moves an item onto a list or (with no list uid) back out as a standalone job — the web's convert door, and theSetListclient wrapper's first caller.Live-verified against the deployed cluster: login stores both tokens (0600),
session listrenders the chain table with the CLI chain marked current,session revokekills another chain,item create --list/set-listround-trip, a completion flip leaves exactly one audited UPDATE, and afterlogoutthe old access token gets 401 on its next request. Verify data cleaned up.🤖 Generated with Claude Code
Test report
Coverage: 28.0%
Updated by the check workflow · commit
f53b101082