• src/syncterm/scripts/menu_ui_test.wrensrc/syncterm/Wren.adoc src/synct

    From Deuc¨@VERT to Git commit to main/sbbs/master on Tuesday, July 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 <noreply@openai.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net