Skip to content

Windows Desktop: Project Timeline shows no history despite existing threads (path identity mismatch with OneDrive/GoodSync/junction/\\?\ prefix) #18253

Open

Description

@Janzstone

What version of the Codex App are you using (From “About Codex” dialog)?

26.415.20818

What subscription do you have?

Pro

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Project Timeline in Codex Desktop shows no history, even though thread/session history exists on disk.

What steps can reproduce the bug?

  1. Use Codex Desktop on Windows with workspace under OneDrive-backed path.
  2. Open project via C:\Users\jacob\GoodSync\repos\net_80_migration (junction form).
  3. After restarts/path normalization attempts, Timeline becomes empty.
  4. Data still exists:
    • ~/.codex/sessions/**/rollout-*.jsonl contains session_meta entries.
    • ~/.codex/state_5.sqlite contains threads rows.

What is the expected behavior?

Timeline should show existing thread history for the project regardless of equivalent Windows path forms.

Additional information

What do you see instead?

Timeline is empty. Internally, path identity drifts across:

  • C:\Users\jacob\GoodSync\...
  • C:\Users\jacob\OneDrive\GoodSync\...
  • \\?\C:\Users\jacob\OneDrive\GoodSync\...

Additional information

Evidence from local inspection before restore:

  • session_meta_entries: 32
  • threads_total: 32
  • session_meta cwd mostly C:\Users\jacob\GoodSync\repos\...
  • DB threads.cwd mostly \\?\C:\Users\jacob\OneDrive\GoodSync\repos\...
  • C:\Users\jacob\GoodSync is a junction targetting C:\Users\jacob\OneDrive\GoodSync

This looks like a Windows path canonicalization/path-equivalence bug in project timeline matching.

Activity

  1. added
    appIssues related to the Codex desktop app
    on Apr 17, 2026
  2. added
    bugSomething isn't working
    windows-osIssues related to Codex on Windows systems
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on Apr 17, 2026
  3. Janzstone commented on Apr 17, 2026

    @Janzstone
    Author

    Post-launch evidence from the latest desktop bundle still points to a thread-listing/state-db problem.

    Environment:

    • Latest launched desktop bundle identified itself in logs as Codex Desktop 26.415.20818.
    • Evidence collected on April 16, 2026 between 11:20 PM and 11:23 PM America/Toronto, immediately after relaunch.

    What I observed after launch:

    • The app successfully handled thread/start, thread/resume, and repeated thread/list requests.
    • Local state was not empty:
      • threads table count: 35
      • session_index.jsonl entries: 35
      • non-archived threads: 35
    • A brand-new thread created after relaunch was persisted, which shows the app can still write fresh state.

    What still fails:

    • During thread/list, the app repeatedly logged:
      • state db discrepancy during read_repair_rollout_path: upsert_needed (fast path)
      • state db read-repair upsert failed ... error returned from database: (code: 779) database disk image is malformed
      • state db reconcile_rollout upsert failed ... error returned from database: (code: 779) database disk image is malformed
    • Those warnings were emitted multiple times after launch, not just once during an old migration.

    Why this seems important:

    • The on-disk inventory is present and populated, but the bundle is still attempting read-repair during thread/list and hitting a malformed-database error.
    • That suggests the missing-thread symptom is not simply “no thread records exist”; it looks more like the thread-list/read-repair path is being derailed by a corrupted row/index/page in the state DB.
    • The persisted repo associations also still show mixed identities for repos whose final directory begins with ne…, which may be part of why read-repair keeps running, but the stronger signal is the repeated SQLite corruption error during thread/list.

    Files checked locally:

    • state_5.sqlite
    • session_index.jsonl
    • logs_2.sqlite

    If helpful, I can next provide a minimal repro-oriented dump of just:

    • the count of affected thread/list warnings after launch
    • the exact SQLite error frequency
    • whether deleting/rebuilding only the thread-list derived state avoids the malformed-database path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    appIssues related to the Codex desktop appbugSomething isn't workingsessionIssues involving session (thread) management, resuming, forking, naming, archivingwindows-osIssues related to Codex on Windows systems

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions