Skip to content

Merge upstream v1.0.7 and preserve fork integrations - #17

Merged
figassis merged 276 commits into
mainfrom
sync/upstream-v1.0.7
Oct 3, 2026
Merged

figassis merged 276 commits into
mainfrom
sync/upstream-v1.0.7

Conversation

@figassis

@figassis figassis commented Oct 3, 2026

Copy link
Copy Markdown

Summary

Merge upstream's published v1.0.7 tag (8ce1712bbe310db61161110a6de813d882ea4e83) into the fork. No post-release upstream main commits. Resolves all 12 merge conflicts while retaining the fork's integrations, Claude output styles, skill manager, browser editor, Docker CLI pins, headless bind override, and container Codex sandbox configuration.

Compatibility fixes

  • Combine custom Claude profiles, fast mode, and output styles into upstream's single private runtime settings file. Preserve full fragmented blocking-tool input, synthesized permission denials, and upstream API/resume/recovery fixes.
  • Keep Linear/Outline commands exposed through the new generic native bridge, web dispatcher, and Jean MCP. Route project integrations and managed skills/styles to their owning/selected server with isolated query caches.
  • Redact Outline tokens from remote preferences; use configured flags for integration availability and credential-removal controls.
  • Keep configured browser-editor actions and synchronous popup creation; retain native-editor fallback for native-capable Web Access. Include project-local output styles on mobile, with a viewport-safe bottom-sheet picker.
  • Finish fork-only icon migration, ignore generated Rust targets in lint/build contexts, and update regression/E2E fixtures to the release's UI/persistence contracts.

Verification

Passed bun run check:all: typecheck, ESLint, Rust formatting, Clippy, 2,868 frontend tests across 410 files, 1,322 core Rust tests, and 14 native Rust tests. One core test remains ignored upstream. Passed all 32 Chromium E2E tests with two workers. Final make docker-build passed, producing jean:dev (833dfaf9af1f). Recreated the isolated smoke app from that image. Pinned Claude reports 2.1.186; the new mobile picker fits at 390px, disables incompatible styles, and retains selection after reload. Built-image smoke covers bootstrap/version, command dispatch, secret redaction, local Outline API requests, skills, output styles, editor launch, and terminal execution. Desktop/mobile screenshots visually inspected with agent-browser.

A disposable deterministic Claude CLI fixture exercises the actual built backend: one private settings file, complete blocking-tool payloads, detached-process restart/resume, exactly-once completed history, and persisted output style. This is not a live Claude-service inference test.

Remaining live checks / deployment notes

  • Available Claude OAuth credentials are expired. Real Claude login, account/model availability, and current real-CLI event production need an authenticated smoke check before rollout. No claim of live inference success.
  • Automatic backend updates can update PATH installations too; disable the existing preference to preserve Docker's pinned runtime CLI versions. This behavior predates the merge.
  • One earlier E2E run dismissed the model picker unexpectedly. Six repeated model tests and the final full run passed; assertions were retained.
  • External Linear was not queried live; routing/filtering is regression-tested. Outline was exercised against an isolated local fixture, not production writes.
  • The existing unrelated managed-CLI install PR fix(claude): install managed CLI directly from source card #16 remains separate. No production deployment or user-app restart performed.

Upstream release: https://github.com/coollabsio/jean/releases/tag/v1.0.7
Repeatable verification: docs/developer/upstream-sync.md, scripts/verify-fork-upgrade.mjs.

