https://gitlab.synchro.net/main/sbbs/-/commit/09d5df970947352a5d759309
Added Files:
src/syncterm/theme_cloud.c theme_cloud.h src/syncterm/themes/DarkMode.ini HotDogStand.ini ashen.ini azureless.ini azureworn.ini ceruleanbound.ini classic-extended.ini crimsonbound.ini emberless.ini emberworn.ini manifest.lst verdantless.ini verdantworn.ini viridianbound.ini
Modified Files:
src/syncterm/CHANGES CMakeLists.txt Themes.adoc Wren.adoc menu_settings.c menu_settings.h objects.mk src/syncterm/scripts/auto/menu/main_menu.wren src/syncterm/scripts/menu_settings_ui.wren menu_theme_editor_test.wren menu_ui.wren menu_ui_test.wren syncterm_menu.wren ui_popup_test.wren src/syncterm/syncterm.c syncterm.h theme.c theme.h theme_test.c webget.c webget.h wren_bind_menu_settings.c
Log Message:
Add web theme catalog support
Load the official theme manifest into the system cache and validate
downloaded themes by SHA-256 before atomically installing them. Track
cached packages separately from local themes and refresh installed
packages when their catalog hashes change.
Present cached packages with local themes and keep uncached packages in
an Online Themes browser. Preserve active package identity, expose
descriptions through the comment line, support copying packages into
editable local themes, and allow local or cached themes to be deleted.
Return deleted cached packages to the online list and select Classic
before removing the active theme.
Move bundled themes into the themes directory, add accessible colour
themes and the official manifest, and document storage, updates, Wren
APIs, and safe-mode behavior. Extend C and Wren tests across parsing,
caching, selection, layout, and deletion.
Use compact INS Add and DEL Delete hints in command menus so footer
labels remain within the available width.
Co-Authored-By: OpenAI Codex <
noreply@openai.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net