Skip to content

fix: handle ingestion errors and cursor advancement on message deletion#42

Open
nisbenz wants to merge 1 commit intodevfrom
fix/cursor-update-on-message-deletion
Open

fix: handle ingestion errors and cursor advancement on message deletion#42
nisbenz wants to merge 1 commit intodevfrom
fix/cursor-update-on-message-deletion

Conversation

@nisbenz
Copy link
Collaborator

@nisbenz nisbenz commented Mar 22, 2026

Summary

When messages were deleted in realtime, the cursor was not updated, causing permanent data loss when the bot restarted.

Problem

Cursor points to message D (ID 1005)
D is deleted in realtime → message removed from Qdrant, but cursor still points to 1005
Bot goes offline
Messages E, F, G sent offline (IDs 1011, 1012, 1013)
Bot restarts → audit finds cursor 1005 doesn't exist → jumps to most recent (1013) → skips 1011, 1012, 1013 permanently

Solution

In handle_message_delete, when the deleted message is the cursor, fetch the most recent remaining message from Discord and advance the cursor to it immediately, preventing stale cursor state that would cause audit to skip messages on restart.

Files Changed

  • src/core/discord_listener.py - Added cursor update logic when cursor message is deleted
  • tests/unit/test_discord_listener.py - Added tests for the deletion cursor handling

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