Multiple sidebar bugs after workspace directory migration: "56 years ago" timestamps, missing threads, threads vanish on click (macOS)

Open 💬 1 comment Opened Apr 10, 2026 by jjhuang2023

After migrating my workspace from a path containing Chinese characters to an all-English path, the Codex Desktop app exhibits three persistent bugs. The underlying data in state_5.sqlite is fully intact and correct — these are rendering/UI layer issues.

Platform: macOS Darwin 25.4.0 arm64, CLI 0.117.0-alpha.12

Bug 1: All threads display "56 年" (56 years ago) timestamp after restart

After app restart, ALL threads — including newly created ones — show "56 年" (56 years ago) as the relative timestamp. New threads display the correct time at creation, but revert to "56 年" after restart.

This is a Unix epoch (1970) display: 2026 − 1970 = 56 years.

The data is correctstate_5.sqlite timestamps are valid millisecond integers (e.g. 1775804549416 = 2026-04-10), and session_index.jsonl has correct ISO8601 timestamps. The bug is in the app's time rendering on restart.

Bug 2: Some workspaces show "无线程" (no threads) despite having data

The sidebar shows "无线程" for several workspaces, but sqlite has many threads for those exact CWDs:

| Workspace | Threads in sqlite (archived=0) | Sidebar shows |
|-----------|-------------------------------|---------------|
| bilibili-video-analysis | 14 | 无线程 |
| health | 2 | 无线程 |
| drafts | 30 | Only 2 visible |
| work-management | 34 | Partial |

This appears to be the same truncation/pagination bug reported in #14370.

Bug 3: Threads disappear when clicked

Clicking on a thread in the sidebar causes it to vanish from the list. The thread data still exists in sqlite but is no longer rendered.

Additional: codex app-server continuously modifies sqlite

The codex app-server process (running via Cursor extension) continuously un-archives child threads that have been archived, undoing manual state corrections. It un-archives ~51 child threads within seconds.

Steps to reproduce

  1. Have a workspace with ~247 threads across multiple workspace roots
  2. Restart Codex Desktop app
  3. Observe: all timestamps show "56 年" instead of actual relative time
  4. Observe: some workspace folders show "无线程" despite having threads in sqlite
  5. Click on any thread → it may disappear from the sidebar

Expected behavior

  1. Timestamps should display correct relative time (e.g. "3 days ago")
  2. All workspace folders should list their threads matching sqlite data
  3. Clicking a thread should open it, not hide it

Environment details

  • 247 total threads in state_5.sqlite
  • 141 thread_spawn_edges (parent-child relationships intact)
  • All 247 rollout_path entries point to existing files on disk
  • All timestamps in DB are valid millisecond Unix timestamps
  • WAL has been checkpointed (WAL file is 0 bytes)

Related issues

  • #14370 — very similar sidebar truncation behavior (threads hidden despite existing in sqlite)
  • #16599 — thread history loss after restart, related WAL/persistence issue
  • #16989 — PR "Durably flush shutdown state" — partial fix that doesn't fully resolve these

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