Repository navigation
RTerm v3.2.10
RTerm v3.2.10 — AI-Native Terminal App by Hyperspace Technologies
v3.2.10 (2026-08-22)
Bug fixes — rename broken + chat scroll trap after user-nav
Two user-reported bugs, both root-caused with live reproduction.
-
Rename (terminal tabs + chat sessions) did nothing. Root cause:
window.prompt()throws in Electron 42 renderers ("prompt() is not
supported") — verified with a live Electron probe. Both rename flows called
it inside the context-menu action handler, so the throw vanished silently
and no rename ever happened. The entire backend path was fine (verified
live:terminal:setTitleupdates the tab + emitsterminal:tabs;
agent:renameSessionpersists to SQLite). Fix: new in-app
PromptTextModal(portal dialog, Enter/Escape, pre-filled + selected
input) replaceswindow.promptin bothXTermViewandChatPanel. The
terminal side routes requests through a module-level channel because the
context-menu handler lives in the pooled-runtime closure outside React.
Files:PromptTextModal.tsx+promptText.scss(new),XTermView.tsx,
ChatPanel.tsx. -
Chat scrollbar couldn't reach the bottom after Prev/Next/Latest user.
Root cause: the user-nav scroll effect re-ran on every row-height
change (virtualLayout.heights/offsetsare deps). After a nav jump,
offscreen rows re-measure one by one, so the effect re-fired dozens of
times — each time resettingscrollTopto the (drifting) nav target.
A user drag to the bottom was overridden ~39 times in a 40-message chat
(quantified in a simulation). Fix: the jump now fires exactly once per
click, keyed on theuserNavTargetVersioncounter; layout-only updates no
longer re-trigger it. Also hardened: the auto-scroll-on-render effect now
skips its pin while a scroll-anchor adjustment is pending. Files:
ChatMessageList.tsx. -
Pre-existing typecheck break on main fixed:
chatPanel.extreme.spec.ts
was a global-scope script whose top-leveltests/testdeclarations
collided with other spec files (7 TS2451/TS2393 errors on main). Added
export {}for module isolation —typecheck:webis now 0 errors.
Tests
New v3210Fixes.extreme.spec.ts (8/8): the Electron-42 prompt-throw
reproduction, PromptTextModal submit/cancel decision logic, the
terminal-rename channel routing (mount/unmount/drop), the nav-yank bug
(old behavior reproduced: 40 resets vs 1 drag), the version-keyed fix
(exactly one jump per click, drag survives, second click re-arms), and a
regression guard that streaming auto-scroll still pins to the bottom.
Registered in test:layout-ui-extreme.
Downloads
| Platform | File |
|---|---|
| macOS ARM64 | RTerm-3.2.10-arm64.dmg |
| Windows x64 (Portable) | RTerm.Portable.3.2.10-x64.exe |
| Windows x64 (Setup) | RTerm.Setup.3.2.10-x64.exe |
| Linux x64 (AppImage) | RTerm-3.2.10-x64.AppImage |
| Linux x64 (deb) | RTerm-3.2.10-x64.deb |
| Linux x64 (pacman) | RTerm-3.2.10-x64.pacman |
| Linux x64 (rpm) | RTerm-3.2.10-x64.rpm |
| Linux ARM64 (AppImage) | RTerm-3.2.10-arm64.AppImage |
| Linux ARM64 (deb) | RTerm-3.2.10-arm64.deb |
| Linux ARM64 (rpm) | RTerm-3.2.10-arm64.rpm |
Install
macOS: After installing, run xattr -cr /Applications/RTerm.app to remove quarantine.
Linux AppImage: chmod +x RTerm-*.AppImage && ./RTerm-*.AppImage
Linux deb: sudo dpkg -i RTerm-*.deb
Linux rpm: sudo rpm -i RTerm-*.rpm
Contact: rterm@hyperspace.ng