revert: PR #53のマージを取り消し (upstream-main-2026-04-03)#3134
Closed
MocA-Love wants to merge 270 commits intosuperset-sh:mainfrom
Closed
revert: PR #53のマージを取り消し (upstream-main-2026-04-03)#3134MocA-Love wants to merge 270 commits intosuperset-sh:mainfrom
MocA-Love wants to merge 270 commits intosuperset-sh:mainfrom
Conversation
…generation
Replace the simple truncated-diff approach with a gptcommit-style
two-phase strategy for the highest accuracy on large diffs:
Phase 1: Summarize each changed file independently in parallel via LLM.
- Lock files, binaries, and other low-value files are skipped
(file names only passed to Phase 2)
- Small diffs (<300 chars) are passed directly without an LLM call
- Large per-file diffs are truncated at 4000 chars before summarizing
Phase 2: Combine all file summaries + diff stats into a single prompt
and generate the final conventional commit message.
This avoids token-limit truncation that loses important context and
produces significantly better messages for multi-file changes.
feat(desktop): AIコミットメッセージ自動生成
The existing @pierre/diffs diff viewer renders all lines at once, causing severe lag on files with 2000+ lines (~180k+ DOM nodes). Add CodeMirrorDiffViewer using @codemirror/merge which provides virtualized rendering (only visible lines in DOM). Files with >2000 total lines automatically use this viewer instead. - Reuses existing CodeMirror theme, fonts, and syntax highlighting - Unchanged regions are collapsed (margin: 3, minSize: 4) - Read-only side-by-side view with line numbers - No changes to LightDiffViewer (small files use it as before)
The default scanLimit (500) causes the diff algorithm to fall back to an imprecise mode for large files, marking everything as changed. Increase to 50000 with a 5s timeout.
Keep context menu actions (split, move, close, edit at location) available for large file diffs. Also conditionally skip MarkdownSearch and DiffScrollbarDecorations for CodeMirror path since they are @pierre/diffs specific.
feat(desktop): 大規模ファイル向け CodeMirror diff ビューア
- Add drag-to-resize handle on the ports section border, allowing users to adjust the height (80–600px, persisted to localStorage) - Add filter toggle button (funnel icon) to show only ports defined in ports.json, hiding auto-detected ports - Fix layout so ports list can expand by using shrink-0 and explicit height instead of max-height
feat(desktop): ポートリストのリサイズ・フィルタ機能
- SUPERSET_WORKSPACE_NAME=superset を明示的に指定するビルド手順に修正 - bun dev 起動中のビルドで環境変数が焼き込まれる問題の注意書きを追加 - 上書きインストール時のデータ保持について明記
Docker 等で起動されたポートはターミナルの子プロセスとして検出できないため、 ports.json に定義されたポートは未検出でもサイドバーに常時表示するように変更。 検出済みはアクティブ表示、未検出はグレー表示で視覚的に区別。
…-show feat(desktop): ports.json 定義ポートの常時表示
同名ワークスペース(例: 全て "default")が複数ある場合に区別がつかない問題を修正。 getAllGrouped のキャッシュからワークツリーパスの basename を取得し表示名に使用。
feat(desktop): Ports セクションのワークスペース名をワークツリー名に改善
Electron 既存の Cmd+/- ズームと同じ webContents.setZoomLevel() を使用。 zoom-changed イベントの subscription でキーボード操作とボタン操作を リアルタイム同期。ツールバーに [-] [%] [+] ボタンを配置。
- ズーム: Cmd+/- のポーリング同期(300ms)で倍率表示がリアルタイム連動 - 新タブ: target="_blank" / Cmd+click を新しいブラウザタブで開くように変更 グローバル subscription で非表示タブからのイベントも正しく処理 - URLコピー: ツールバーにリンクボタン追加、クリックでクリップボードにコピー
feat(desktop): ブラウザタブのズーム倍率表示・操作ボタン
layout.tsx はフォークの useBrowserNewWindowHandler と upstream の CLOSE_WORKSPACE ホットキーの両方を保持。bun.lock は upstream 版を採用。
各ペインツールバーのSplit Paneボタン左にPop outボタンを追加。 クリックするとそのペインだけが独立した新ウィンドウとして開く。 ウィンドウを閉じるとタブがメインウィンドウに自動返却される。 - WindowManager: 複数BrowserWindowの管理、IPC同期ハンドラ - preloadで同期的にタブデータを注入(Zustand persistとの競合回避) - tearoffPaneIds: ターミナルセッションをkillせずにペインを分離 - 複数ペインのタブでは対象ペインのみ抽出してポップアウト
- TopBar・左サイドバー・右サイドバー(Changes/Files)を非表示 - プリセットボタン群(+Code等)を非表示、SetRunは維持 - ウィンドウドラッグ用バーをタブバー上部に追加 - ポップアウトウィンドウ内ではPop outボタンを非表示(無限増殖防止)
太いドラッグバーを削除し、タブバーの+ボタン右の空きスペースで ウィンドウを掴めるように変更。トラフィックライト用の左パディングも調整。
- 全タブを1回のIPCメッセージでまとめて送信(個別送信による重複を防止) - 受信側で既存タブIDとの重複チェックを追加
メインウィンドウとの意味的な衝突を防止。
ワークスペースセクションと同じ13色パレットからタブの背景色を設定可能に。 アクティブタブは濃く、非アクティブは薄く半透明で表示される。
- mainWindow不在時のタブ返却消失にログ警告を追加 - handlePopOutでmutate成功後にdetachするよう修正(タブ消失防止) - Pop outボタンにaria-labelを追加(a11y)
feat(desktop): ペインのポップアウト(別ウィンドウ分離)機能
- Virtualize result list with @tanstack/react-virtual to avoid rendering all 500 items at once - Memoize SearchTreeNode, SearchFileGroup, SearchMatchItem with React.memo - Cache highlightSearchText output with useMemo per match item - Extract handleOpenFolderChange as useCallback to stabilize props for memoized components
…FilePreviewContent
- Reserve slots for workspace-config entries before applying discovery limit - Re-throw non-ENOENT errors in credential store loader to prevent data loss - Clear tabId/paneId from URL after opening file via deep link - Hide default-app button in SpreadsheetDiffViewer when commitHash is present - Restrict line/column URL params to positive integers only - Derive hasSupersetLink from actual buildSupersetOpenLink result - Memoize shiki theme in InspectCodeBlock to prevent unnecessary re-renders - Add projectId fallback in FilesView for workspaces without nested project relation - Conditionally return superset link actions only when link is buildable
- Fix SpreadsheetDiffViewer showing "No changes" for added/removed empty sheets - Add password rotation support for workspace-config Postgres connections - Migrate manual Postgres connectionString from plain localStorage to AES-256-GCM encrypted store - Add tRPC procedures for manual Postgres connection string CRUD - Add IPv6 bracket notation in Postgres URL construction (RFC3986)
- Fix getDiffRowIndices to only synthesise location for empty added/removed sheets - Guard against double-bracketing already-bracketed IPv6 hosts in Postgres URLs - Store host/port/databaseName/usernameHint on manual Postgres connections for display and edit hydration - Update getConnectionSubtitle to use host metadata instead of plain connectionString - Populate edit form from store metadata instead of deprecated connectionString field - Lock username field when retaining workspace-config credentials (prevent username/password mismatch) - Add aria-label to icon-only buttons (edit, remove, filter, history remove) - Wrap disabled refresh button in span to restore tooltip visibility (ProblemsView)
- Fall back to credential-store username for usernameHint when definition.username is absent - Serialize credential-store and manual-connection-store writes with per-file mutex to prevent race conditions - Scroll to preferred diff row when switching sheets in SpreadsheetDiffViewer - Show value-detail button on keyboard focus (group-focus-within / focus-visible) - Surface migration errors to user via toast instead of silently swallowing them
- Use "unknown" instead of "postgres" as host fallback in getConnectionSubtitle - Clear _pendingConnectionString after successful migration to prevent repeated useEffect runs
- Skip credential store re-save when editing manual Postgres without changing password, preventing blank DSN overwrite - Explicitly clear _pendingConnectionString in updateConnection store to stop repeated migration loop - Reject deep-link file params that resolve outside the workspace root to prevent arbitrary local file access
feat(desktop): Docker サイドバー・検索強化・スプレッドシート改善・データベース設定編集など多数の機能追加
Add a cloud download button (IoCloudDownloadOutline) to the left of the Refresh Changes button in the right sidebar's Git tab. Clicking it runs git fetch --prune via a new fetchRemote tRPC mutation.
- Clear status cache after git fetch --prune so ahead/behind reflects immediately - Call onRefresh() after successful fetch to sync branch/PR display - Show toast error on fetch failure instead of silently ignoring
merge: integrate upstream/main (2026-04-03)
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
PR #53(upstream-main-2026-04-03のマージ)をrevertするコミットです。
PR #53のマージによって以下の機能が失われたため、そのマージを打ち消しています。
Related Issues
関連: #53
Type of Change
Testing
Screenshots (if applicable)
なし
Additional Notes
このPRはPR #53のマージによって失われた機能を復元するためのrevertです。upstream取り込み時に機能が上書きされたため、マージコミット自体を取り消しています。
Summary by cubic
PR #53 の upstream 取り込みをリバートし、フォークで失われたデスクトップ機能と CI 振る舞いを元に戻します。Diff 編集、行クリックでの
git blame、Files タブのシンタックスハイライトが復元されます。Bug Fixes
git blameを表示Refactors
if: github.repository == 'superset-sh/superset'を追加)Written for commit ae1703f. Summary will update on new commits.