• Adeniji Adekunle James's avatar
    Code View Search & Fullscreen Mode (#1987) (#1988) · 381db427
    Adeniji Adekunle James 提交于
    Closes #1987
    
    
    
    
    
    
    
    
    
    
    <!-- This is an auto-generated description by cubic. -->
    ---
    ## Summary by cubic
    Adds file content search to Code View and a fullscreen toggle to focus
    on code. Users can search across file contents with highlights and
    snippets, and jump to lines. Addresses Linear #1987.
    
    - New Features
    - File Tree search: debounced input, content search via ripgrep (1MB max
    per file), highlights in names, expandable snippets with line numbers,
    match count, and empty/error states.
      - Fullscreen mode: toggle in toolbar, Esc to exit, locks page scroll.
    - IPC: search-app-files handler using ripgrep (via @vscode/ripgrep;
    binary bundled in Forge extraResources) with UTF-8-safe snippet
    extraction; exposed via IpcClient and preload.
      - Hook: useSearchAppFiles with React Query.
    - UI/Types: FileTree now takes appId; added AppFileSearchResult type;
    selectedFile supports line for navigation.
      - Tests: e2e covers content search and navigating to the matched line.
      - CI: set GITHUB_TOKEN to fetch ripgrep binaries.
    
    <sup>Written for commit 97142126c549932d58908df5c842f44ae182c94e.
    Summary will update on new commits.</sup>
    
    <!-- End of auto-generated description by cubic. -->
    
    
    
    
    
    
    
    
    
    
    
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Introduces fast file content search in Code View and fullscreen
    viewing, wiring UI to IPC and packaging for bundled ripgrep.
    > 
    > - UI: `FileTree` now supports debounced content search with
    highlights, expandable snippets, match counts, and line navigation;
    `selectedFile` carries `line`; `FileEditor` accepts `initialLine` and
    jumps to it; `CodeView` adds fullscreen toggle (Esc to exit)
    > - IPC: New `search-app-files` handler using `@vscode/ripgrep` with
    UTF-8-safe snippets; exposed via `preload` and
    `IpcClient.searchAppFiles`; adds `AppFileSearchResult` type
    > - Packaging/CI: Bundle ripgrep binaries via Forge `extraResource` and
    set `GITHUB_TOKEN` in CI for ripgrep install; add `@vscode/ripgrep`
    dependency; bump version to `0.33.0-beta.2`
    > - Tests: New Playwright e2e verifies search results and navigation to
    matched line
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    97142126c549932d58908df5c842f44ae182c94e. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    381db427
名称
最后提交
最后更新
..
chat 正在载入提交数据...
home 正在载入提交数据...
preview_panel 正在载入提交数据...
settings 正在载入提交数据...
ui 正在载入提交数据...
AppList.tsx 正在载入提交数据...
AppSearchDialog.tsx 正在载入提交数据...
AppUpgrades.tsx 正在载入提交数据...
AutoApproveSwitch.tsx 正在载入提交数据...
AutoFixProblemsSwitch.tsx 正在载入提交数据...
AutoUpdateSwitch.tsx 正在载入提交数据...
BugScreenshotDialog.tsx 正在载入提交数据...
CapacitorControls.tsx 正在载入提交数据...
ChatInputControls.tsx 正在载入提交数据...
ChatList.tsx 正在载入提交数据...
ChatModeSelector.tsx 正在载入提交数据...
ChatPanel.tsx 正在载入提交数据...
ChatSearchDialog.tsx 正在载入提交数据...
CommunityCodeConsentDialog.tsx 正在载入提交数据...
ConfirmationDialog.tsx 正在载入提交数据...
ContextFilesPicker.tsx 正在载入提交数据...
CopyErrorMessage.tsx 正在载入提交数据...
CreateAppDialog.tsx 正在载入提交数据...
CreateCustomModelDialog.tsx 正在载入提交数据...
CreateCustomProviderDialog.tsx 正在载入提交数据...
CreatePromptDialog.tsx 正在载入提交数据...
CustomErrorToast.tsx 正在载入提交数据...
DeleteConfirmationDialog.tsx 正在载入提交数据...
DyadProSuccessDialog.tsx 正在载入提交数据...
EditCustomModelDialog.tsx 正在载入提交数据...
ErrorBoundary.tsx 正在载入提交数据...
ForceCloseDialog.tsx 正在载入提交数据...
GitHubConnector.tsx 正在载入提交数据...
GitHubIntegration.tsx 正在载入提交数据...
HelpBotDialog.tsx 正在载入提交数据...
HelpDialog.tsx 正在载入提交数据...
ImportAppButton.tsx 正在载入提交数据...
ImportAppDialog.tsx 正在载入提交数据...
InputRequestToast.tsx 正在载入提交数据...
LoadingBlock.tsx 正在载入提交数据...
MaxChatTurnsSelector.tsx 正在载入提交数据...
McpConsentToast.tsx 正在载入提交数据...
McpToolsPicker.tsx 正在载入提交数据...
ModelPicker.tsx 正在载入提交数据...
NeonConnector.tsx 正在载入提交数据...
NeonDisconnectButton.tsx 正在载入提交数据...
NeonIntegration.tsx 正在载入提交数据...
NodePathSelector.tsx 正在载入提交数据...
PortalMigrate.tsx 正在载入提交数据...
PriceBadge.tsx 正在载入提交数据...
ProBanner.tsx 正在载入提交数据...
ProModeSelector.tsx 正在载入提交数据...
ProviderSettings.tsx 正在载入提交数据...
ReleaseChannelSelector.tsx 正在载入提交数据...
RuntimeModeSelector.tsx 正在载入提交数据...
ScreenshotSuccessDialog.tsx 正在载入提交数据...
SettingsList.tsx 正在载入提交数据...
SetupBanner.tsx 正在载入提交数据...
SetupProviderCard.tsx 正在载入提交数据...
SupabaseConnector.tsx 正在载入提交数据...
SupabaseIntegration.tsx 正在载入提交数据...
TelemetryBanner.tsx 正在载入提交数据...
TelemetrySwitch.tsx 正在载入提交数据...
TemplateCard.tsx 正在载入提交数据...
ThinkingBudgetSelector.tsx 正在载入提交数据...
VercelConnector.tsx 正在载入提交数据...
VercelIntegration.tsx 正在载入提交数据...
ZoomSelector.tsx 正在载入提交数据...
app-sidebar.tsx 正在载入提交数据...
appItem.tsx 正在载入提交数据...