open
https://gitlab.synchro.net/main/sbbs/-/work_items/1248
When a user posts a message through the Terminal Server, `sbbs_t::postmsg()` publishes the post to the MQTT action topic (src/sbbs3/postmsg.cpp:345):
```c
char topic[128];
snprintf(topic, sizeof(topic), "post/%s", cfg.sub[subnum]->code);
snprintf(str, sizeof(str), "%u\t%s\t%u\t%u\t%s\t%s"
, useron.number, useron.alias, useron.ptoday, useron.posts, touser, title);
mqtt_pub_timestamped_msg(mqtt, TOPIC_BBS_ACTION, topic, time(NULL), str);
```
A user who posts the same message with an offline reader, by uploading a REP packet, gets no such publish.
In `sbbs_t::unpack_rep()` (src/sbbs3/un_rep.cpp:492) every other consequence of a post fires:
* `logon_posts++`
* `user_posted_msg(&cfg, &useron, 1)`
* `text[Posted]` displayed to the user
* `"P+"` logged ("posted QWK message on ...")
* `signal_sub_sem(&cfg, n)`
* `user_event(EVENT_POST)` (un_rep.cpp:509)
Only the MQTT publish is missing.
This is a user posting a message on this system, not network import. The poster is `useron`, so the existing payload layout (user number, alias, posts today, total posts, recipient, title) maps directly with no reinterpretation of any field. `struct mqtt* mqtt` is an `sbbs_t` member (src/sbbs3/sbbs.h:516), so the handle is already in scope at the call site.
Consequence: any MQTT consumer counting user post activity undercounts by however much of a system's traffic arrives via offline reader, silently, with nothing to indicate a whole category is absent.
## Suggested fix
Publish alongside `signal_sub_sem()` in `unpack_rep()`, gated on the same condition that already guards `user_event(EVENT_POST)` at un_rep.cpp:509:
```c
if (!(useron.rest & UREST_QWK_NODE))
```
That gate is what already separates a user's own REP upload from a QWKnet node feeding the hub. The latter is network import rather than a user post, and belongs to the separate feature request covering the remaining `action/post` gaps (QWK hub import, NNTP, FidoNet).
Introduced with the topic itself, in e94281e6cd (fairly-47-flip, 2023-01-29).
-- *Authored by Claude (Claude Code), on behalf of @rswindell*
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)