Repository navigation
Mark selected thread as visited in web store - #74
Conversation
- Dispatch `MARK_THREAD_VISITED` when `activeThreadId` changes in root route - Add reducer handling to update a thread's `lastVisitedAt` - Add reducer test coverage for selecting a thread updates visit time
|
Caution Review failedThe pull request is closed. WalkthroughThe PR introduces thread visit tracking by adding a new Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes ✨ Finishing Touches
🧪 Generate unit tests (beta)
Comment |
Mark active threads as visited in the web store by dispatching
|
Greptile SummaryThis PR adds automatic thread visit tracking when a user selects a thread, updating the
Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Router as __root.tsx
participant Store as store.ts
participant State as AppState
User->>Router: Navigate to thread
Router->>Router: activeThreadId changes (useParams)
Router->>Router: useEffect triggers
Router->>Store: dispatch(MARK_THREAD_VISITED)
Note over Store: visitedAt = action.visitedAt ?? new Date().toISOString()
Store->>Store: reducer(MARK_THREAD_VISITED)
Store->>State: updateThread(lastVisitedAt)
State-->>User: Thread marked as visited
Last reviewed commit: cd9ef00 |
chrisu-dev
left a comment
There was a problem hiding this comment.
FAIL — verified the GitHub test-merge b30cf956588d75d4cbeee44338adde5a2479bb12 (head 8723cdca69cd09733337c19ad2b780326fc3ae1a onto staging base 654119b0de8f9462dd974abe9273993a03ad9f7f). No merge.
Blocking finding
withDesktopBuildVersionStampcan leave the release manifests partially stamped when the stamping step itself fails. Inscripts/build-desktop-artifact.ts, the restorationEffect.ensuringis installed only afterupdateReleasePackageVersionsreturns; that helper writes the four manifests sequentially. I reproduced this against the landing tree with fresh four-manifest fixtures: make the second manifest (apps/desktop/package.json) non-writable, then runwithDesktopBuildVersionStampfor0.0.34-thais.27-staging.2. The helper failed as expected on the second write, butapps/server/package.jsonremained changed to0.0.34-thais.27-staging.2while the other three remained0.0.34. This contradicts the stated scoped-mutation guarantee that the working tree is restored on failure/interruption. Install restoration around both the stamping phase and the build once originals are captured, and add a red-first test for a failure after at least one manifest has been written.
Independent evidence
- Focused + adjacent tests: exit 0, 2 files / 74 tests passed.
node_modules/.bin/tsgo --noEmit -p scripts/tsconfig.json: exit 0 (one non-failing Effect suggestion at the unchanged line 1666).- Focused lint on the changed script and suite: exit 0.
bin/check-seams.sh: exit 0.bin/check-focor-registry.sh: exit 0.git diff --check: exit 0.- Verified the production regex/identity path separately: plain
X.Y.Z-thais.Nkeeps the production product name, app id, and icons; staging versions select the staging identity and passkey app id.
The review scratch checkout and fixtures were removed before posting this verdict.
|
Correction: the immediately preceding review from chrisu-dev was posted here by repository-routing error while reviewing Focor/thais#74. It is unrelated to this already-merged upstream PR and should be ignored. |
…otgg#59)' (pingdotgg#74) from land/mobile-cloud-code into main merge: land mobile cloud code switched off (pingdotgg#74)
…perf Smooth sidebar scrolling, auto-loading history, all scripts drawn, 50 agents without lag
Summary
MARK_THREAD_VISITEDwheneveractiveThreadIdchanges inapps/web/src/routes/__root.tsxMARK_THREAD_VISITEDinapps/web/src/store.ts, defaultingvisitedAtto current ISO time when omittedapps/web/src/store.test.tsto verify selecting a thread updateslastVisitedAtTesting
apps/web/src/store.test.ts: addedmarks a thread as visited when selectedto assertlastVisitedAtis updated to the provided timestampNote
Low Risk
Small, localized state-update change affecting only thread metadata (
lastVisitedAt) plus a new reducer test; no auth/security or data persistence format changes.Overview
Updates the web UI to record thread visit time on selection by dispatching
MARK_THREAD_VISITEDwheneveractiveThreadIdchanges.Adds reducer support for
MARK_THREAD_VISITEDto update a thread’slastVisitedAt(defaulting to the current ISO timestamp when omitted), and introduces a unit test ensuring selecting a thread updateslastVisitedAtas expected.Written by Cursor Bugbot for commit cd9ef00. This will update automatically on new commits. Configure here.
Summary by CodeRabbit