Skip to content

revert: PR #53のマージを取り消し (upstream-main-2026-04-03)#3134

Closed
MocA-Love wants to merge 270 commits intosuperset-sh:mainfrom
MocA-Love:main
Closed

revert: PR #53のマージを取り消し (upstream-main-2026-04-03)#3134
MocA-Love wants to merge 270 commits intosuperset-sh:mainfrom
MocA-Love:main

Conversation

@MocA-Love
Copy link
Copy Markdown

@MocA-Love MocA-Love commented Apr 3, 2026

Description

PR #53(upstream-main-2026-04-03のマージ)をrevertするコミットです。

PR #53のマージによって以下の機能が失われたため、そのマージを打ち消しています。

  • Diff Viewer編集機能
  • 行クリック時のgit blame表示
  • Filesタブのシンタックスハイライト

Related Issues

関連: #53

Type of Change

  • Other (please describe): revert(PR #53のマージ打ち消し)

Testing

  • Diff Viewerで編集操作が可能なことを確認
  • Filesタブでシンタックスハイライトが表示されることを確認
  • ファイルの行クリックでgit blameが表示されることを確認

Screenshots (if applicable)

なし

Additional Notes

このPRはPR #53のマージによって失われた機能を復元するためのrevertです。upstream取り込み時に機能が上書きされたため、マージコミット自体を取り消しています。


Summary by cubic

PR #53 の upstream 取り込みをリバートし、フォークで失われたデスクトップ機能と CI 振る舞いを元に戻します。Diff 編集、行クリックでの git blame、Files タブのシンタックスハイライトが復元されます。

  • Bug Fixes

    • Diff Viewer のインライン編集を再有効化
    • 行クリックで git blame を表示
    • Files タブのシンタックスハイライトを復元
  • Refactors

    • フォークでは不要な GitHub Actions を無効化(各ジョブに if: github.repository == 'superset-sh/superset' を追加)

Written for commit ae1703f. Summary will update on new commits.

MocA-Love and others added 30 commits March 28, 2026 08:40
…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): ペインのポップアウト(別ウィンドウ分離)機能
MocA-Love and others added 28 commits April 2, 2026 20:12
- 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
- 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)
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 3, 2026

Important

Review skipped

Draft detected.

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: defaults

Review profile: CHILL

Plan: Pro

Run ID: c9522d3c-228e-4e6a-8af1-36d510437a64

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

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.

@MocA-Love MocA-Love closed this Apr 3, 2026
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