https://gitlab.synchro.net/main/sbbs/-/commit/f20886b395b1c6fe878bae55
Added Files:
src/syncterm/scripts/auto/connected/transfer_app.wren src/syncterm/scripts/ui_logview.wren ui_logview_test.wren ui_progress.wren ui_progress_test.wren src/syncterm/wren_bind_xfer.c wren_bind_xfer.h
Modified Files:
src/syncterm/CMakeLists.txt GNUmakefile Wren.adoc src/syncterm/scripts/syncterm.wren ui_demo.wren ui_style.wren wrentest.wren src/syncterm/term.c wren_bind.c wren_host.c
Log Message:
SyncTERM: move transfer-window UI to Wren
Replace the C-side draw_transfer_window/transfer_complete plumbing
and the per-protocol cprintf progress callbacks with a Wren
TransferApp driven by a worker thread + bounded mailbox. C side
runs each protocol on its own thread and pushes pre-formatted
status lines through xfer_tick_lock/get/unlock; the main thread
stays in TransferApp's modal loop, which composes ProgressBar and
LogView widgets.
Worker-to-main marshalling covers the two thread-unsafe UI paths: duplicate-file resolution and the YMODEM->XMODEM filename prompt
fallback. All six protocol entry points (zmodem recv/send/batch,
xmodem/ymodem recv/send/batch, cet recv) now flip binary mode and
hand off to wren_run_transfer; lputs auto-routes via the mailbox
when xfer_session_active().
Drops ~1100 lines of C Ä the legacy log_ti/progress_ti/transw_ti
windows, ask_overwrite, the per-protocol progress functions, and
the cputs-into-window logging path.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net