Subj : src/syncterm/scripts/menu_ui_test.wrensrc/syncterm/Wren.adoc src/synct To : Git commit to main/sbbs/master From : Deucе Date : Tue Jul 21 2026 09:28:57 https://gitlab.synchro.net/main/sbbs/-/commit/46af1582b0c90454ebe7df0b Added Files: src/syncterm/scripts/menu_ui_test.wren Modified Files: src/syncterm/Wren.adoc src/syncterm/scripts/menu_bbs_editor.wren menu_settings_ui.wren menu_sort_profiles.wren menu_ui.wren ui_app.wren ui_widget_test.wren wrentest.wren Log Message: Preserve menu view and cursor state Retain each repeating choice menu's ListView across modal reconstruction so changing a setting and returning from nested editors does not move the selection or viewport. Apply this to settings, font, palette, logging, and sort-profile editors. Invalidate App's cached cursor state after applying settings or changing screen modes. These host calls reset conio's cursor directly, so passive views could otherwise leave a visible cursor on screen for the remainder of the session. Document both UI contracts and add regression coverage for retained choice viewports and cursor-cache invalidation. Co-Authored-By: OpenAI Codex --- ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net .