Skip to content

upstream/2026-04-26 PR-F2: v2 workspace/browser 3 commits 取り込み (fork 拡張保持)#443

Merged
MocA-Love merged 4 commits intoupstream/batch-2026-04-26-pr-f1from
upstream/batch-2026-04-26-pr-f2
Apr 26, 2026
Merged

upstream/2026-04-26 PR-F2: v2 workspace/browser 3 commits 取り込み (fork 拡張保持)#443
MocA-Love merged 4 commits intoupstream/batch-2026-04-26-pr-f1from
upstream/batch-2026-04-26-pr-f2

Conversation

@MocA-Love
Copy link
Copy Markdown
Owner

Summary

upstream (superset-sh/superset) の追加コミットを取り込む PR-F2。本バッチ (PR-F) 全 9 件のうち v2 workspace / browser 系 3 件 をまとめる。base は PR-F1 (upstream/batch-2026-04-26-pr-f1)。後続 PR-F3 (terminal) は本 PR の上に積み上げる。

ユーザー方針: 「v1 しか日常的に使わないが、upstream は積極的に取り込む」 → fork 独自拡張は維持しつつ upstream 機能を追加。

取り込み内容

Commit upstream PR 概要 規模
19268d170 superset-sh#3744 v2 panes / browser pane に shell-owned interaction (resize / drag) 中の pointer-events passthrough 機構を追加。packages/panesWorkspaceInteractionState callback (resizeActive) と useWorkspaceInteractionState 新規。desktop の v2 page は useBrowserShellInteractionPassthrough フックで aggregate して browser runtime に伝達。 11 files / +208 -13
81e422828 superset-sh#3747 v2 workspace page を hooks に責務分割するリファクタ。新規 useClearActivePaneAttention, useDefaultPaneActions, useDirtyTabCloseGuard, useWorkspaceFileNavigation, useWorkspacePaneOpeners を追加。 11 files / +492 -375
92eb1ab42 superset-sh#3748 TopBar の VersionToggle を削除し、Settings → Experimental に移動。新規 experimental/page.tsx, ExperimentalSettings.tsxuseV2LocalOverrideStoresetForceV1 API に変更。 11 files / +123 -53
f45e81200 (fork fix) 上記 conflict 解消で欠落していた pane data 型 import (BrowserPaneData/ChatPaneData/CommentPaneData/DiffPaneData/FilePaneData/TerminalPaneData) を復元。biome lint:fix で未使用 WorkspaceStore/StoreApi を整理。 1 file / +12 -13

Fork 側のコンフリクト解決

browserRuntimeRegistry.ts (19268d170)

3 hunk すべて手動解決。

  • fork は browser runtime を multi-tab/group 構造 (PaneGroup ごとに複数 BrowserView) に独自拡張済。upstream patch は single-entry 前提で setShellInteractionPassthrough(active: boolean) を導入。
  • 統合: fork の PaneGroup モデルを維持しつつ upstream の setWindowDragPassthrough / setShellInteractionPassthrough / applyPointerPassthrough API を移植。applyLayout 内で isPointerPassthroughActive() を参照する形に変更し、shell 側のリサイズ中は全 active webview の pointer-events を none に切り替える。

v2-workspace/$workspaceId/page.tsx (19268d170, 81e422828)

複数 hunk を手動解決。

  • fork 必須拡張をすべて維持: useCommandPalette の richer variant、createWorkspaceMemo (memo tab)、useRightSidebarOpenViewWidth、3 引数版 openFilePane(filePath, displayName?, position?)、browser shortcut forwarding、recently viewed / line-column open、presets bar 表示設定 fork state、localWorkspaceState?.rightSidebarOpen ベースの sidebar 制御。
  • upstream の新規 hook 呼び出しを統合: useBrowserShellInteractionPassthrough (<Workspace> に伝達)、useDirtyTabCloseGuard (タブ閉じ時の dirty file 確認 dialog)。
  • upstream hook のうち API 不一致で呼べないもの:
    • useWorkspaceFileNavigation: upstream 版は 2 引数 openFilePanecollections.v2WorkspaceLocalState 由来の revealPath を期待しており、fork の 3 引数 openFilePane および別経路 reveal と統合できない。ファイルは追加するが page.tsx からは呼ばずインライン実装を維持
    • useWorkspacePaneOpeners: 同様に openFilePane API 不一致のため fork 独自実装維持。ファイルのみ追加
    • useDefaultPaneActions: fork が presets bar / memo tab 等の独自 default action を持つため fork 実装を維持。
  • 将来的に openFilePane API を upstream 形に揃えれば dead file 化している hook を呼び出せる。後続 PR で整理候補。

