Owner request: "you should use our response function for this pong! we should keep same channel".
CommandService replies now go through MeshService.respond(id, reply) when the trigger has a packet id — the reply rides the original message's channel and is threaded (replyId = messageId). COMMAND_CHANNEL stays as the listen/trigger gate only; legacy sendText on COMMAND_CHANNEL remains solely as the no-id fallback. Failure handling unchanged (warn-only).
e2e over fake bridge: ch2 broadcast #ping → broadcast #pong! with replyId set; ch2 DM → DM to sender, same channel, replyId set
Owner request: "you should use our response function for this pong! we should keep same channel".
CommandService replies now go through MeshService.respond(id, reply) when the trigger has a packet id — the reply rides the original message's channel and is threaded (replyId = messageId). COMMAND_CHANNEL stays as the listen/trigger gate only; legacy sendText on COMMAND_CHANNEL remains solely as the no-id fallback. Failure handling unchanged (warn-only).
- e2e over fake bridge: ch2 broadcast #ping → broadcast #pong! with replyId set; ch2 DM → DM to sender, same channel, replyId set
- tests 121 → 124, build + oxlint clean
- docs updated (AGENTS.md, MESHTASTIC.md), changelog v0.18.1, package.json bump
Commit: 9d4c959
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Owner request: "you should use our response function for this pong! we should keep same channel".
CommandService replies now go through MeshService.respond(id, reply) when the trigger has a packet id — the reply rides the original message's channel and is threaded (replyId = messageId). COMMAND_CHANNEL stays as the listen/trigger gate only; legacy sendText on COMMAND_CHANNEL remains solely as the no-id fallback. Failure handling unchanged (warn-only).
Commit:
9d4c959