Repository navigation
v0.2.0
本版聚焦:性能大版本——巨大会话卡顿根治(688 条消息会话每帧成本 O(轮)→O(视口)、composer 打字不再每键整窗重绘、发送即冻死修复);会话置顶、Pi 扩展更新检测、会话自动清理三大新特性;topbar 自由 tab 拖拽(Zed 同款);RPC 中途停止不再静默。
安装与更新
npm install -g pi-flash@latest # 首次安装与更新同命令
pi-flash需要 Node.js ≥ 22.19。
也可直接下载 zip 绿色包,解压后双击 pi-flash.exe 即用,无需 Node。
仅提供 Windows x64 版本。
0.1.11 及以后可以直接用应用内更新(设置 → 检查更新)。仍在 0.1.10 及更早的必须走上方 npm 命令(旧版应用内 updater 是坏的,装不上新版)。
新增
- 会话置顶(020):会话行悬停出 pin 槽、右键卡 pin 钮,置顶组居列表首位(folder-bookmark 组头行);原项目组按 pin 清单过滤,不重复显示。(c1f811f, d68112d, 42eaaf9, f652ad0)
- Pi 扩展更新检测与更新(082):扩展管理页检测可用更新、一键全部更新;详情卡【更新】按钮仅在有可用更新时显示。(4fe2aeb, f3e860c, 02bb266)
- 会话自动清理(052):设置「其他」页新增天数步进(0/5/…/100,默认 0 = 关闭),后台任务把超期会话移入回收站。(609924e, d5451eb, 15799c7)
- 会话内容宽度可调:消息列 + composer 胶囊单一内容列宽(封顶 1200 / 步进 20)。(041bdee, a258cd0)
- topbar 自由 tab 拖拽换位(Zed pane parity):文件 tab 自由拖动重排(会话 tab 固定段禁拖);标签条跟随激活 tab 滚动;标签区伸展至最小化钮左侧;拖拽幽灵带文件类型图标、抓取手型光标。(4b6596a, 46497cc, ac3b2ef, b2a5996, 801db0a, c5a394d)
- panic 落盘(diag):崩溃后有据可查。(e06c777)
- 全部 UI 文案迁入多语言表:26 文件硬编码文案清零。(1702292)
修复
- 巨大会话卡顿根治:688 条消息会话每帧渲染成本 O(轮) → O(视口);composer 打字去掉每键 O(n) 与每帧重复计算、不再整窗重绘,输入崩溃一并修复;发送即冻死(主线程 O(会话大小) 扫描)修复;输入历史上限兜底。(89ac76e, 3b326ec, e06c777, 3540725)
- RPC:会话中途停止不再静默——EOF 补全轮终语义 + 会话事件全量解析。(775150e)
- 单一语义回归:当前项目 ≡ 活跃会话的项目;撤销 send 门兜底判断。(ff29615, 12544df)
- 注册项目零会话不再建空组——psp 不显示「无会话」占位项目。(2d1a5c0)
- tab 拖拽「黏连」根因 = tab 元素 id 不唯一(zed pane.rs 移植)。(258185a, bf58439)
- 快捷键页还原居中索引版式(2 组 9 条)、页签挪至「关于」之后;新会话页通知带贴底定位 + 分隔线 + 卡片化、扩展更新卡片 0 宽变形等验收返工一批。(f85eb3a, 928763d, b8f962b, 3eef399, 4a3ef19, 294a712)
- 窗口最小高度放宽到 600(还原尺寸与最小尺寸拆成四常量)。(1cfbd1b)
This release focuses on: performance — the giant-session lag is fixed at its root (a 688-message session drops from O(turns) to O(viewport) per frame, composer typing no longer repaints the whole window per keystroke, and the send freeze is gone); three major features — session pinning, Pi extension update detection, and session auto-cleanup; free tab drag & drop on the topbar (Zed-style); and mid-session RPC stops are no longer silent.
Install & Update
npm install -g pi-flash@latest # same command for first install and updates
pi-flashRequires Node.js ≥ 22.19.
Or download the zip portable build, extract and double-click pi-flash.exe — no Node needed.
Windows x64 only.
On 0.1.11 or later, the in-app updater works (Settings → Check for updates). If you are still on 0.1.10 or earlier, you must use the npm command above (the old in-app updater is broken and cannot install new builds).
New
- Session pinning (020): hover a session row for the pin slot, or use the pin button on the right-click card; pinned sessions form a group at the top (folder-bookmark header); the original project group filters by the pin list so entries never show twice. (c1f811f, d68112d, 42eaaf9, f652ad0)
- Pi extension update detection & updates (082): the extensions page detects available updates and updates all in one click; the detail card's [Update] button only appears when an update exists. (4fe2aeb, f3e860c, 02bb266)
- Session auto-cleanup (052): a day-based stepper in Settings → Other (0/5/…/100, default 0 = off); a background task moves expired sessions to the recycle bin. (609924e, d5451eb, 15799c7)
- Adjustable session content width: one content column for the message list and the composer capsule (capped at 1200 / step 20). (041bdee, a258cd0)
- Free tab drag & drop on the topbar (Zed pane parity): file tabs reorder freely (the pinned session-tab segment stays fixed); the tab strip follows the active tab; the tab area stretches to 20px left of the minimize button; drag ghosts carry file-type icons and grab-hand cursors. (4b6596a, 46497cc, ac3b2ef, b2a5996, 801db0a, c5a394d)
- Panic logs written to disk (diag): crashes leave evidence behind. (e06c777)
- All UI strings moved into the i18n tables: zero hardcoded strings across 26 files. (1702292)
Fixes
- Giant-session lag fixed at the root: a 688-message session drops from O(turns) to O(viewport) per frame; composer typing removes the per-keystroke O(n) passes and redundant per-frame work and no longer repaints the whole window, with the input crash fixed; the send freeze (two O(session-size) scans on the main thread) is gone; input history capped. (89ac76e, 3b326ec, e06c777, 3540725)
- RPC: stopping a session mid-run is no longer silent — EOF now completes turn-final semantics and session events are parsed in full. (775150e)
- Single-semantics regression: current project ≡ the active session's project; removed a vestigial send-gate check. (ff29615, 12544df)
- Registered projects with zero sessions no longer create empty groups — no "no sessions" placeholder projects in the panel. (2d1a5c0)
- Root cause of "sticky" tab drags: non-unique tab element ids (ported from zed pane.rs). (258185a, bf58439)
- Shortcuts page restored to the centered index layout (2 groups, 9 entries) with its tab moved after "About"; a batch of acceptance rework on the new-session page (notification strip bottom-anchoring, divider, card layout, zero-width extension card deformation, etc.). (f85eb3a, 928763d, b8f962b, 3eef399, 4a3ef19, 294a712)
- Minimum window height relaxed to 600 (restore size and minimum size split into four constants). (1cfbd1b)