settings-search.ts (92eb1ab42)

fork 側に MODELS_NEXT_EDIT 等の追加エントリがあるため、EXPERIMENTAL_SUPERSET_V2追記する形で解決。

VersionToggle.tsx 削除

upstream は TopBar から削除する方針。git rm で削除済。TopBar.tsx 側の参照は auto-merge で除去。

Fork 固有機能ヘルスチェック

  • 19 tRPC procedure: 全件健在
  • 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) 健在
  • desktop 1.5.10、dmg.size="4g" 維持、port-scanner win32 維持
  • drizzle idx (db=0035_add_automations / local-db=0072_service_status_definitions) 維持
  • listBranches sortOrder / pinDefault (host-service git.ts) 健在

検証

  • bun install: ✅ (no changes)
  • bun run typecheck: ✅ (28/28 successful)
  • bun run lint: ✅ (Biome: errors なし)
  • bun run --filter @superset/desktop compile:app: ✅ (electron-vite build, 2m 55s, exit 0)

Codex 事前調査

/tmp/prF-codex-preanalysis.md で 9 commits 全件の cherry-pick 判定 / 衝突予測 / fork 固有機能リスク評価を実施。本 PR 3 件は事前調査でも「v2 workspace 独自拡張と正面衝突するため別 PR 推奨」と判定された領域で、上記方針通り fork 拡張保持 + upstream 機能追加で統合。

既知の負債 / 後続作業

  • useWorkspaceFileNavigation / useWorkspacePaneOpeners は upstream から取り込んだファイルだが page.tsx から呼ばれていない (API 不一致)。将来 openFilePane を upstream 形に揃える時に活かす想定。
  • 詳細な動作確認は v2 workspace 利用が前提となるため、v2 利用者がいる時にスポット検証してもらう想定。

後続バッチ

Test plan

  • v2 workspace のサイドバー / ペイン境界をドラッグでリサイズ中、ブラウザペイン上を通過してもリサイズが中断されない (pointer-events passthrough)
  • v2 workspace のウィンドウドラッグ中も browser pane 上で挙動が正しい
  • v2 workspace の dirty file が開いているタブを閉じる際、保存/破棄 dialog (useDirtyTabCloseGuard) が出る
  • v2 workspace の command palette / memo tab 作成 / openFilePane / right sidebar width / browser shortcut / presets bar が従来通り動く
  • Settings → System → Experimental の "Try Superset Version 2 (Early Access)" トグルで v2/v1 切替が機能する (アカウントが対象でない場合は disabled になる)
  • TopBar から旧 VersionToggle が消えていてレイアウト崩れなし
  • v1 workspace は影響を受けない (regression なし)

Kitenite and others added 4 commits April 26, 2026 17:08
* move v2 toggle to experimental settings

* move experimental settings under system

* remove unused v2 override toggle
…erry-pick conflict resolution

- Restore BrowserPaneData, ChatPaneData, CommentPaneData, DiffPaneData,
  FilePaneData, TerminalPaneData imports that were dropped during
  b1e1eb7 conflict resolution
- Remove unused WorkspaceStore, StoreApi imports (biome lint:fix)
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 26, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 923798e6-73b3-46cb-b002-a093f5f5a137

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch upstream/batch-2026-04-26-pr-f2

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 and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 26, 2026

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ⚠️ Neon database branch
  • ⚠️ Electric Fly.io app

Thank you for your contribution! 🎉

@MocA-Love MocA-Love merged commit d07bf10 into upstream/batch-2026-04-26-pr-f1 Apr 26, 2026
12 of 13 checks passed
MocA-Love added a commit that referenced this pull request Apr 26, 2026
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants