Skip to content

Flowntier v0.4.22 — workdir swap + run_task timeout + file-tree UI + error badge

Choose a tag to compare

@Thatgfsj Thatgfsj released this 02 Jul 13:54
· 79 commits to main since this release

Flowntier v0.4.22 — chairman's bug fixes (event 000066)

Bug fixes (all 4 closed-loop verified)

A. WORKDIR ↔ WORKSPACE BRIDGE

  • state.workspace: Arc<RwLock<Workspace>> (was: locked at runtime launch-time cwd)
  • New routes: GET /api/workspace, POST /api/workspace/set, GET /api/workspace/tree
  • Tauri set_workdir_with_nwt now fires POST /api/workspace/set after writing workdir.json
  • Was: workdir.json said O:\try but runtime wrote to O:\Flowntier\workspace\

B. RUN_TASK TIMEOUT

  • agent.run() wrapped in tokio::time::timeout(default 300s, configurable 10..=1800s)
  • On timeout synthesise Done { status: 'TIMEOUT (Ns)' } so subscribers + UI exit sending=true
  • Was: hang forever when upstream provider throttled

C. FILE TREE UI

  • New apps/desktop/src/components/FileTree.tsx polls every 5s
  • LeftRoster adds '文件' tab to show the live tree
  • Chairman can SEE chief writes appear without manual refresh

D. ERROR AGGREGATOR

  • pipe-server holds in-memory ring buffer (cap 200) of ErrorRecord
  • New route GET /api/errors/recent?limit=N
  • components/ErrorBadge.tsx mounted in TopBar: red dot + click-to-expand dropdown
  • Pushed to from: run_task timeout, workspace swap reject, quota recording failure, non-DONE outcome

Verified end-to-end

  • POST /api/workspace/set 'C:/Users/thatg/workdir-test' → 200, previous_root = O:\Flowntier
  • GET /api/workspace/tree?depth=2 → 7 entries (chief's earlier O:\Flowntier\workspace\tarot\index.html visible)
  • POST /api/run_task {task:'说一句话证明你活着', timeout_secs:60} → DONE, task t_01KWHG0R21NQ30ZVN5WYR0FK7F
  • GET /api/errors/recent → records the earlier workspace_swap warn automatically

Installer

  • Flowntier_0.4.22_x64-setup.exe — 8,574,597 bytes
  • sidecar MD5 2e1dde3cdfe1e2bb65b689c60bbf50c4
  • Includes the 000066 fix and the prior 000064 dashboard fix

NSIS patches embedded

  • (a) sidecar CheckIfAppIsRunning for flowntier_runtime.exe
  • (b) belt-and-braces taskkill in .onInit (handles zombie runtime that's stuck holding the file)
  • (c) Node.js runtime check — abort install with zh-CN error if Node missing