-
Notifications
You must be signed in to change notification settings - Fork 1
feat(sync): add manual rollback #114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
47c2d0a
541ef0a
1d7ed86
bf80247
37bdb34
8a76984
c52e84f
8a51928
587117d
4655386
638349e
7a867a4
a9a0fb9
e80f021
687ca03
f2c3a5b
c61f8bf
ddca70d
137bed5
5103a94
1ba1f68
29659e0
4ad0133
a048cb2
34a3fd3
d169dca
f1a21b0
34c483c
89922ec
b39a5a3
432ab73
dedece6
93a6463
641ec1f
c5c84a8
10d4617
6f12f45
595870f
f3962fc
bb43cc2
cc002c2
20aff55
48c9ba7
78587d4
7c3a21d
d853ad8
4bd4949
355ac29
bfd4ea0
c5de884
4f60292
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,6 +9,8 @@ User-facing capability map for `codex-multi-auth`. | |
| | Capability | What it gives you | Primary entry | | ||
| | --- | --- | --- | | ||
| | Multi-account dashboard login | Add and manage multiple OAuth identities from one terminal flow | `codex auth login` | | ||
| | Startup recovery prompt | Offer restore before OAuth when recoverable named backups are found and no active accounts exist | `codex auth login` | | ||
| | Backup restore manager | Review named backups, merge with dedupe, and skip invalid or over-limit restores | `codex auth login` -> `Restore From Backup` | | ||
| | Account dedupe and identity normalization | Avoid duplicate saved account rows | login flow | | ||
| | Explicit active-account switching | Pick the current account by index instead of relying on hidden state | `codex auth switch <index>` | | ||
| | Fast and deep health checks | See whether the current pool is usable before a coding session | `codex auth check` | | ||
|
|
@@ -32,6 +34,7 @@ User-facing capability map for `codex-multi-auth`. | |
| | --- | --- | --- | | ||
| | Safe repair workflow | Detects and repairs known local storage inconsistencies | `codex auth fix` | | ||
| | Diagnostics with optional repair | One command to inspect and optionally fix common failures | `codex auth doctor` | | ||
| | JSON diagnostics pack | Machine-readable state for support, bug reports, and deeper inspection | `codex auth report --live --json` | | ||
| | Backup and WAL recovery | Safer persistence when local writes are interrupted or partially applied | storage runtime | | ||
|
|
||
| --- | ||
|
|
@@ -53,6 +56,8 @@ User-facing capability map for `codex-multi-auth`. | |
| | --- | --- | | ||
| | Quick switch and search hotkeys | Faster navigation in the dashboard | | ||
| | Account action hotkeys | Per-account set, refresh, toggle, and delete shortcuts | | ||
| | Productized settings split | Keeps `Everyday Settings` separate from `Advanced & Operator` controls | | ||
| | Preview-first sync center | Shows one-way Codex CLI sync results and rollback context before apply | | ||
|
Comment on lines
+59
to
+60
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. call out rollback as an operator action here.
As per coding guidelines, "docs/**: keep README, SECURITY, and docs consistent with actual CLI flags and workflows. whenever behavior changes, require updated upgrade notes and mention new npm scripts." 🤖 Prompt for AI Agents |
||
| | In-dashboard settings hub | Runtime and display tuning without editing files directly | | ||
| | Browser-first OAuth with manual fallback | Works in normal and constrained terminal environments | | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,6 +1,6 @@ | ||||||||||||||||||||||
| # Settings Reference | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Reference for dashboard and backend settings available from `codex auth login` -> `Settings`. | ||||||||||||||||||||||
| Reference for the settings surface available from `codex auth login` -> `Settings`. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| --- | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -19,7 +19,11 @@ When `CODEX_MULTI_AUTH_DIR` is set, this root moves accordingly. | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| --- | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Account List View | ||||||||||||||||||||||
| ## Everyday Settings | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| The shipped settings menu starts with `Everyday Settings` and keeps the stable dashboard path separate from advanced operator controls. This is the default path for most users. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### List Appearance | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Controls account-row display and sorting behavior: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -37,7 +41,7 @@ Controls account-row display and sorting behavior: | |||||||||||||||||||||
| - `menuSortQuickSwitchVisibleRow` | ||||||||||||||||||||||
| - `menuLayoutMode` | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Summary Line | ||||||||||||||||||||||
| ### Details Line | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Controls detail-line fields and order: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -46,7 +50,7 @@ Controls detail-line fields and order: | |||||||||||||||||||||
| - `limits` | ||||||||||||||||||||||
| - `status` | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Menu Behavior | ||||||||||||||||||||||
| ### Results & Refresh | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Controls result-screen and fetch behavior: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -56,7 +60,7 @@ Controls result-screen and fetch behavior: | |||||||||||||||||||||
| - `menuShowFetchStatus` | ||||||||||||||||||||||
| - `menuQuotaTtlMs` | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Color Theme | ||||||||||||||||||||||
| ### Colors | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Controls display style: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -66,7 +70,38 @@ Controls display style: | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| --- | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Experimental | ||||||||||||||||||||||
| ## Advanced and Operator Controls | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| The second top-level section is `Advanced & Operator`. It holds the sync workflow and backend tuning that are useful when you need to inspect or change lower-level behavior. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Codex CLI Sync | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| `Codex CLI Sync` is a preview-first sync center for Codex CLI account sync. | ||||||||||||||||||||||
| See [upgrade notes](../upgrade.md) for sync workflow changes. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Before applying sync, it shows: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - target path | ||||||||||||||||||||||
| - current source path when available | ||||||||||||||||||||||
| - last sync result for this session | ||||||||||||||||||||||
| - preview summary (adds, updates, destination-only preserved accounts) | ||||||||||||||||||||||
| - destination-only preservation behavior | ||||||||||||||||||||||
| - backup and rollback context (`.bak`, `.bak.1`, `.bak.2`, `.wal`) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Workflow notes: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - refresh recomputes the read-only preview from Codex CLI source files | ||||||||||||||||||||||
| - apply writes the preview result into the target path | ||||||||||||||||||||||
| - sync is one-way, it is not a bidirectional merge | ||||||||||||||||||||||
| - target-only accounts are preserved rather than deleted | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Validation: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - `npm run typecheck` | ||||||||||||||||||||||
| - `npm run build` | ||||||||||||||||||||||
| - `npm test` | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
Comment on lines
+98
to
+103
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial validation section includes dev commands rather than user-facing validation. the validation subsection at lines 98-103 references consider moving these to a contributor guide or replacing with user-facing commands: 📝 suggested fix-Validation:
-
-- `npm run typecheck`
-- `npm run build`
-- `npm test`
+Validation:
+
+- `codex auth status`
+- `codex auth check`📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||
| ### Experimental | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| Experimental currently hosts: | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -88,7 +123,11 @@ Named backup behavior: | |||||||||||||||||||||
| - rejects separators, traversal (`..`), `.rotate.`, `.tmp`, and `.wal` suffixes | ||||||||||||||||||||||
| - fails safely on collisions instead of overwriting by default | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Backend Controls | ||||||||||||||||||||||
| ### Advanced Backend Controls | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| `Advanced Backend Controls` stay available without changing the saved settings schema. They are grouped into categories so the everyday path can stay simpler for day-to-day use. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Backend Categories | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Session & Sync | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
|
|
@@ -178,6 +217,7 @@ For most environments: | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| - smart sort enabled | ||||||||||||||||||||||
| - auto-fetch limits enabled | ||||||||||||||||||||||
| - storage backups enabled when you want rollback context for sync and recovery flows | ||||||||||||||||||||||
| - live sync enabled | ||||||||||||||||||||||
| - session affinity enabled | ||||||||||||||||||||||
| - preemptive quota deferral enabled | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
document the rollback flow in the portal index.
docs/README.md:20-26anddocs/README.md:43-44widen the restore/sync wording, but they still do not mention the new manual rollback workflow from this pr. that leaves the docs landing page out of sync with the changed cli surface and gives users no obvious path to the rollback docs or upgrade notes. please add rollback wording here and point to the matching reference/upgrade pages.as per coding guidelines, "docs/**: keep README, SECURITY, and docs consistent with actual CLI flags and workflows. whenever behavior changes, require updated upgrade notes and mention new npm scripts."
Also applies to: 43-44
🤖 Prompt for AI Agents