__                 _ _                _
  / _| ___   ___   __| | |__   __ _ _ __| | __
 | |_ / _ \ / _ \ / _` | '_ \ / _` | '__| |/ /
 |  _| (_) | (_) | (_| | |_) | (_| | |  |   <
 |_|  \___/ \___/ \__,_|_.__/ \__,_|_|  |_|\_\

A personal BBS  ·  Missoula, Montana  ·  formerly NaClCON BBS

Connect from your terminal: telnet naclconbbs.net 23  |  ssh naclconbbs.net -p 2222

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

    From Deucе@VERT to Git commit to main/sbbs/master on Tue Jul 21 09:28:57 2026
    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