Skip to content

N3: Mobile Search retained Computer messages and restore result context #2196

Open

Description

@DoodleBears

Parent

#2193

What to build

Add the Search destination with one complete Computer path: query the retained local conversation/message cache, open the exact matching message and return to the same results. Search only inherits Chats scope; no environment picker or independent global search.

Acceptance criteria

  • Search joins Chats/Activity in the navigation island and hides +; current Computer/All scope is inherited from Chats, with no environment picker.
  • Conversation-name and retained-message matches appear as separate sections; messages show sender/excerpt/time/channel/source and explain incomplete local coverage.
  • A scoped catalogue enumerates only currently connected/authorized Computer cache namespaces; duplicate slugs/IDs in fixtures cannot leak content. No remote history search or query-triggered bulk download.
  • Unpair/refusal/source replacement removes corresponding results and prevents late results from reviving detached content.
  • Click a Computer message result and highlight its exact source-bound message. If evicted, explicitly report missing local content and offer online recovery without silently jumping to the latest message.
  • Return restores query/scope/scroll; new entry from Chats/Activity starts fresh. No durable recent-query history.
  • In intermediate Cloud scopes, show clearly unsupported local message search until N4; All discloses that coverage rather than pretending no Cloud matches exist.
  • An assigned native UAT journey downloads a known message, searches it offline, opens/highlights it, returns, evicts/revokes the fixture and observes correct recovery/refusal. Keyboard and large text remain operable.
  • Regressions exercise search through the public search/controller boundary and source-cache fixtures, not implementation-shaped snapshots.

Blocked by

Delivery and testing boundary

Planning only; do not implement until the Human authorizes this slice. Milestone v2.0; Open Cloud Groups Project. One issue = one implementation PR. UAT only; no Prod/merge authorization. Use existing source owners/public API and CLI readback for business facts, focused behavioral regressions and exact-head native evidence. Reserve the shared device lane; report iOS/Android/physical/Human and large-text/keyboard/accessibility results separately. Preserve unrelated work. Do not infer native success from source tests.

Activity

  1. added this to the v2.0 milestone on Oct 18, 2026
  2. added
    area:ui-uxInteraction and visual experience; may accompany a code-layer area
    scope:tracerHuman-testable implementation slice
    on Oct 18, 2026
  3. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9 (not a DSH Session)
    • Issue scope: retained Computer search → exact source-bound message → return to query/context; no remote search or Cloud search.
    • Branch: codex/2196-local-search
    • Started: 2026-10-18 21:20 UTC
    • State: active
    • Human authorized this slice after feat(mobile): contextual bottom creation menu #2211 review/merge. UAT only, shared-device queue, one issue/PR; do not merge the new PR.
  4. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
  5. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    Agent-Handoff: codex/local/01a148ae-ec7f-74b2-8157-961411ce54c9

    State: handed-off. Implementation and the allocated native path are complete; the review gates below remain open.

    Draft PR #2255 implements this Computer-only retained-search slice. Runtime source 990fed93ebf693b6de4e4bb4d38336508b02179c; 58 focused tests, local typecheck and CI39168992325 passed. Standards/Spec source review findings were fixed and re-reviewed.

    Batch46 native evidence records search/grouping, exact highlight, return state, offline restart, missing-cache explicit recovery and device-revocation clearing. Shared lane restored/released; no Prod. Evidence-only head 46e15175a82fcab29b390d3104e3344f276746e5 passed CI39171063022; screenshots do not change the runtime source.

    Review gates remain: maximum-text navigation word wrapping, offline roster-name fallback, native All/multiple Computer/Cloud-only scope, Android/phone/VoiceOver/Reduce Transparency/Human acceptance. No claim that source tests prove those native cases. Cloud retained-message search stays in its separate slice. Keep this issue open and PR Draft; no merge authorized for this successor.

    PR screenshot markup read back with bare SHA-pinned raw URLs and 200 image/png; the in-app browser is disabled in Work settings, so a fresh GitHub-page rendering check could not be completed. Local images and sampled recording frames were inspected. Private credentials, app backups and failure logs remain machine-local; no dependency overlays or private state committed.

  6. added
    feature:channelChannel chat, timeline, composer, and navigation
    and removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
  7. DoodleBears commented on Oct 29, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim — continue PR #2255 against current main

    Task: codex/local/01a1877d-c8fa-78e0-aa3f-d0af1007be34. Human requested continuing PR #2255. Prior task's handoff and native evidence reviewed; no active overlapping claim found. Starting remote head 46e15175a82fcab29b390d3104e3344f276746e5; latest main includes #3179/#3185/#3186. Scope: integrate latest main while preserving both retained-search identity/cancellation behavior and current navigation/cache/conversation lifecycle; repair confirmed compatibility failures; focused source checks and fresh supported runtime evidence. No remote/global/Cloud message search or duplicate feature implementation. Old CI/native results do not qualify the integrated source. Use an isolated worktree, preserve dirty main and other sessions, and reserve the shared lane before any native runtime. Existing PR remains the delivery vehicle; previous unrun platform checks remain unclaimed. The prior iOS physical-device waiver was for #3186 only and is not silently applied to this PR.

  8. DoodleBears commented on Oct 29, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome

    • Agent: Codex
    • Task: codex/local/01a1877d-c8fa-78e0-aa3f-d0af1007be34 (not a DSH Session)
    • State: handed-off — requested Chats UI follow-up and Windows delivery completed; original Draft/native-Human acceptance gate preserved.
    • Branch/PR: codex/2196-local-search, PR #2255, final head 138ca1306bad234f6bf5a86d8a10682ffcdfd204; production source 28c7667083f6.
    • Scope: integrated current main without reimplementing its existing online index search; retained source/identity fencing and current conversation lifecycle; removed the extra Search route/tab; unified names/messages in Chats top search; removed coverage/unavailable-feature hints; centered native no-results;150ms online/local query debounce and cancellation.
    • PASS:121 focused tests,3 Android native tests, all applicable CI checks,12 Android English/Chinese x light/dark x font1/1.3/2 offline runs, exact visible highlight and tested Back state, source/cache isolation, revocation and disposable-group deletion invalidation. Final offline timeline/read-position comparison unchanged.
    • UNTESTED: current iOS native UI/accessibility/Human acceptance; fresh nonzero M3 search-return scrolling and current native cache-eviction/recovery. Prior native evidence retains its own source and is not relabeled as current-head acceptance.
    • Restoration: original six pairings exact-matched and preserved; only two QA pairings removed; follow-system language/font1/night-no/original workspace restored; signature-matched data-preserving updates only; task Hosts/Metro/reverses stopped and lease released, Human Host excluded. Private evidence/Profiles retained locally, no serials/credentials published.
    • Full redacted results, captures, video and provenance. Original Mac implementation and Batch46 artifacts preserved.

    This task claim; original feature claim and Draft/UAT instruction remain in the history. Existing ready-for-human state is retained; no agent:active label was present at handoff.

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

    area:ui-uxInteraction and visual experience; may accompany a code-layer areafeature:channelChannel chat, timeline, composer, and navigationready-for-humanRequires human implementationscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions