Repository navigation
Fix lost achievement announcements and retry exact-message forwards - #263
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Milestones were saved as completed before posting to @reddit2telegram. A failed post was then skipped permanently, and a later retry could no longer detect the crossing after subscriber history advanced. Forwarding was an empty method. Missing/zero history, one bad channel, or a failed status report could also interrupt the sweep; starting it depended on fetching Reddit content.
Persist each new crossing before advancing statistics, then retry pending deliveries on subsequent six-hour sweeps. Record confirmed message IDs as each part is sent and resume forwarding those exact IDs without publishing another announcement. Use atomic history updates and an expiring sweep lease. Run maintenance directly, isolate individual failures, and establish a baseline for new channels. Preserve the Reddit promotion format with the channel/milestone first; fall back to milestone text if Reddit is unavailable before a posting attempt or has no usable candidate. Separate promotion formatting from daily promotion selection.
Existing achievement history is preserved; no migration or historical replay is performed because previous records do not establish that a post was sent. New settings records include delivery attempts, confirmed IDs, and failure types. Telegram does not provide send idempotency: a lost response or a crash between acknowledgment and persistence can still produce a duplicate on retry. A partially published gallery keeps and forwards its confirmed announcement instead of reposting it.
Validation:
Patch bump to 1.0.7 covers compatible delivery/recovery fixes and internal state, with no migration.
SemVer: patch