Repository navigation
fix(web): show text input for adding projects on Linux desktop - #1075
juliusmarminge merged 2 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment Tip Migrating from UI to YAML configuration.Use the |
|
@juliusmarminge sorry for tagging I know you are busy but can you take a look at this? One line change, closes 2 issues and helps linux users, thanks... |
| @@ -305,7 +305,8 @@ export default function Sidebar() { | |||
| const clearSelection = useThreadSelectionStore((s) => s.clearSelection); | |||
| const removeFromSelection = useThreadSelectionStore((s) => s.removeFromSelection); | |||
| const setSelectionAnchor = useThreadSelectionStore((s) => s.setAnchor); | |||
| const shouldBrowseForProjectImmediately = isElectron; | |||
| const isLinuxDesktop = isElectron && /linux/i.test(navigator.platform); | |||
There was a problem hiding this comment.
extract Linux matcher to helper. We already have for Windows and Mac
There was a problem hiding this comment.
Done, thanks!
There was a problem hiding this comment.
@juliusmarminge one more time please 🙏 thanks and sorry again for tagging
7a794ef to
9757ff5
Compare
|
rebased on latest main, ready for another look |
Merges `pingdotgg/t3code` `c9fa1367ca` (99 commits from `0f09627a11`) into the fork. No open merge PR to stack on; branches from `main`. ## Merge - Landed 940 files against 939 in the upstream range (the extra is `docs/fork/inventory.json`); fork delta 775 files. - 8 conflicts, resolved by their preflight verdicts — details in the `docs/fork/upstream-merge-log.md` entry. The ones worth a reviewer's eye: - `ProviderSettingsPanel.tsx`: upstream moved Add provider into `titleAction` (pingdotgg#17152); the `FEATURES.providerConfiguration` gate moved with it. - `PreviewView.tsx` (`decide`): fork's framed `navigate` kept beside upstream's move-tab/`close`. - `ChatMarkdown.tsx`: upstream's markdown pipeline moved to `@t3tools/shared/markdownPipeline`; only the Moatless Artifact imports re-applied. - `pnpm-lock.yaml` re-derived by install (fork `moatless-api` edge present). - Contract: `UnsupportedMethodError` added to `orchestration.searchThread`, `orchestration.searchThreadStream`, `preview.reportProfiles`; dropped from `projects.mutate` (served by the backend since moatless pingdotgg#1075). - `AppRoot.test.tsx` (fork-only) updated for upstream's new `<BrowserProfileReporter />` child. ## Verification `verify.mjs`: duplicate-adds, tripwires, resolution-check, unsupported-methods, lockfile, fmt, lint, typecheck and build all pass. Test: `@t3tools/web` had one failure (`AppRoot.test.tsx`), fixed and re-run green. Still red and confirmed failing alone — the same four as the 2026-10-08 merge, recorded there as machine rather than code: `ServerBrowserPage`, `AcpAdapterV2`, `OrchestratorReplayFixtures` (server) and `OpenCodeServerLedger` (now in `@t3tools/provider-opencode`). The full pass was not re-run after the `AppRoot` test fix; the web package re-run and that file alone were. ## Usable as-is - Thread-find match tints, timeline marker room, sidebar drag fix, collapsed-composer spacing, centered scroller fix, PR panel layout fixes (pingdotgg#17263, pingdotgg#17372, pingdotgg#17373, pingdotgg#17016, pingdotgg#17077, pingdotgg#15560–pingdotgg#15588, pingdotgg#16162). - Compact-before-send chip with token count (pingdotgg#17127); quote chips show your note (pingdotgg#15703); projectless threads show their machine (pingdotgg#17022); short messages with quotes/links no longer collapse (pingdotgg#16624); copy button position (pingdotgg#17137). - File preview fixes: downloads, in-page links, repo paths, favicons no longer leak internal hosts (pingdotgg#16950); previews before a thread's first message (pingdotgg#17352). - Terminal scrollback navigation (pingdotgg#17091). - Usage page filters and performance (pingdotgg#16970, pingdotgg#17147) — only where the fork exposes Usage. - Mobile, desktop and relay fixes (many) — not fork targets, taken as-is. - Provider package extraction (`packages/provider-{core,acp,cursor,grok,muse,opencode,pi,testing}`) — internal refactor, no fork impact beyond the new web deps. ## Unsupported in Moatless / needs implementation - **Find in thread** (pingdotgg#10439) — `orchestration.searchThread`, `orchestration.searchThreadStream`; client gated on the `threadFind` / `threadFindProgressive` capabilities, which Moatless does not report, so it toasts "unavailable on this server". Needs a backend search over projected messages plus the capability. Added to `docs/fork/gaps.md`. - **Browser profiles for server-hosted tabs** (pingdotgg#16956, `BrowserProfileReporter`) — `preview.reportProfiles`; sent only to `serverBrowser` environments, so never sent here. Extends the server-hosted-browser gap. - **Connection permissions / session lifetime** (pingdotgg#17370) — `SessionPermissions.tsx` renders inside the Connections page, which `FEATURES.connections` hides. - **CLI-update-unlocks-model hint** (pingdotgg#17307) — needs provider snapshot fields Moatless does not publish. - **Muse Code native provider** (pingdotgg#17082), **JetBrains over SSH** (pingdotgg#17271) — upstream server/desktop runtime. ## Backend behavior to consider reproducing in Moatless - Settle as soon as branch status sees the PR merge (pingdotgg#17148, `ThreadSettlementReactor.ts`); an agent can settle its own thread at turn end (pingdotgg#17145). - A message sent during a rollback no longer undoes it (pingdotgg#17079); held queued wakes no longer keep delegated tasks running (pingdotgg#17028). - Long-thread message sync paged faster (pingdotgg#17387); shell snapshot decode no longer blocks other DB reads (pingdotgg#17141); ACP tool updates no longer persist a snapshot per chunk (pingdotgg#16682). - Agent browser tools stop bloating history and respect tab ownership (pingdotgg#16956); authenticated GitHub Enterprise hosts recognised (pingdotgg#11059); session lifetime enforced (pingdotgg#17370). All recorded in `docs/fork/gaps.md`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Moatless task: https://moatless.soaplabstest.com/tasks/571512c6-b6a0-4727-943d-231929222fc2
Summary
On Linux/Wayland, the GTK file picker is broken for folder selection in Electron apps, completely blocking adding projects. This shows the web-style text input on Linux desktop instead of immediately opening the native file picker.
Closes #966
Closes #270
Changes
isElectron && /linux/i.test(navigator.platform))Test plan
Note
Show text input for adding projects on Linux desktop in Sidebar
On Linux Electron, the native file browser dialog cannot be used to add projects, so the text input path entry is shown instead. Adds
isLinuxPlatformto utils.ts and uses it in Sidebar.tsx to setshouldBrowseForProjectImmediatelytofalseon Linux Electron.Macroscope summarized 9757ff5.