Release notes
PI Desktop v0.22.0
What's Changed
- fix(agent-runtime): do not treat connection abort wording as user Stop by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1865
- fix(file-manager): theme editor search controls by @AuhNijGnahz in https://github.com/vastsa/PI-Desktop/pull/1861
- perf(sessions): cache file-derived session summaries by file identity by @CJLY-0915 in https://github.com/vastsa/PI-Desktop/pull/1796
- fix(ci): keep Electron user-path test out of unit suite by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1872
- fix(composer): scale the mode chip reservation with the appearance font by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1879
- fix(agent-runtime): restore MCP resource text in toolResultFromUi by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1878
- fix(agent-runtime): do not treat TLS authentication wording as unauthorized by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1874
- fix(sessions): preserve ambiguous legacy titles during upgrade by @ShawTim in https://github.com/vastsa/PI-Desktop/pull/1848
- fix(host-core): keep transcript writers working after a torn append tail by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1885
- fix(project-group): keep a group editable after its folder is renamed externally by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1882
- fix(transcript): exclude disclosure title toggle from reading hold by @soulet in https://github.com/vastsa/PI-Desktop/pull/1888
- fix(settings): give every capability row its own busy guard by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1881
- fix(renderer): surface refused background writes and external opens by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1886
- docs(plugins): reconcile developer documentation with current contracts by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1890
- fix(skills): match plugin workspace folders across Windows path spellings by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1883
- fix(sidebar): portal the submenu out of the scrollable menu by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1902
- fix(chat): keep restored live turns visibly running by @Seraph-x in https://github.com/vastsa/PI-Desktop/pull/1900
- fix(delegation): keep the prompt prefix stable across settlements by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1903
- perf(agent-runtime): parallelize independent read-only tool calls by @caulif in https://github.com/vastsa/PI-Desktop/pull/1596
- fix(models): persist discovery membership without deleting bindings by @imsinolam in https://github.com/vastsa/PI-Desktop/pull/1901
- feat(work-panel): add tab context menu actions by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1904
- feat(chat): opt-in radial context menu on the transcript background by @Linuxdazhao in https://github.com/vastsa/PI-Desktop/pull/1919
- fix(ci): avoid repeated Electron client certificate handshake by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1927
- fix(plugins): bundle scoped remote File Manager reads by @Seraph-x in https://github.com/vastsa/PI-Desktop/pull/1824
- fix(agent-runtime): bound Bash progress by UTF-16 length without splitting surrogate pairs by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1939
- fix(agent-runtime): drop tool results orphaned by skipped delegate assistants by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1937
- fix(chat): hide the task dock with its last row by @algerkong in https://github.com/vastsa/PI-Desktop/pull/1932
- fix(session): restore running state when the window reopens by @FuYukiH in https://github.com/vastsa/PI-Desktop/pull/1915
- fix(host-runtime): preserve UTF-8 filenames in workspace index by @FuYukiH in https://github.com/vastsa/PI-Desktop/pull/1914
- fix(desktop): acknowledge revision roots without replaying old messages by @Seraph-x in https://github.com/vastsa/PI-Desktop/pull/1922
- fix(agent-runtime): collapse dot and duplicate segments in path-lock keys by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1935
- fix(chat): send a queued follow-up with the steer shortcut by @zszz3 in https://github.com/vastsa/PI-Desktop/pull/1921
- fix(settings): give model-provider and plugin rows their own busy guards by @SeanLiu326 in https://github.com/vastsa/PI-Desktop/pull/1928
- fix(e2e): ignore Chromium background CONNECTs in the certificate probe by @algerkong in https://github.com/vastsa/PI-Desktop/pull/1933
- fix(plugin-view): follow the app type scale in docked plugin pages by @algerkong in https://github.com/vastsa/PI-Desktop/pull/1930
- fix(agent-runtime): do not treat billing or disk quota as rate limit by @xpeng5278-web in https://github.com/vastsa/PI-Desktop/pull/1876
- fix(agent-runtime): recover sessions after malformed tool calls by @Linuxdazhao in https://github.com/vastsa/PI-Desktop/pull/1944
- fix(chat): persist follow intent before session or project navigation by @new-Beginner in https://github.com/vastsa/PI-Desktop/pull/1916
- fix(work-panel): detach plugin views on renderer reload by @liujinsheng0616 in https://github.com/vastsa/PI-Desktop/pull/1925
- fix(work-panel): keep native tab menus above Browser by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1924
- perf(chat): preload chart helpers for inline visualizations by @zszz3 in https://github.com/vastsa/PI-Desktop/pull/1867
- fix(storage): persist tool images losslessly and bound history mutations by @Seraph-x in https://github.com/vastsa/PI-Desktop/pull/1907
- chore(deps): sync Pi runtime to 1.4.0 by @vastsa in https://github.com/vastsa/PI-Desktop/pull/1947
- feat(session): 新增 /fast,使用 OpenAI 优先服务档位(Fast 模式) by @zszz3 in https://github.com/vastsa/PI-Desktop/pull/1740
- fix(host-core): terminate background task process tree on Windows by @Totopo27 in https://github.com/vastsa/PI-Desktop/pull/1863
…