Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
c7c18b5
refactor(sessions): update search implementation
ComputelessComputer Feb 9, 2026
9dad5a0
feat(search): add case-sensitive and whole word search options
ComputelessComputer Feb 10, 2026
3271872
style(tooltip): update tooltip styling with white background and blur…
ComputelessComputer Feb 10, 2026
e1c6623
feat(sidebar): Simplify tooltip styling
ComputelessComputer Feb 10, 2026
4a5acd0
feat(ui): enhance search bar with keyboard hints
ComputelessComputer Feb 10, 2026
76f70cb
feat(desktop): add tooltip to title generation button
ComputelessComputer Feb 10, 2026
515f844
feat(listen): add tooltips for listen and stop buttons
ComputelessComputer Feb 10, 2026
ef23cb2
Rebuild searchText after each replacement
ComputelessComputer Feb 10, 2026
fe065e9
Fix whole-word boundary checks in search
ComputelessComputer Feb 10, 2026
7440cc1
Fix word-boundary checks for whole-word matching
ComputelessComputer Feb 10, 2026
20d57b1
Map flat string positions to ProseMirror positions
ComputelessComputer Feb 10, 2026
b0bba59
Update apps/desktop/src/components/main/body/sessions/note-input/inde…
ComputelessComputer Feb 10, 2026
9b578a8
Unify match counting for transcript replace
ComputelessComputer Feb 10, 2026
b419227
Merge branch 'main' into feat/update-search-implementation
devin-ai-integration[bot] Feb 15, 2026
239300b
fix: filter nested block elements in getEditorMatches to prevent doub…
devin-ai-integration[bot] Feb 16, 2026
672cfab
fix: deduplicate words in replace-all to prevent double-processing
devin-ai-integration[bot] Feb 16, 2026
f25284b
fix: scope search-replace event to session and align editor match cou…
devin-ai-integration[bot] Feb 16, 2026
d099d32
fix: normalize query in replace handlers to match search counting
devin-ai-integration[bot] Feb 17, 2026
f8f39b1
fix: resolve merge conflict and add caseSensitive/wholeWord to shared…
devin-ai-integration[bot] Feb 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions apps/desktop/src/components/main/body/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -189,10 +189,7 @@ function Header({ tabs }: { tabs: Tab[] }) {
<PanelLeftOpenIcon size={16} className="text-neutral-600" />
</Button>
</TooltipTrigger>
<TooltipContent
side="bottom"
className="flex items-center gap-2 bg-white/80 backdrop-blur-sm text-neutral-700 border border-neutral-200/50 shadow-lg"
>
<TooltipContent side="bottom" className="flex items-center gap-2">
<span>Toggle sidebar</span>
<Kbd className="animate-kbd-press">⌘ \</Kbd>
</TooltipContent>
Expand Down
16 changes: 3 additions & 13 deletions apps/desktop/src/components/main/body/sessions/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,7 @@ import { type TabItem, TabItemBase } from "../shared";
import { CaretPositionProvider } from "./caret-position-context";
import { FloatingActionButton } from "./floating";
import { NoteInput } from "./note-input";
import { SearchBar } from "./note-input/transcript/search-bar";
import {
SearchProvider,
useTranscriptSearch,
} from "./note-input/transcript/search-context";
import { SearchProvider } from "./note-input/transcript/search-context";
import { OuterHeader } from "./outer-header";
import { useCurrentNoteTab, useHasTranscript } from "./shared";
import { TitleInput } from "./title-input";
Expand Down Expand Up @@ -170,7 +166,7 @@ export function TabContentNote({

return (
<CaretPositionProvider>
<SearchProvider>
<SearchProvider sessionId={tab.id}>
<AudioPlayer.Provider sessionId={tab.id} url={audioUrl ?? ""}>
<TabContentNoteInner tab={tab} showTimeline={showTimeline} />
</AudioPlayer.Provider>
Expand All @@ -186,8 +182,6 @@ function TabContentNoteInner({
tab: Extract<Tab, { type: "sessions" }>;
showTimeline: boolean;
}) {
const search = useTranscriptSearch();
const showSearchBar = search?.isVisible ?? false;
const titleInputRef = React.useRef<HTMLInputElement>(null);
const noteInputRef = React.useRef<{
editor: import("@hypr/tiptap/editor").TiptapEditor | null;
Expand Down Expand Up @@ -238,11 +232,7 @@ function TabContentNoteInner({
>
<div className="flex flex-col h-full">
<div className="pl-2 pr-1">
{showSearchBar ? (
<SearchBar />
) : (
<OuterHeader sessionId={tab.id} currentView={currentView} />
)}
<OuterHeader sessionId={tab.id} currentView={currentView} />
</div>
<div className="mt-2 px-3 shrink-0">
<TitleInput
Expand Down
Loading
Loading