feat(chat): Ask source citations open their captures (search or timeline)#3913
Merged
Conversation
… timeline Answers already list their sources, but screen and audio captures rendered as inert text. Only web and file sources (which had an href) were clickable, so the most useful sources, the actual recorded moments behind the answer, were a dead end. Add an optional machine-readable timestamp to SourceCitation, populate it from the start_time of screenpipe search, activity, and meeting queries (both the screenpipe_search tool and the bash curl path), and make the footer row jump into the timeline at that moment using the existing navigate-to-timestamp deep link. Non-capture sources (memory, db, connector) stay inert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… merge) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The always-visible rail rendered everything at the smallest sizes: nav
labels at 12px, icons at 14px, and the recording status as three 12px
icons whose state was encoded only in opacity (fading to nearly
invisible). At a glance it was hard to read what to click, which is
exactly the legibility feedback we got.
- recording status: state in words ("recording" / "paused") with a
filled dot; device icons 12px to 16px with binary on/off contrast
instead of an opacity gradient.
- nav: icons 14px to 18px, labels 12px to 14px, more padding, and the
active item is visibly heavier (semibold + border) so it is clear
where you are.
- same bump applied to the team / referral / settings / help row.
Black and white only, no color added.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…erge) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A screen source under an answer is more useful as the full thumbnail grid of matching captures than as a single timeline moment. - SourceCitation now carries the search term (query) when the source had one. - the footer opens a capture that has a search term in the search window (showWindow Search with ?q=), and keeps the timeline jump as a fallback for time-only captures (meetings, activity summaries) with no term. - affordance reads "open in search" (magnifier) vs "open in timeline" (clock). Frontend only; reuses the standalone search window's existing ?q= entry point. Needs a live click to confirm the grid renders (the Tauri app cannot run in this worktree). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reverts the sidebar size/contrast pass (app/home/page.tsx) and its review screenshot, per request. The Ask source-citation work in this PR is kept. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ask answers list their sources, but only web and file sources (the ones with a URL) were clickable. The screen and audio captures that actually back the answer rendered as dead gray text, so there was no way to get back to what the answer was built on. This makes them clickable.
?q=entry point.lib/source-citations.tscarries thequeryandtimestampbehind each source;lib/timeline-navigation.tsholds the two open helpers; the footer routes the click.verification
source-citations.test.ts: 27/27 pass (20 original + 7 new for query / timestamp).bunx tsc --noEmit: clean.bun run build(next build): green, all routes export.Frontend only, no Rust or Tauri command changes, so no bindings regen. Worth one live click to confirm the search grid renders, since the Tauri app cannot run in this worktree.
The
docs:screenshot is a review aid only; drop that commit before merge if you do not want the png in the repo.(An earlier revision of this branch also touched the home sidebar; that has been reverted, so the diff is just the Ask sources change.)