Skip to content

fix(core): answer the first message in a room you just joined - #53

Merged
arthware-dev merged 2 commits into
mainfrom
fix/enable-room-modes-e2e
Aug 2, 2026
Merged

fix(core): answer the first message in a room you just joined#53
arthware-dev merged 2 commits into
mainfrom
fix/enable-room-modes-e2e

Conversation

@arthware-dev

Copy link
Copy Markdown
Contributor

The bot greets a new room, then ignored the very next message. Whoever invited it had to say the same thing twice.

Each room has a cursor so a restart does not replay old chatter. For a freshly joined room it was set by whichever poll first noticed the room, which also discarded everything sent in between. The welcome comes from the join itself, so a reply to it landed exactly in that gap. _anchor_cursor_on_join now sets it at the join; a re-invite does not move an existing cursor.

Also un-parks test_room_modes_e2e.py, which caught this and has been xfail(strict=False) since June. Its readiness wait treated the bot's m.room.member join as "listening", so it also sent too early. No parked intent-specs remain.

Verified green on the rig. Unit suite 2105 passed.

Refs FAM-6.

The bot greets a new room with "I capture what your family drops
here", and then ignored the very next thing dropped. Whoever invited
it had to say the same thing twice, with nothing to explain why the
first attempt did nothing.

Each room has a cursor marking how far the bot has read, so a restart
does not replay old chatter. For a room it had just joined that
cursor was set by whichever poll first noticed the room, which also
discarded everything sent in the meantime. The welcome arrives from
the join itself, so a reply to it landed exactly in that gap. The
cursor now starts at the join.

Enables the room-modes spec, which has been parked as unverified
since June and was failing for this reason. It was also waiting on
the bot before sending, but a join is a membership change rather than
a message, so it began talking before anyone was listening.
Nimbalyst writes plan documents under nimbalyst-local/. They are
working notes for one machine, not product source, and this repo is
public.
@arthware-dev
arthware-dev force-pushed the fix/enable-room-modes-e2e branch from 43f7d5e to 0541dfc Compare August 2, 2026 09:21
@arthware-dev
arthware-dev merged commit d0b491a into main Aug 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant