Skip to content

Byline v0.13.1 — Confirm before closing anything

Choose a tag to compare

@by123 by123 released this 29 Jul 09:29

Nothing closes without asking first

A terminal usually holds an agent mid-task, and killing its PTY throws that state away
for good. So every close now stops at a confirmation dialog — including the keyboard
shortcuts, which are exactly the ones you hit by accident.

  • Every path is covered: the tab ×, ⌘W, the command palette, the sidebar and
    terminal right-click menus, close-others / close-right / close-all, the window's red
    button, and ⌘Q
  • The dialog shows what you are about to lose: each session that is going, with its
    name and live state (thinking / needs confirmation / done / idle)
  • confirms, Esc — or the Cancel button, or a click outside — keeps everything
  • Closes Byline makes on its own never ask: a shell that exited on its own, or a tab
    moving to another window, where the session keeps running
  • Window close and ⌘Q are held in the main process while the window answers. A
    renderer that cannot answer — crashed, wedged, mid-reload — is given 2 seconds to pick
    the request up and then the close goes through, so a broken window can never trap
    itself. Once the dialog is up there is no deadline: it is waiting on a person
  • Localized in all 23 UI languages

中文

终端里通常正跑着做到一半的 agent,PTY 一被杀,那份状态就再也找不回来了。所以现在每一种关闭
都会先弹窗确认 —— 快捷键也一样,毕竟误触的正是它们。

  • 所有入口都覆盖:标签上的 ×、⌘W、命令面板、侧栏与终端右键菜单、关闭其他 / 关闭右侧 /
    关闭全部、窗口的红色按钮,以及 ⌘Q
  • 弹窗会列出你即将失去什么:每一个要被关掉的会话,带名称和当前状态(思考中 / 需要确认 /
    完成 / 空闲)
  • 确认,Esc(或取消按钮、点击弹窗外)则什么都不关
  • Byline 自己做的关闭不会打扰你:shell 自己退出了,或者标签被移动到另一个窗口(会话还活着)
  • 关闭窗口和 ⌘Q 由主进程挂起,等窗口回答。渲染进程如果答不上来(崩溃、卡死、正在重载),
    2 秒内没接管请求就直接放行,坏掉的窗口不会把自己锁死;而弹窗一旦出现就不再有超时 ——
    那时是在等人做决定
  • 23 种界面语言全部适配