Cmd+← / back navigation in Directory Preview discards unsaved file edits without prompt

オープン
#3,442 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
68/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
領域
frontend

調査の方向性

Start at the Directory Preview back-navigation handler used by Cmd+← and the toolbar back arrow, then trace how the current file editor exposes unsaved state. Reproduce the edit-and-navigate sequence and verify that dirty files show Save, Discard, and Cancel choices before leaving, while clean files still navigate immediately.

索引モデルが issue の本文から書いたものです。

説明

Problem

When browsing files in Directory Preview mode and editing a file (e.g., a markdown file), pressing Cmd+← (or clicking the back arrow) navigates back to the directory listing and silently discards all unsaved edits — no confirmation, no prompt.

Steps to Reproduce

  1. Open a directory in Wave Terminal (Directory Preview)
  2. Click a .md file to open it for inline editing
  3. Type some content but do not press Cmd+S
  4. Press Cmd+← or click the back arrow in the toolbar

Expected: A dialog appears: "You have unsaved changes. Save before leaving?" with options to Save / Discard / Cancel.

Actual: Navigation back happens immediately, all unsaved edits are lost.

Context

  • There is no shortcut or gesture that currently closes the editor with a save prompt — the dirty-state check simply doesn't exist on the Directory Preview back-navigation path
  • This is a data-loss risk for anyone using the built-in file editing in directory preview

Suggested Fix

Add a dirty-state check to the Directory Preview back-navigation handler. When there are unsaved edits in the current file preview/edit view, prompt the user before navigating back.

Related

  • Existing "confirm close" settings (tab:confirmclose, window:confirmclose, app:confirmquit) only cover tab/window/app-level close, not intra-widget navigation back
  • ~/.waveterm/config/keybindings.json allows remapping keys but can't add conditional logic (e.g., "check dirty state before executing back command")
主要言語
Go
スター
22.3k
フォーク
1.1k
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wavetermdev/waveterm のほかの issue

wavetermdev/waveterm の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。