andrasbacsai and others added 30 commits September 10, 2026 12:41
Wait for investigation session creation, select the returned session, and then open its modal with the exact session and worktree context.
Ask the default global system prompt to label each discovered issue, pull request, and discussion as open or closed, and to show merged for pull requests when applicable. Cover the requirement in Rust and TypeScript prompt regressions.
Offer pstack in Opinionated preferences for Claude, Codex, OpenCode,
Cursor, Pi, Command Code, and Grok. Install via sparse checkout of
cursor/plugins, copy skills to native and Jean-global roots, and
uninstall only directories recorded in the pstack manifest.
Jean now copies the 46 pstack workflow skills and omits the Cursor-only setup-pstack skill. Reinstall also removes a previously installed setup-pstack directory when it is listed in the pstack manifest. Preferences copy and tests match that behavior, and installed skill files are left unchanged.
Drop the smoke-test magic prompt, preferences, toolbar/modal entry, and handlers so the feature is no longer available.
Unix PATH detection now falls back to a login shell `command -v` lookup
when `which` misses a tool, so CLIs available only in interactive PATH
are found. Codex asset lookup continues past same-version tags that
lack the native binary instead of failing on the first match.
Parse kitty keyboard protocol flags, update modes, and a bounded
restore stack instead of a depth counter. Treat Shift+Enter as
encodable only when disambiguate or report-all-keys is set.
fix(terminal): insert a newline on Shift+Enter
Move GitHub issue discovery out of the default Claude system prompt into
an opt-in Check GitHub Issues magic command (Q) in Magic modal and mobile
toolbar. Persist explicit CLI source choices so Settings PATH to Jean
managed is not overwritten on load.
* fix: make project persistence crash-safe (coollabsio#679)

* fix(projects): treat unreadable backups as corrupt, not missing

Stop returning empty projects when the primary file is gone but a
recovery candidate exists and cannot be read or parsed. Only treat the
store as missing when every candidate is absent. Add a test covering a
missing primary with a corrupt backup.

---------

Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
…llabsio#697)

* fix(sentry): route Sentry issue lookups to the org's region host

* fix(sentry): validate region hosts and persist them safely

Reject non-https or non-sentry.io region URLs before API use and cache
only a canonical host. Reload project data after region discovery so a
stale snapshot cannot overwrite concurrent settings. Surface project
storage errors when a global Sentry token change clears inherited caches,
and validate theme before that mutation.

---------

Co-authored-by: Bernhard Millauer <bernhard.millauer@adventics.de>
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
…labsio#703)

* fix(persistence): make session saves work on Windows

* fix(persistence): preserve unix file modes on atomic writes

Copy existing destination permissions onto the temp file before rename so preference and config files keep restrictive modes instead of inheriting the umask of the replacement file.

---------

Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
* perf: reduce CPU and memory across projects

* Delete tasks/todo.md

* fix(chat): keep unread count on fetch errors and live worktrees

Stop swallowing get_unread_session_count failures as zero so the title-bar badge keeps a valid cached count. After project bootstrap, observe the live worktrees query instead of a stale snapshot. Fill unread_summary in storage tests.

---------

Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Prevent cancelled prompts and image attachments from being copied back into
the composer after execution starts. Preserve restoration for runs cancelled
before execution.
Move the combined sync setting from Experimental to General and preserve the enabled default when preferences are missing.
Expose terminal, browser, and package-script actions in narrower session modals while keeping inline actions for extra-wide layouts. Always show desktop GitHub menu entries, defer unread snapshots until sessions load, and allow shortcuts through the floating terminal host.
Install agent-browser, Chromium, and backend MCP configuration together, show Jean MCP installation status, and prefer Agent Browser as a testing fallback.

Prevent duplicate web image pastes, preserve descriptive worktree names, support Ctrl-click background creation, and persist early feature-tour dismissal.
Prevent startup UI from reopening against stale preference data by applying client patches to the query cache synchronously. Use an explicit Ctrl label for macOS web shortcuts when the Control glyph is unavailable.
Add isolated server connections, command routing, capability discovery, remote project views, and sandboxed feature surfaces.

Delay Codex completion until session state is persisted and prevent clearing context while a session is running.
Keep the native client on its local core while treating remote profiles as
parallel dashboard sources. Track path ownership for Git and GitHub commands,
show server context, and prevent duplicate project picker values.
Replace repeated project badges with server section headings and hide redundant ownership labels in Web Access. Resolve remote attachment URLs through their owning server and normalize app-data wildcard paths.

Limit saved AI lessons to general, project-wide learnings.
* fix(pi): run PATH installation correctly through WSL

* fix(antigravity): remove duplicate diagnostics field

* fix(pi): avoid eval when checking WSL authentication

Read allowlisted API key variables with printenv and add regression coverage.

---------

Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
andrasbacsai and others added 27 commits September 28, 2026 08:08
Add min-w-0 to the FileContentModal header container so long file
paths/titles can truncate instead of overflowing the dialog width.
Replace the Edit-only isEditTool guard with getClaudeFileEdits, which
normalizes Claude file-changing tool calls into old/new string edits:
- Edit: single replacement
- MultiEdit: one Edit entry per inner edit
- Write: full content shown as added
- NotebookEdit: new cell source keyed by notebook_path

The edited files list and the diff modal now both use the normalized
edits. Add tests for the new tool types and MultiEdit diff input.
- Add is_error to ToolCall and tool result events across all backends
  and surface failed tool calls in the inline tool call UI
- Detect "No conversation found" on --resume, clear the stale Claude
  session id, reset the run output and retry once without resume
- Allow root YOLO runs to use bypassPermissions by setting IS_SANDBOX=1
  instead of degrading to acceptEdits
- Prefer the result event's structured_output and fall back to the last
  StructuredOutput tool call when extracting Claude JSON responses
- Switch the default Claude model to claude-opus-5-5
- Extend edited files, message diff modal and streaming event handling
  with matching tests
Make the light theme monochrome: primary, ring, and sidebar-primary are
now near-black or neutral instead of amber. Add warning, success, and
info tokens with -foreground variants. They have light and dark values,
and the light values use -700 shades so text stays readable on white.

Across the components, replace hardcoded Tailwind hues such as
text-green-500, text-amber-500, and bg-blue-500/10 with these tokens,
neutral chrome, or muted colors. Categorical identity colors, such as
file-type colors, now use -600 / dark:-400 pairs. Update the related
tests to match.

Update the default global system prompt: scale verification to risk,
limit which new tests get written, and forbid AI attribution trailers
in commits and PRs. Add a lessons entry on how to use theme color
tokens.
- Render OpenInButton and ScriptsButton with a solid primary background in
  light mode, keeping the muted style in dark mode
- Switch the running StatusIndicator spinner from warning to primary color
- Show the UnreadBell running icon in foreground color in light mode
- Change the light-mode warning token from amber-700 to orange-700
- Use amber-500 for the JSON file color in light mode
- Update the tests to match
Add a useModifierHintsVisible hook that reports whether a modifier
combination is currently held and hides again on keyup or window blur.

The recent worktrees list opens rows 1-9 with Mod+Shift+1-9 in the
native desktop app. Holding Mod+Shift shows each row's shortcut in place
of its activity timestamp. The shortcut matches on event.code because
Shift turns the digit keys into symbols.

Session tab Mod+1-9 hints in SessionChatModal now appear only while Mod
alone is held. They are formatted with formatShortcutDisplay instead of
a hardcoded ⌘.

Add tests for the hook and the shortcut helpers.
The sparkle action in the # picker now replaces the mention with the
investigation prompt and submits it immediately instead of leaving it
in the draft. ChatInput passes a beforeSend callback that loads the
issue/PR context; handleSubmit awaits it before sending, keeps the
send bound to the originating session, and restores the draft if the
load fails. Update button labels to "start investigating" and docs.
After a cancel, hydrating from the backend only treats the last message as
cancelled-turn output if it is an assistant reply that was not already known
before the cancel. Before this change, a reply from an earlier turn could
clear the restored input draft.

Renaming a session manually now marks auto-naming as completed, so the first
prompt no longer overwrites the chosen name.
Store recent-session pins on the server that owns the session so Web
Access clients see the same pins. Add get_pinned_recent_session_ids and
set_recent_session_pinned commands; save_ui_state now keeps the pins on
disk so a full snapshot save cannot drop another client's pin. File
read-modify-write cycles are serialized with a process-wide lock.

Add a recent-session-pins service that merges remote server pins with
local pins in native Jean, falling back to local UI state for older
servers that answer "Unknown command" and moving those pins to the
server after the server is updated. Remove the pin toggle from the
projects store.

Rework shortcuts: Mod+1-9 opens the first nine Recent sidebar rows while
the list is visible (replacing Mod+Shift+1-9), otherwise switching
session tabs or worktrees. Holding Mod alone shows the number hints.
Session tab switching moves to Mod+Left/Right and only fires when the
focused text field is empty.
Claude sets is_error on any non-zero shell exit, even when the command ran
normally (e.g. grep finding no match, `which` for a missing binary). Bash
tool calls whose output starts with "Exit code N" no longer show the
"failed" marker.
Move sortModelOptionsByRawModel from toolbar-utils into lib/model-utils
so services can share it, and apply it to Claude catalog model options.
Reorder the bundled Claude modelOptions to match the version-descending
order, and add a test covering catalog sorting.
Give the teardown success and delete-failure toasts a stable id based on
the worktree id. This way, when the same event arrives over more than one
server connection, the existing toast is reused and duplicates don't stack.
Claude CLI runs /goal natively, so the command text is sent through to the
model as-is. Jean now keeps a copy of the objective so it can show the goal
banner, and switches the session to the configured goal execution mode.

- Offer the /goal builtin in the slash popover for Claude sessions
- Store the objective on /goal <text> and drop it on clear aliases
  (clear, stop, off, reset, none, cancel)
- Treat Claude as a goal backend in codex_thread_id_for_session
- Clear the stored goal banner once a Claude run finishes without being
  cancelled, unless the message was a bare /goal status check
- Clearing from the banner on Claude queues `/goal clear` and cancels
  any goal loop still running
- Update the goal execution mode preference description
- Add tests for the Claude /goal set and clear flows
Restructure Recent session rows into two flex lines: the session name and
status on top, project/worktree with Git changes and the time or shortcut
hint below. The pin toggle now sits as a small circular badge on the
row's top-left corner. Git change counts are hidden when the list is
narrower than 15rem (container query).

Hide the Cmd/Ctrl+1-9 worktree shortcut hints on the project canvas
while the sidebar's Recent tab is visible, because Recent sessions take
over those shortcuts then.
Invalidate the GitHub and Linear queries in the background rather than
awaiting them in beforeSend. Refetching every query could take several
seconds and held up the investigate message the whole time.

Add a test that confirms beforeSend resolves even when
invalidateQueries never settles.
Write the Claude usage cache atomically via a unique temp file and
rename, so concurrent readers never see a truncated/empty file while
run streams update it on every rate_limit_event.

In the Usage pane, only show the error line for Claude, Codex, and Grok
when no data is available, so a failed background refetch no longer
hides previously loaded usage. Add a test covering this case.
Move CodexGoalBanner out of the message list and into the top-right
badge area next to the session label. The goal now shows as a compact
"Goal" pill with a flag icon. Clicking it opens a popover that shows the
full goal text and a "Clear goal" button. The popover closes once the
goal is cleared.

Export the Flag icon from reicon.
When the worktree folder was deleted or emptied outside Jean, the
teardown script would fail and block cleanup. Check for the .git entry
first and log a warning instead of running the script.
- Mark Running runs whose process is gone as Crashed when a new run
  starts, so orphaned runs no longer block every new prompt
- On cancel of an idle session, finish stale Running/Resumable runs
  (Completed if a result line exists, otherwise Cancelled) and emit a
  cancelled event so the UI stops showing the session as busy
- Skip sessions with unreadable or unwritable metadata during startup
  recovery instead of aborting recovery for all sessions
- Expose emit_cancelled_event to the crate
- Add test covering orphaned, pid-less, and live Running runs
Replace the top-right CodexGoalBanner with a GoalBadge that renders
under the user message that set the session's active goal. The badge
shows as active only while the stored goal still matches that
message's objective.

- Add goal-utils with getGoalObjective, which parses /goal messages
  and Jean's rewritten Codex goal turns, and share its
  CODEX_GOAL_TURN_PREFIX with useMessageSending
- Move goal clearing into a ChatWindow handleClearGoal callback and
  pass onClearGoal through the message lists to MessageItem
- Remove the border and background from the recent session pin button
Previously, Cmd/Ctrl+Arrow session switching only worked when the focused
chat input was empty. Now the key moves the caret first, and once the
caret already sits at the start/end of the text in that direction, the
next press switches to the previous/next session.

Active text selections still keep the key in the field, and inputs
without selection support fall back to the old non-empty check.
Call recover_incomplete_runs during runtime initialization so runs left
incomplete by a crash or reboot are finished before any client connects.
Headless servers otherwise only recovered on a full page load, leaving
reconnected web tabs showing dead runs as still running.

Remove the running StatusIndicator from StreamingStatusBar.
Apply the md:opacity-0 hover/focus reveal classes to the pin button
regardless of pinned state, so pinned sessions no longer show the pin
icon permanently on desktop. Pinned icons keep the foreground color.
@coderabbitai

coderabbitai Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 746 files, which is 646 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9c1da036-ccbc-4f79-9584-d5f5f4e1109e
📥 Commits

Reviewing files that changed from the base of the PR and between 514b134 and 3ceb596.

⛔ Files ignored due to path filters (61)
  • bun.lock is excluded by !**/*.lock
  • logo.png is excluded by !**/*.png
  • public/apple-touch-icon.png is excluded by !**/*.png
  • public/favicon.png is excluded by !**/*.png
  • public/logo.png is excluded by !**/*.png
  • src-server/Cargo.lock is excluded by !**/*.lock
  • src-tauri/Cargo.lock is excluded by !**/*.lock
  • src-tauri/icons/128x128.png is excluded by !**/*.png
  • src-tauri/icons/128x128@2x.png is excluded by !**/*.png
  • src-tauri/icons/256x256.png is excluded by !**/*.png
  • src-tauri/icons/256x256@2x.png is excluded by !**/*.png
  • src-tauri/icons/32x32.png is excluded by !**/*.png
  • src-tauri/icons/32x32@2x.png is excluded by !**/*.png
  • src-tauri/icons/512x512.png is excluded by !**/*.png
  • src-tauri/icons/512x512@2x.png is excluded by !**/*.png
  • src-tauri/icons/64x64.png is excluded by !**/*.png
  • src-tauri/icons/Square107x107Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square142x142Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square150x150Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square284x284Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square30x30Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square310x310Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square44x44Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square71x71Logo.png is excluded by !**/*.png
  • src-tauri/icons/Square89x89Logo.png is excluded by !**/*.png
  • src-tauri/icons/StoreLogo.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-hdpi/ic_launcher.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-mdpi/ic_launcher.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png is excluded by !**/*.png
  • src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png is excluded by !**/*.png
  • src-tauri/icons/icon.ico is excluded by !**/*.ico
  • src-tauri/icons/icon.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-20x20@1x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-20x20@2x-1.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-20x20@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-20x20@3x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-29x29@1x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-29x29@2x-1.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-29x29@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-29x29@3x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-40x40@1x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-40x40@2x-1.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-40x40@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-40x40@3x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-512@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-60x60@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-60x60@3x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-76x76@1x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-76x76@2x.png is excluded by !**/*.png
  • src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png is excluded by !**/*.png
📒 Files selected for processing (746)
  • .ai/lessons.md
  • .ai/todo.md
  • .dockerignore
  • .gitignore
  • AGENTS.md
  • Dockerfile.server
  • Dockerfile.server-runtime
  • README.md
  • docs/developer/architecture-guide.md
  • docs/developer/auto-updates.md
  • docs/developer/data-persistence.md
  • docs/developer/keyboard-shortcuts.md
  • docs/developer/model-catalog.md
  • docs/developer/notifications.md
  • docs/developer/performance-patterns.md
  • docs/developer/server-agent-browser.md
  • docs/developer/server-architecture.md
  • docs/developer/upstream-sync.md
  • docs/headless-server.md
  • e2e/fixtures/invoke-handlers.ts
  • e2e/fixtures/mock-data.ts
  • e2e/fixtures/tauri-mock.ts
  • e2e/tests/app-loads.spec.ts
  • e2e/tests/chat-messaging.spec.ts
  • e2e/tests/keyboard-shortcuts.spec.ts
  • e2e/tests/mcp-persistence.spec.ts
  • e2e/tests/model-selection.spec.ts
  • e2e/tests/navigation.spec.ts
  • e2e/tests/preferences.spec.ts
  • e2e/tests/session-management.spec.ts
  • e2e/tests/terminal-persistence.spec.ts
  • e2e/tests/theme-switching.spec.ts
  • e2e/tests/worktree-drag-reorder.spec.ts
  • eslint.config.js
  • jean-core/Cargo.toml
  • jean-core/src/agent_browser/mod.rs
  • jean-core/src/antigravity_cli/commands.rs
  • jean-core/src/auto_fix/scheduler.rs
  • jean-core/src/auto_fix/types.rs
  • jean-core/src/background_tasks/mod.rs
  • jean-core/src/chat/antigravity.rs
  • jean-core/src/chat/claude.rs
  • jean-core/src/chat/codex.rs
  • jean-core/src/chat/codex_server.rs
  • jean-core/src/chat/commandcode.rs
  • jean-core/src/chat/commands.rs
  • jean-core/src/chat/context_instructions.rs
  • jean-core/src/chat/cursor.rs
  • jean-core/src/chat/detached.rs
  • jean-core/src/chat/grok.rs
  • jean-core/src/chat/handoff.rs
  • jean-core/src/chat/kimi.rs
  • jean-core/src/chat/mod.rs
  • jean-core/src/chat/naming.rs
  • jean-core/src/chat/opencode.rs
  • jean-core/src/chat/pi.rs
  • jean-core/src/chat/registry.rs
  • jean-core/src/chat/run_log.rs
  • jean-core/src/chat/search.rs
  • jean-core/src/chat/storage.rs
  • jean-core/src/chat/tail.rs
  • jean-core/src/chat/types.rs
  • jean-core/src/claude_cli/commands.rs
  • jean-core/src/cli_update/mod.rs
  • jean-core/src/coderabbit_cli/commands.rs
  • jean-core/src/codex_cli/commands.rs
  • jean-core/src/codex_cli/mcp.rs
  • jean-core/src/commandcode_cli/commands.rs
  • jean-core/src/cursor_cli/commands.rs
  • jean-core/src/cursor_cli/config.rs
  • jean-core/src/gh_cli/commands.rs
  • jean-core/src/grok_cli/commands.rs
  • jean-core/src/http_server/dispatch.rs
  • jean-core/src/http_server/server.rs
  • jean-core/src/http_server/websocket.rs
  • jean-core/src/jean_mcp_config.rs
  • jean-core/src/jean_mcp_core.rs
  • jean-core/src/kimi_cli/commands.rs
  • jean-core/src/lib.rs
  • jean-core/src/opencode_cli/commands.rs
  • jean-core/src/opinionated/commands.rs
  • jean-core/src/pi_cli/commands.rs
  • jean-core/src/pi_cli/config.rs
  • jean-core/src/platform/cli_detect.rs
  • jean-core/src/platform/file.rs
  • jean-core/src/platform/managed_cli_link.rs
  • jean-core/src/platform/mod.rs
  • jean-core/src/platform/process.rs
  • jean-core/src/platform/wsl.rs
  • jean-core/src/prerequisites.rs
  • jean-core/src/projects/checkpoints.rs
  • jean-core/src/projects/commands.rs
  • jean-core/src/projects/git_status.rs
  • jean-core/src/projects/github_issues.rs
  • jean-core/src/projects/mod.rs
  • jean-core/src/projects/names.rs
  • jean-core/src/projects/pr_status.rs
  • jean-core/src/projects/sentry_issues.rs
  • jean-core/src/projects/storage.rs
  • jean-core/src/projects/types.rs
  • jean-core/src/terminal/pty.rs
  • package.json
  • scripts/docker-entrypoint.sh
  • scripts/install-jean-server.sh
  • scripts/server-ci-assets.test.mjs
  • scripts/verify-fork-upgrade.mjs
  • src-server/Cargo.toml
  • src-tauri/Cargo.toml
  • src-tauri/icons/android/values/ic_launcher_background.xml
  • src-tauri/icons/icon.icns
  • src-tauri/src/desktop_commands.rs
  • src-tauri/src/lib.rs
  • src-tauri/src/remote_install.rs
  • src-tauri/tauri.conf.json
  • src/App.css
  • src/App.tsx
  • src/App.web-connecting-overlay.test.ts
  • src/App.web-reload-regression.test.ts
  • src/browser-crypto-compatibility.test.ts
  • src/codex-completion-order.test.ts
  • src/components/ErrorBoundary.test.tsx
  • src/components/ErrorBoundary.tsx
  • src/components/archive/ArchivedModal.tsx
  • src/components/browser/BrowserPanel.tsx
  • src/components/browser/BrowserTabContent.test.tsx
  • src/components/browser/BrowserTabContent.tsx
  • src/components/browser/BrowserToolbar.tsx
  • src/components/browser/BrowserView.tsx
  • src/components/browser/ModalBrowserDrawer.tsx
  • src/components/chat/AgentWidget.tsx
  • src/components/chat/ApprovalModelSubmenu.tsx
  • src/components/chat/AskUserQuestion.test.tsx
  • src/components/chat/AskUserQuestion.tsx
  • src/components/chat/ChatErrorFallback.tsx
  • src/components/chat/ChatInput.test.tsx
  • src/components/chat/ChatInput.tsx
  • src/components/chat/ChatSearchBar.tsx
  • src/components/chat/ChatToolbar.test.tsx
  • src/components/chat/ChatToolbar.tsx
  • src/components/chat/ChatWindow.running-snapshot-regression.test.ts
  • src/components/chat/ChatWindow.streaming-session-regression.test.ts
  • src/components/chat/ChatWindow.tsx
  • src/components/chat/CheckpointRestoreDialog.tsx
  • src/components/chat/CheckpointTurnRestoreButton.tsx
  • src/components/chat/CheckpointsTabView.tsx
  • src/components/chat/CodexGoalBanner.tsx
  • src/components/chat/CommitsTabView.tsx
  • src/components/chat/CompactMessageList.test.tsx
  • src/components/chat/CompactMessageList.tsx
  • src/components/chat/CompactStreamingTicker.test.tsx
  • src/components/chat/CompactStreamingTicker.tsx
  • src/components/chat/ContextMentionPopover.test.tsx
  • src/components/chat/ContextMentionPopover.tsx
  • src/components/chat/DevToolsDropdown.tsx
  • src/components/chat/EditedFilesDisplay.test.tsx
  • src/components/chat/EditedFilesDisplay.tsx
  • src/components/chat/ErrorBanner.tsx
  • src/components/chat/FileContentModal.remote-routing.test.tsx
  • src/components/chat/FileContentModal.tsx
  • src/components/chat/FileDiffModal.tsx
  • src/components/chat/FileEditsDiffModal.tsx
  • src/components/chat/FileMentionBadge.tsx
  • src/components/chat/FileMentionPopover.tsx
  • src/components/chat/FilePathCopy.test.tsx
  • src/components/chat/FilePathCopyRow.tsx
  • src/components/chat/FilePreview.tsx
  • src/components/chat/FloatingButtons.test.tsx
  • src/components/chat/FloatingButtons.tsx
  • src/components/chat/FullScreenTerminalSurface.tsx
  • src/components/chat/GitDiffModal.test.tsx
  • src/components/chat/GitDiffModal.tsx
  • src/components/chat/GoalBadge.tsx
  • src/components/chat/ImageLightbox.tsx
  • src/components/chat/ImagePreview.test.tsx
  • src/components/chat/ImagePreview.tsx
  • src/components/chat/LabelModal.tsx
  • src/components/chat/MemoizedFileDiff.test.tsx
  • src/components/chat/MemoizedFileDiff.tsx
  • src/components/chat/MessageDiffModal.test.tsx
  • src/components/chat/MessageDiffModal.tsx
  • src/components/chat/MessageItem.tsx
  • src/components/chat/MessageSettingsBadges.test.tsx
  • src/components/chat/MessageSettingsBadges.tsx
  • src/components/chat/MobileHistoryViews.test.tsx
  • src/components/chat/ModalTerminalDrawer.tsx
  • src/components/chat/NativeCliSessionsModal.tsx
  • src/components/chat/NewSessionModeModal.test.tsx
  • src/components/chat/NewSessionModeModal.tsx
  • src/components/chat/PermissionApproval.tsx
  • src/components/chat/PlanDialog.tsx
  • src/components/chat/PlanFileDisplay.tsx
  • src/components/chat/QueuedPromptsPanel.tsx
  • src/components/chat/RecentContexts.tsx
  • src/components/chat/ReviewFindingBlock.tsx
  • src/components/chat/ReviewMethodModal.tsx
  • src/components/chat/ReviewResultsPanel.tsx
  • src/components/chat/SessionChatModal.git-sync-button.test.ts
  • src/components/chat/SessionChatModal.removal-behavior.test.ts
  • src/components/chat/SessionChatModal.responsive-actions.test.ts
  • src/components/chat/SessionChatModal.separator.test.ts
  • src/components/chat/SessionChatModal.tsx
  • src/components/chat/SessionDebugPanel.tsx
  • src/components/chat/SessionListRow.tsx
  • src/components/chat/SessionStatusMenu.tsx
  • src/components/chat/SetupScriptOutput.test.tsx
  • src/components/chat/SetupScriptOutput.tsx
  • src/components/chat/SkillBadge.tsx
  • src/components/chat/SlashPopover.tsx
  • src/components/chat/StandaloneTerminalSurface.test.tsx
  • src/components/chat/StandaloneTerminalSurface.tsx
  • src/components/chat/SteeredPromptGroup.tsx
  • src/components/chat/StreamingMessage.test.tsx
  • src/components/chat/StreamingMessage.tsx
  • src/components/chat/StreamingStatusBar.test.ts
  • src/components/chat/StreamingStatusBar.tsx
  • src/components/chat/TerminalArrowGesture.tsx
  • src/components/chat/TerminalPanel.tsx
  • src/components/chat/TerminalView.tsx
  • src/components/chat/TextFileLightbox.test.tsx
  • src/components/chat/TextFileLightbox.tsx
  • src/components/chat/TextFilePreview.tsx
  • src/components/chat/ThinkingBlock.tsx
  • src/components/chat/TodoWidget.tsx
  • src/components/chat/ToolCallInline.test.tsx
  • src/components/chat/ToolCallInline.tsx
  • src/components/chat/ToolCallsDisplay.tsx
  • src/components/chat/VirtualizedMessageList.tsx
  • src/components/chat/WorktreeSetupCard.tsx
  • src/components/chat/attachment-processing.test.ts
  • src/components/chat/attachment-processing.ts
  • src/components/chat/git-image-preview-routing.test.ts
  • src/components/chat/goal-utils.test.ts
  • src/components/chat/goal-utils.ts
  • src/components/chat/hooks/useCanvasShortcutEvents.ts
  • src/components/chat/hooks/useChatWindowEvents.test.ts
  • src/components/chat/hooks/useChatWindowEvents.ts
  • src/components/chat/hooks/useClearContextApproval.ts
  • src/components/chat/hooks/useContextMentionData.ts
  • src/components/chat/hooks/useContextOperations.ts
  • src/components/chat/hooks/useDragAndDropImages.ts
  • src/components/chat/hooks/useGitOperations.ts
  • src/components/chat/hooks/useInvestigateHandlers.test.tsx
  • src/components/chat/hooks/useInvestigateHandlers.ts
  • src/components/chat/hooks/useMagicCommands.test.ts
  • src/components/chat/hooks/useMagicCommands.ts
  • src/components/chat/hooks/useMcpServerResolution.ts
  • src/components/chat/hooks/useMessageHandlers.ts
  • src/components/chat/hooks/useMessageSending.test.tsx
  • src/components/chat/hooks/useMessageSending.ts
  • src/components/chat/hooks/usePlanApproval.ts
  • src/components/chat/hooks/usePlanState.test.ts
  • src/components/chat/hooks/usePlanState.ts
  • src/components/chat/hooks/useScrollManagement.test.tsx
  • src/components/chat/hooks/useScrollManagement.ts
  • src/components/chat/hooks/useSessionArchive.ts
  • src/components/chat/hooks/useStreamingEvents.test.tsx
  • src/components/chat/hooks/useStreamingEvents.ts
  • src/components/chat/hooks/useTerminalImageDrop.ts
  • src/components/chat/hooks/useWorktreeApproval.ts
  • src/components/chat/image-constants.ts
  • src/components/chat/message-settings-labels.test.ts
  • src/components/chat/message-thread-context-menu.test.tsx
  • src/components/chat/message-thread-context-menu.tsx
  • src/components/chat/session-card-utils.test.ts
  • src/components/chat/session-card-utils.tsx
  • src/components/chat/session-menu-order.test.ts
  • src/components/chat/session-name-generation-ui.test.ts
  • src/components/chat/session-render-target.test.ts
  • src/components/chat/session-render-target.ts
  • src/components/chat/session-tab-order.test.ts
  • src/components/chat/session-tab-order.ts
  • src/components/chat/tool-call-utils.test.ts
  • src/components/chat/tool-call-utils.ts
  • src/components/chat/toolbar/BackendModelPickerContent.test.tsx
  • src/components/chat/toolbar/BackendModelPickerContent.tsx
  • src/components/chat/toolbar/CheckStatusButton.tsx
  • src/components/chat/toolbar/ContextViewerDialog.tsx
  • src/components/chat/toolbar/DesktopBackendModelPicker.test.tsx
  • src/components/chat/toolbar/DesktopBackendModelPicker.tsx
  • src/components/chat/toolbar/DesktopToolbarControls.tsx
  • src/components/chat/toolbar/DockBurgerButton.test.tsx
  • src/components/chat/toolbar/DockBurgerButton.tsx
  • src/components/chat/toolbar/ExecutionModeDropdown.tsx
  • src/components/chat/toolbar/McpStatusDot.tsx
  • src/components/chat/toolbar/MobileSettingsMenu.test.tsx
  • src/components/chat/toolbar/MobileSettingsMenu.tsx
  • src/components/chat/toolbar/MobileToolbarMenu.test.tsx
  • src/components/chat/toolbar/MobileToolbarMenu.tsx
  • src/components/chat/toolbar/OutputStyleDropdown.test.tsx
  • src/components/chat/toolbar/OutputStyleDropdown.tsx
  • src/components/chat/toolbar/SendCancelButton.test.tsx
  • src/components/chat/toolbar/SendCancelButton.tsx
  • src/components/chat/toolbar/toolbar-options.ts
  • src/components/chat/toolbar/toolbar-utils.test.ts
  • src/components/chat/toolbar/toolbar-utils.ts
  • src/components/chat/toolbar/types.ts
  • src/components/chat/toolbar/useContextViewer.test.tsx
  • src/components/chat/toolbar/useContextViewer.ts
  • src/components/chat/toolbar/useToolbarDerivedState.test.tsx
  • src/components/chat/toolbar/useToolbarDerivedState.ts
  • src/components/chat/view-plan-removal.test.ts
  • src/components/command-palette/CommandPalette.test.tsx
  • src/components/command-palette/CommandPalette.tsx
  • src/components/dashboard/ProjectCanvasView.activity-time.test.ts
  • src/components/dashboard/ProjectCanvasView.keyboard-navigation.test.ts
  • src/components/dashboard/ProjectCanvasView.tsx
  • src/components/dashboard/canvas-worktree-filters.test.ts
  • src/components/dashboard/canvas-worktree-filters.ts
  • src/components/dashboard/modal-worktree-snapshot.test.ts
  • src/components/dashboard/modal-worktree-snapshot.ts
  • src/components/file-browser/FileBrowserSidebar.test.tsx
  • src/components/file-browser/FileBrowserSidebar.tsx
  • src/components/file-browser/MobileFileBrowser.side.test.ts
  • src/components/file-browser/MobileFileBrowser.test.tsx
  • src/components/file-browser/MobileFileBrowser.tsx
  • src/components/github-dashboard/GitHubDashboardModal.tsx
  • src/components/icons/AntigravityIcon.tsx
  • src/components/icons/BrainIcon.tsx
  • src/components/icons/ClaudeIcon.tsx
  • src/components/icons/CodeRabbitIcon.tsx
  • src/components/icons/CodexIcon.tsx
  • src/components/icons/CommandCodeIcon.tsx
  • src/components/icons/CursorIcon.tsx
  • src/components/icons/GitCommitIcon.tsx
  • src/components/icons/GithubIcon.tsx
  • src/components/icons/GrokIcon.tsx
  • src/components/icons/IssueIcon.tsx
  • src/components/icons/KimiIcon.tsx
  • src/components/icons/LinearIcon.tsx
  • src/components/icons/OpenCodeIcon.tsx
  • src/components/icons/PiIcon.tsx
  • src/components/icons/SentryIcon.tsx
  • src/components/icons/icon-semantics.test.ts
  • src/components/icons/reicon-migration.test.ts
  • src/components/icons/reicon.ts
  • src/components/layout/DevModeBanner.tsx
  • src/components/layout/LeftSideBar.tsx
  • src/components/layout/MainWindow.file-browser-side.test.ts
  • src/components/layout/MainWindow.header-integration.test.ts
  • src/components/layout/MainWindow.separator.test.ts
  • src/components/layout/MainWindow.tsx
  • src/components/layout/MainWindow.zen-title.test.ts
  • src/components/layout/MainWindowContent.mobile-swipe.test.tsx
  • src/components/layout/MainWindowContent.tsx
  • src/components/layout/MobileLeftSidebar.test.tsx
  • src/components/layout/MobileLeftSidebar.tsx
  • src/components/layout/SetupIncompleteBanner.tsx
  • src/components/layout/UpdateAvailableModal.tsx
  • src/components/layout/WelcomeProjectGrid.tsx
  • src/components/magic/ContextsTab.tsx
  • src/components/magic/GitHubItemsTab.tsx
  • src/components/magic/LinearItemsTab.tsx
  • src/components/magic/LinkedProjectsModal.test.tsx
  • src/components/magic/LinkedProjectsModal.tsx
  • src/components/magic/LoadContextItems.tsx
  • src/components/magic/LoadContextModal.tsx
  • src/components/magic/MagicModal.test.tsx
  • src/components/magic/MagicModal.tsx
  • src/components/magic/ReleaseNotesDialog.tsx
  • src/components/magic/RemotePickerModal.tsx
  • src/components/magic/ResolveConflictsDialog.tsx
  • src/components/magic/ReviewCommentsDialog.tsx
  • src/components/magic/SecurityAlertsTab.tsx
  • src/components/magic/SentryItemsTab.tsx
  • src/components/magic/UpdatePrDialog.tsx
  • src/components/magic/hooks/useLoadContextData.ts
  • src/components/magic/hooks/useLoadContextHandlers.ts
  • src/components/magic/load-context-sessions.test.ts
  • src/components/magic/load-context-sessions.ts
  • src/components/onboarding/CliSetupComponents.tsx
  • src/components/onboarding/FeatureTourDialog.test.tsx
  • src/components/onboarding/FeatureTourDialog.tsx
  • src/components/onboarding/JeanConfigWizard.tsx
  • src/components/onboarding/JeanMcpIntroDialog.test.tsx
  • src/components/onboarding/JeanMcpIntroDialog.tsx
  • src/components/onboarding/OnboardingDialog.test.tsx
  • src/components/onboarding/OnboardingDialog.tsx
  • src/components/onboarding/RemoteSetupStep.test.tsx
  • src/components/onboarding/RemoteSetupStep.tsx
  • src/components/onboarding/UsageModeStep.test.tsx
  • src/components/onboarding/UsageModeStep.tsx
  • src/components/onboarding/WslSetupStep.test.tsx
  • src/components/onboarding/WslSetupStep.tsx
  • src/components/open-in/OpenInButton.style.test.ts
  • src/components/open-in/OpenInButton.tsx
  • src/components/open-in/OpenInModal.test.tsx
  • src/components/open-in/OpenInModal.tsx
  • src/components/open-in/ScriptsButton.test.tsx
  • src/components/open-in/ScriptsButton.tsx
  • src/components/preferences/CliLoginModal.tsx
  • src/components/preferences/CliReinstallModal.tsx
  • src/components/preferences/KeyRecorder.tsx
  • src/components/preferences/PreferencesDialog.test.tsx
  • src/components/preferences/PreferencesDialog.tsx
  • src/components/preferences/PreferencesSearchBar.tsx
  • src/components/preferences/panes/AgentBrowserSection.test.tsx
  • src/components/preferences/panes/AgentBrowserSection.tsx
  • src/components/preferences/panes/AiLanguageField.tsx
  • src/components/preferences/panes/AntigravityPane.test.tsx
  • src/components/preferences/panes/AntigravityPane.tsx
  • src/components/preferences/panes/ExperimentalPane.tsx
  • src/components/preferences/panes/GeneralPane.structure.test.ts
  • src/components/preferences/panes/GeneralPane.tsx
  • src/components/preferences/panes/IntegrationsPane.test.tsx
  • src/components/preferences/panes/IntegrationsPane.tsx
  • src/components/preferences/panes/JeanMcpSection.tsx
  • src/components/preferences/panes/MagicPromptsPane.test.tsx
  • src/components/preferences/panes/MagicPromptsPane.tsx
  • src/components/preferences/panes/McpServersPane.test.tsx
  • src/components/preferences/panes/McpServersPane.tsx
  • src/components/preferences/panes/OpinionatedPane.test.tsx
  • src/components/preferences/panes/OpinionatedPane.tsx
  • src/components/preferences/panes/OutputStylesEditor.test.tsx
  • src/components/preferences/panes/OutputStylesEditor.tsx
  • src/components/preferences/panes/ProvidersPane.tsx
  • src/components/preferences/panes/SkillsPane.test.tsx
  • src/components/preferences/panes/SkillsPane.tsx
  • src/components/preferences/panes/UsagePane.test.tsx
  • src/components/preferences/panes/UsagePane.tsx
  • src/components/preferences/panes/WebAccessPane.test.tsx
  • src/components/preferences/panes/WebAccessPane.tsx
  • src/components/preferences/preferences-search.ts
  • src/components/projects/AddProjectDialog.structure.test.ts
  • src/components/projects/AddProjectDialog.tsx
  • src/components/projects/CloneProjectModal.test.tsx
  • src/components/projects/CloneProjectModal.tsx
  • src/components/projects/CollapsedCountBadge.test.tsx
  • src/components/projects/CollapsedCountBadge.tsx
  • src/components/projects/DirectoryBrowser.tsx
  • src/components/projects/FolderContextMenu.tsx
  • src/components/projects/FolderTreeItem.test.tsx
  • src/components/projects/FolderTreeItem.tsx
  • src/components/projects/GitInitModal.tsx
  • src/components/projects/ProjectContextMenu.tsx
  • src/components/projects/ProjectSettingsDialog.tsx
  • src/components/projects/ProjectTree.folders-section.test.tsx
  • src/components/projects/ProjectTree.instance-controls.test.ts
  • src/components/projects/ProjectTree.remote-refresh.test.ts
  • src/components/projects/ProjectTree.tsx
  • src/components/projects/ProjectTreeItem.test.tsx
  • src/components/projects/ProjectTreeItem.tsx
  • src/components/projects/ProjectsSidebar.folder.test.tsx
  • src/components/projects/ProjectsSidebar.structure.test.ts
  • src/components/projects/ProjectsSidebar.tsx
  • src/components/projects/RecentWorktreesList.structure.test.ts
  • src/components/projects/RecentWorktreesList.tsx
  • src/components/projects/RemoteProjectsOverview.test.tsx
  • src/components/projects/RemoteProjectsOverview.tsx
  • src/components/projects/ServerTargetSelect.test.tsx
  • src/components/projects/ServerTargetSelect.tsx
  • src/components/projects/WorktreeContextMenu.tsx
  • src/components/projects/WorktreeDropdownMenu.test.tsx
  • src/components/projects/WorktreeDropdownMenu.tsx
  • src/components/projects/WorktreeItem.count.test.tsx
  • src/components/projects/WorktreeItem.structure.test.ts
  • src/components/projects/WorktreeItem.tsx
  • src/components/projects/WorktreeItemSkeleton.tsx
  • src/components/projects/WorktreeList.tsx
  • src/components/projects/panes/AutoFixPane.test.tsx
  • src/components/projects/panes/AutoFixPane.tsx
  • src/components/projects/panes/GeneralPane.test.tsx
  • src/components/projects/panes/GeneralPane.tsx
  • src/components/projects/panes/IntegrationsPane.tsx
  • src/components/projects/panes/JeanJsonPane.tsx
  • src/components/projects/panes/McpServersPane.tsx
  • src/components/projects/project-dialog-routing.test.ts
  • src/components/projects/project-dialog-routing.ts
  • src/components/projects/project-search.test.ts
  • src/components/projects/project-search.ts
  • src/components/projects/project-server-sections.test.ts
  • src/components/projects/project-server-sections.ts
  • src/components/projects/project-tree-drag.test.ts
  • src/components/projects/project-tree-drag.ts
  • src/components/projects/recent-activity.test.ts
  • src/components/projects/recent-keyboard-navigation.test.ts
  • src/components/projects/recent-session-status.test.ts
  • src/components/projects/recent-session-status.ts
  • src/components/projects/recent-sort.test.ts
  • src/components/projects/server-filter.test.ts
  • src/components/projects/server-filter.ts
  • src/components/projects/useWorktreeMenuActions.tsx
  • src/components/remote/RemoteConnectionRecovery.test.tsx
  • src/components/remote/RemoteConnectionRecovery.tsx
  • src/components/remote/RemoteConnectionsDialog.test.tsx
  • src/components/remote/RemoteConnectionsDialog.tsx
  • src/components/remote/RemoteServerRefreshButton.test.tsx
  • src/components/remote/RemoteServerRefreshButton.tsx
  • src/components/shared/FailedRunsBadge.tsx
  • src/components/shared/GhAuthError.tsx
  • src/components/shared/JeanLoadingScreen.tsx
  • src/components/shared/LinearAuthError.tsx
  • src/components/shared/NewIssuesBadge.tsx
  • src/components/shared/OpenPRsBadge.tsx
  • src/components/shared/SecurityAlertsBadge.tsx
  • src/components/shared/SentryAuthError.tsx
  • src/components/shared/WorkflowRunsModal.tsx
  • src/components/shared/workflow-run-utils.test.ts
  • src/components/shared/workflow-run-utils.ts
  • src/components/titlebar/LinuxWindowControls.tsx
  • src/components/titlebar/MinimizedCliUpdate.test.tsx
  • src/components/titlebar/MinimizedCliUpdate.tsx
  • src/components/titlebar/TitleBar.connections-placement.test.ts
  • src/components/titlebar/TitleBar.file-browser-placement.test.ts
  • src/components/titlebar/TitleBar.macos-insets.test.ts
  • src/components/titlebar/TitleBar.mobile-alignment.test.ts
  • src/components/titlebar/TitleBar.tsx
  • src/components/titlebar/server-context.test.ts
  • src/components/titlebar/server-context.ts
  • src/components/ui/backend-label.tsx
  • src/components/ui/breadcrumb.tsx
  • src/components/ui/calendar.tsx
  • src/components/ui/checkbox.tsx
  • src/components/ui/command.tsx
  • src/components/ui/context-menu.tsx
  • src/components/ui/date-picker.tsx
  • src/components/ui/dialog.tsx
  • src/components/ui/dismiss-button.tsx
  • src/components/ui/dropdown-menu.tsx
  • src/components/ui/floating-dock.tsx
  • src/components/ui/git-status-badges.tsx
  • src/components/ui/keybinding-hints.tsx
  • src/components/ui/markdown.test.tsx
  • src/components/ui/markdown.tsx
  • src/components/ui/mobile-community-menu.test.ts
  • src/components/ui/modal-close-button.tsx
  • src/components/ui/native-select.tsx
  • src/components/ui/radio-group.tsx
  • src/components/ui/resizable.tsx
  • src/components/ui/select.tsx
  • src/components/ui/sheet.tsx
  • src/components/ui/sidebar.tsx
  • src/components/ui/sonner.test.tsx
  • src/components/ui/sonner.tsx
  • src/components/ui/spinner.tsx
  • src/components/ui/split-button.tsx
  • src/components/ui/status-indicator.tsx
  • src/components/ui/tag-input.tsx
  • src/components/unread/UnreadBell.test.tsx
  • src/components/unread/UnreadBell.tsx
  • src/components/unread/unread-utils.test.ts
  • src/components/unread/unread-utils.ts
  • src/components/unread/useUnreadCount.ts
  • src/components/usage/usage-entries.tsx
  • src/components/web/WebAccessAuthScreen.test.tsx
  • src/components/web/WebAccessAuthScreen.tsx
  • src/components/worktree/BranchConflictDialog.tsx
  • src/components/worktree/BranchesTab.tsx
  • src/components/worktree/BulkInvestigateBar.tsx
  • src/components/worktree/GitHubIssuesTab.tsx
  • src/components/worktree/GitHubPRsTab.tsx
  • src/components/worktree/IssuePreviewModal.tsx
  • src/components/worktree/LinearIssueItem.tsx
  • src/components/worktree/LinearIssuesTab.tsx
  • src/components/worktree/NewWorktreeItems.test.tsx
  • src/components/worktree/NewWorktreeItems.tsx
  • src/components/worktree/NewWorktreeModal.test.tsx
  • src/components/worktree/NewWorktreeModal.tsx
  • src/components/worktree/QuickActionsTab.tsx
  • src/components/worktree/SecurityAlertsTab.tsx
  • src/components/worktree/SentryIssueItem.tsx
  • src/components/worktree/SentryIssuesTab.tsx
  • src/components/worktree/TeardownOutputDialog.tsx
  • src/components/worktree/hooks/useNewWorktreeData.ts
  • src/components/worktree/hooks/useNewWorktreeHandlers.test.tsx
  • src/components/worktree/hooks/useNewWorktreeHandlers.ts
  • src/components/worktree/hooks/useNewWorktreeKeyboard.ts
  • src/hooks/ui_state_sync.test.ts
  • src/hooks/use-command-context.ts
  • src/hooks/use-zoom.test.tsx
  • src/hooks/use-zoom.ts
  • src/hooks/useAgentBrowserUpdateCheck.test.tsx
  • src/hooks/useAgentBrowserUpdateCheck.ts
  • src/hooks/useBackgroundInvestigation.test.tsx
  • src/hooks/useBackgroundInvestigation.ts
  • src/hooks/useCliVersionCheck.test.tsx
  • src/hooks/useCliVersionCheck.ts
  • src/hooks/useClientViewStatePersistence.test.tsx
  • src/hooks/useClientViewStatePersistence.ts
  • src/hooks/useCodexCodeModeHostRepair.test.ts
  • src/hooks/useCodexCodeModeHostRepair.ts
  • src/hooks/useInstalledBackends.test.ts
  • src/hooks/useInstalledBackends.ts
  • src/hooks/useLinuxFileDrop.ts
  • src/hooks/useMainWindowEventListeners.test.tsx
  • src/hooks/useMainWindowEventListeners.ts
  • src/hooks/useModifierHintsVisible.test.ts
  • src/hooks/useModifierHintsVisible.ts
  • src/hooks/useNow.ts
  • src/hooks/usePrWorktreeSweep.test.ts
  • src/hooks/usePrWorktreeSweep.ts
  • src/hooks/useQueueProcessor.test.tsx
  • src/hooks/useQueueProcessor.ts
  • src/hooks/useServerQuerySync.test.tsx
  • src/hooks/useServerQuerySync.ts
  • src/hooks/useSessionStatePersistence.test.tsx
  • src/hooks/useSessionStatePersistence.ts
  • src/hooks/useSwipeBack.test.tsx
  • src/hooks/useSwipeBack.ts
  • src/hooks/useUIStatePersistence.test.tsx
  • src/hooks/useUIStatePersistence.ts
  • src/hooks/useWorktreeTerminalStatus.tsx
  • src/lib/backend-auto-steer.test.ts
  • src/lib/backend-auto-steer.ts
  • src/lib/cli-update.test.ts
  • src/lib/cli-update.ts
  • src/lib/client-view-state-store.test.ts
  • src/lib/client-view-state-store.ts
  • src/lib/client-view-state.test.ts
  • src/lib/client-view-state.ts
  • src/lib/commands/appearance-commands.ts
  • src/lib/commands/commands.test.ts
  • src/lib/commands/github-commands.ts
  • src/lib/commands/maintenance-commands.ts
  • src/lib/commands/notification-commands.ts
  • src/lib/commands/project-commands.ts
  • src/lib/commands/types.ts
  • src/lib/commands/window-commands.ts
  • src/lib/environment.test.ts
  • src/lib/environment.ts
  • src/lib/file-colors.test.ts
  • src/lib/file-colors.ts
  • src/lib/git-provider.test.ts
  • src/lib/git-provider.ts
  • src/lib/github-discovery-prompt.ts
  • src/lib/github-issue-close-prompt.test.ts
  • src/lib/github-issue-close-prompt.ts
  • src/lib/hydrate-running-snapshot.test.ts
  • src/lib/hydrate-running-snapshot.ts
  • src/lib/local-file.test.ts
  • src/lib/local-file.ts
  • src/lib/model-utils.ts
  • src/lib/multi-websocket-transport.test.ts
  • src/lib/native-server-connections.test.ts
  • src/lib/native-server-connections.ts
  • src/lib/platform.test.ts
  • src/lib/platform.ts
  • src/lib/project-canvas-settings.test.ts
  • src/lib/project-canvas-settings.ts
  • src/lib/project-destination.test.ts
  • src/lib/project-destination.ts
  • src/lib/query-client.ts
  • src/lib/recent-worktree-cache.test.ts
  • src/lib/recent-worktree-cache.ts
  • src/lib/remote-connections.test.ts
  • src/lib/remote-connections.ts
  • src/lib/remote-editor.ts
  • src/lib/restore-keyboard-focus.test.ts
  • src/lib/restore-keyboard-focus.ts
  • src/lib/server-command-routing.test.ts
  • src/lib/server-command-routing.ts
  • src/lib/server-connections.test.ts
  • src/lib/server-connections.ts
  • src/lib/server-resource.test.ts
  • src/lib/server-resource.ts
  • src/lib/session-debug.ts
  • src/lib/session-defaults.test.ts
  • src/lib/settings-target.tsx
  • src/lib/streaming-flush.ts
  • src/lib/terminal-gesture.ts
  • src/lib/terminal-instances.idle-flush.test.ts
  • src/lib/terminal-instances.shift-enter.test.ts
  • src/lib/terminal-instances.ts
  • src/lib/terminal-lifecycle.test.ts
  • src/lib/terminal-lifecycle.ts
  • src/lib/transport.test.ts
  • src/lib/transport.ts
  • src/lib/ui-state-relaunch.test.ts
  • src/lib/ui-state-relaunch.ts
  • src/lib/ui-state-resources.test.ts
  • src/lib/ui-state-resources.ts
  • src/lib/usage-format.test.ts
  • src/lib/usage-format.ts
  • src/main.tsx
  • src/services/antigravity-cli.ts
  • src/services/chat.send-message.test.tsx
  • src/services/chat.test.ts
  • src/services/chat.ts
  • src/services/chat.unread-count.test.ts
  • src/services/claude-cli.ts
  • src/services/codex-cli.test.ts
  • src/services/codex-cli.ts
  • src/services/commandcode-cli.ts
  • src/services/cursor-cli.ts
  • src/services/git-status.test.ts
  • src/services/git-status.ts
  • src/services/github.test.ts
  • src/services/github.ts
  • src/services/grok-cli.ts
  • src/services/integration-routing.test.tsx
  • src/services/jean-skills.ts
  • src/services/kimi-cli.ts
  • src/services/linear.ts
  • src/services/mcp.test.ts
  • src/services/mcp.ts
  • src/services/model-catalog.test.ts
  • src/services/model-catalog.ts
  • src/services/multi-server-projects.test.ts
  • src/services/multi-server-projects.ts
  • src/services/multi-server-sessions.test.ts
  • src/services/multi-server-sessions.ts
  • src/services/opencode-cli.test.ts
  • src/services/opencode-cli.ts
  • src/services/outline.ts
  • src/services/output-styles.ts
  • src/services/pi-cli.ts
  • src/services/pr-status.test.ts
  • src/services/pr-status.ts
  • src/services/preferences.test.ts
  • src/services/preferences.ts
  • src/services/projects-stability.test.tsx
  • src/services/projects.bootstrap.test.ts
  • src/services/projects.linked-settings.test.tsx
  • src/services/projects.ts
  • src/services/projects.web-editor.test.tsx
  • src/services/recent-session-pins.test.tsx
  • src/services/recent-session-pins.ts
  • src/services/recent-worktrees.test.ts
  • src/services/saved-contexts.test.ts
  • src/services/saved-contexts.ts
  • src/services/server-capabilities.test.ts
  • src/services/server-capabilities.ts
  • src/services/settings-assets-routing.test.tsx
  • src/services/ui-state.ts
  • src/store/browser-store.test.ts
  • src/store/browser-store.ts
  • src/store/chat-store.test.ts
  • src/store/chat-store.ts
  • src/store/projects-store.test.ts
  • src/store/projects-store.ts
  • src/store/terminal-store.test.ts
  • src/store/terminal-store.ts
  • src/store/ui-store.test.ts
  • src/store/ui-store.ts
  • src/types/chat.test.ts
  • src/types/chat.ts
  • src/types/claude-cli.ts
  • src/types/keybindings.ts
  • src/types/pr-status.ts
  • src/types/preferences.test.ts
  • src/types/preferences.ts
  • src/types/projects.ts
  • src/types/server-capabilities.ts
  • src/types/server-preferences.ts
  • src/types/server-resource.ts
  • src/types/ui-state.ts
  • tasks/todo.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@figassis
figassis marked this pull request as ready for review October 3, 2026 16:37
@figassis
figassis merged commit 2e23c71 into main Oct 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.