Skip to content

Codex Desktop recents timestamp appears to use thread creation time instead of last active time #21960

Open

Description

@TyronSamaroo

Summary

Codex Desktop appears to show a stale relative timestamp for an active/resumed thread. The visible recents/corner timestamp can read like the session was last run several days ago even while the thread is actively being used.

Observed behavior

  • A Codex Desktop thread created several days earlier was resumed and actively used today.
  • The local session storage for the thread was modified/accessed today.
  • The UI still displayed a relative timestamp such as 3 days ago, which appears to match the thread creation age rather than last activity.

Expected behavior

The visible recents/corner timestamp should represent the thread's last active / last run time, not the original creation time.

If creation time is useful, it should be shown separately from activity time.

Possible fix

Use a last-activity field for the visible timestamp, for example:

displayAge = timeAgo(thread.lastActiveAt ?? thread.updatedAt ?? thread.createdAt)

Suggested UI wording:

  • Created: <date>
  • Last active: <relative time>

Why this matters

When a resumed thread is actively being used but still says something like 3 days ago, it makes the session look stale or inactive even though work is happening in it.

Activity

  1. added
    bugSomething isn't working
    appIssues related to the Codex desktop app
    sessionIssues involving session (thread) management, resuming, forking, naming, archiving
    on May 9, 2026
  2. github-actions commented on May 9, 2026

    @github-actions
    Contributor

    Potential duplicates detected. Please review them and close your issue if it is a duplicate.

    Powered by Codex Action

  3. 100yenadmin commented on Jun 18, 2026

    @100yenadmin

    This older Desktop recents symptom looks related to a concrete thread/read metadata bug that was reproduced on current main: when thread/read includeTurns=false replaces the SQLite-backed thread row with a rollout-derived preview, it can lose SQLite updated_at and fall back to rollout creation/summary metadata.

    Patch branch: https://github.com/openai/codex/compare/main...100yenadmin:codex/thread-read-updated-at?expand=1
    Tracked in: #28870

    The patch preserves SQLite authoritative updated_at/recency_at/archived_at during no-history preview merging and uses rollout file mtime as the direct-rollout fallback when no summary updated_at exists. I could not open an upstream PR directly because GitHub returned GraphQL: 100yenadmin does not have the correct permissions to execute CreatePullRequest, but the compare branch is published.

  4. 100yenadmin commented on Jun 18, 2026

    @100yenadmin
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, archiving

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions