natsbot

NATS bot
git clone https://git.instinctive.eu/natsbot.git
Log | Files | Refs | README | LICENSE

commit b8f944fd3e2b4ecd0333b3ec8385841f996af9ca
parent a7b83e3d8d1c341d7414cb555461c51fa37b1b7d
Author: Natasha Kerensikova <natgh@instinctive.eu>
Date:   Sun, 14 Sep 2025 16:43:22 +0000

Orphan messages are logged
Diffstat:
Mnatsbot.go | 8+++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/natsbot.go b/natsbot.go @@ -160,7 +160,13 @@ func processEvt(L *lua.LState, evt *internalEvent) { func processMsg(L *lua.LState, msg *nats.Msg) { tbl, idx := stateSubsTable(L) - subs := L.RawGetInt(tbl, idx[msg.Sub]) + id, found := idx[msg.Sub] + if !found { + log.Printf("Got message for stale subscription to %q", msg.Sub.Subject) + return + } + + subs := L.RawGetInt(tbl, id) fn := L.GetField(L.GetMetatable(subs), "__call") err := L.CallByParam(lua.P{Fn: fn, NRet: 0, Protect: true}, subs,