open
https://gitlab.synchro.net/main/sbbs/-/work_items/1260
`bbs.qwk_download()` and `bbs.qwk_upload()` (added in e4dd926ae9 (wine-3-flyer, 2026-09-28)) only work correctly when called from within the QWK section, i.e. from the `qwk_sec.js` loadable module run by `sbbs_t::qwk_sec()`. That stub does setup and teardown the new methods rely on:
- It calls `getusrdirs()`, and `getusrsubs()` for QWK network node accounts (`UREST_QWK_NODE`), before running the module.
- It clears the node's temp directory (`delfiles(cfg.temp_dir, ALLFILES)`) after the module returns.
`qwk_download()` itself only removes `<temp>/<sys_id>.qwk`. `pack_qwk()` leaves `MESSAGES.DAT`, the `*.NDX` index files, `CONTROL.DAT`, attachments, etc. in the node temp directory.
**Scenario:** a custom command shell or module calls `bbs.qwk_download()` directly, outside the QWK section:
- For a QWK network node, the packet is built from a sub-board list that `getusrsubs()` never refreshed.
- The packet's component files are left in the node temp directory for the rest of the session, where anything that later lists or extracts temp (e.g. the temp/archive transfer menu) sees them.
**Possible fixes:** have `qwk_download()` clear the whole temp directory when done (instead of removing only the `.qwk`) and do its own `getusrsubs()` for QWK nodes, or document the precondition in the method's JSDOCSTR.
-- *Authored by Claude (Claude Code), on behalf of @rswindell*
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)