upstream/2026-04-26 PR-F3: terminal 3 commits 取り込み (#3742 revert 手動移植)#444
Conversation
…h#3742)" (superset-sh#3750) This reverts commit 583fa5d.
) * Show terminal sessions from all workspaces in dropdown Terminal pane now tracks the session's owning workspaceId in pane data, so switching to a detached session in another workspace preserves cleanup attribution. The session dropdown groups sessions by workspace, and selecting an attached session from a different workspace navigates to that workspace with the terminal focused. Removed the confirmation dialogs around kill/remove since toast feedback is sufficient. * Invalidate terminal sessions even when kill fails
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization 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)
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 |
🧹 Preview Cleanup CompleteThe following preview resources have been cleaned up:
Thank you for your contribution! 🎉 |
d0d58be
into
upstream/batch-2026-04-26-pr-f2
3 PR (#442, #443, #444) で取り込み済みの 9 commits を git 履歴上もマージ済みに記録する。 内容差分は無し (merge -s ours)。 取り込み内容: - 6b96acd Improve sidebar group management UX (superset-sh#3745) - a4079e7 Update dashboard sidebar workspace icons (superset-sh#3755) - d3753d0 [codex] Use dynamic footer copyright years (superset-sh#3754) - ce606be Handle browser passthrough during v2 resize (superset-sh#3744) - b1e1eb7 Refactor v2 workspace page (superset-sh#3747) - 8693869 [codex] move v2 toggle to experimental settings (superset-sh#3748) - ef3f381 Revert "fix(desktop): refit v2 terminal after font settle (superset-sh#3742)" (superset-sh#3750) - 手動移植 (vibrancy patch 維持) - 25b2d52 Show terminal sessions from all workspaces in dropdown (superset-sh#3751) - 62737db fix v1 terminal resize repaint (superset-sh#3756)
Summary
upstream (superset-sh/superset) の追加コミットを取り込む PR-F3 (本バッチ最終)。terminal 系 3 件をまとめる。base は PR-F2 (
upstream/batch-2026-04-26-pr-f2)。マージ後behind upstream/main = 0に到達予定。ユーザー方針: fork 固有のものは残しつつ upstream は積極取り込み。font-settle revert (
ef3f38111) は WebGL vibrancy patch を残し、font-settle 機構のみ撤去 する手動移植。取り込み内容
4892e67a9onRendererChangecallback /clearTextureAtlas/LoadAddonsOptions/waitForTerminalFont/scheduleFontSettleRefit/_disposeFontSettle/_onResize/_clearTextureAtlas/_fontSettleTokenを撤去。a8f36fc5fpaneData.workspaceIdをペインデータに追加し、ensureSession/statPath/ 外部エディタ / lifecycle cleanup が session の所属 workspace を尊重。terminal.listSessionsからworkspaceId引数を撤去 (全件返す)。kill / remove の confirmation dialog 撤廃 (toast のみ)。cccd88013fitAndRefresh()ヘルパー集約、pinned-bottom / scrolled viewport state 維持、cols/rows 実変化時のみ backend resize 通知、ResizeObserver と live container を cache 内で管理。Fork 側のコンフリクト解決
terminal-addons.ts(4892e67a9)1 hunk のみ残った (auto-merge は
LoadAddonsOptions/clearTextureAtlas/loadAddons(terminal)への引数縮小をすべて受け入れ済)。installRectangleRendererAlphaPatch(webglAddon)(FORK NOTE 付、WebGL vibrancy 透過パッチ) +options.onRendererChange?.()呼び出し統合: fork 独自の
installRectangleRendererAlphaPatchと FORK NOTE は維持、options.onRendererChange?.()は撤去 (関数シグネチャからoptionsも消えるため呼び出せない)。TerminalPane.tsx(a8f36fc5f)2 hunk を手動解決。
fileDragBehavior/fileOpenModeの useQuery 2 件を保持。HEAD のuseOpenInExternalEditor(workspaceId)呼び出しは下の hunk でsessionWorkspaceId引数に置き換わるため削除。paneData.terminalId ?? crypto.randomUUID()をuseMemoで安定化、旧 pane data 形式{sessionKey,cwd,launchMode}互換) を維持しつつ、upstream のsessionWorkspaceId = paneData.workspaceId ?? workspaceIdとuseOpenInExternalEditor(sessionWorkspaceId)を追加統合。FORK NOTE で workspace 横断対応の意図と fallback 経路を明記。その他 5 ファイル (
TerminalSessionDropdown.tsx,usePaneRegistry.tsx,types.ts,useGlobalTerminalLifecycle.ts,host-service/.../terminal.ts) は auto-merge 成功。v1-terminal-cache.ts(cccd88013)3 hunk を手動解決。
resizeDebounceTimerプロパティと upstream のcontainerプロパティ。実装側でresizeDebounceTimerをセットするコードが存在せず dead field 化していたため撤去、upstream のcontainerを採用。resizeDebounceTimer: nullを撤去、container: nullを採用。fitAndRefresh(entry)ヘルパー呼び出しに置き換え。upstream のfitAndRefreshは viewport state 復元と pinned-bottom 維持を内包しており、HEAD の挙動を上回る品質。attachToContainer内のif (entry.resizeDebounceTimer) { clearTimeout(...); ... }ブロックも dead code として撤去。これによりフォーク独自の (実装未完だった) debounce 機構を捨てて、upstream の正しい viewport / repaint 制御を採用。
Fork 固有機能ヘルスチェック
ansi_up/@vscode/ripgrep/@xyflow/react健在TERMINAL_OPTIONS(5) /SUPERSET_WORKSPACE_NAME(15) /moonshot-ai.kimi-code(5) /MainWindowEffects(3) /INCEPTION_AUTH_PROVIDER_ID(3) /v1MigrationState(2) /TiptapPromptEditor(6) 健在dmg.size="4g"維持、port-scanner win32 維持db=0035_add_automations/local-db=0072_service_status_definitions) 維持sortOrder/pinDefault(host-service git.ts) 健在installRectangleRendererAlphaPatch+ FORK NOTE) 完全保持useMemo+crypto.randomUUID()) 健在検証
bun install: ✅ (no changes)bun run typecheck: ✅ (28/28 successful, 42s)bun run lint: ✅ (Biome: 4398 files, no fixes applied)bun run --filter @superset/desktop compile:app: ✅ (electron-vite build, 3m 6s, exit 0)Codex 事前調査
/tmp/prF-codex-preanalysis.mdで 9 commits 全件の cherry-pick 判定 / 衝突予測 / fork 固有機能リスク評価を実施。本 PR のef3f38111は事前調査でも「そのまま cherry-pick 危険、手動移植推奨」と判定された領域で、上記方針通り WebGL vibrancy patch を保護しつつ font-settle 機構だけ撤去。upstream 取り込み状況
PR-F1 (#442) → PR-F2 (#443) → 本 PR-F3 を順番にマージで
behind upstream/main = 0に到達。最後にgit merge -s ours <最後のupstream commit>で記録整合は別 commit で実施 (本 PR 範囲外、main マージ後)。Test plan
v2 terminal (superset-sh#3750 revert / superset-sh#3751)
installRectangleRendererAlphaPatch健在性){sessionKey,cwd,launchMode}) の workspace でも legacy guard が効いてクラッシュしないv1 terminal (superset-sh#3756)