Skip to content

[T3350] FIX: birthday push cron stalled all scheduled actions - #358

Merged
Danielgergely merged 1 commit into
18.0from
T3350-birthday-push-cron-performance
Aug 4, 2026
Merged

[T3350] FIX: birthday push cron stalled all scheduled actions#358
Danielgergely merged 1 commit into
18.0from
T3350-birthday-push-cron-performance

Conversation

@Danielgergely

Copy link
Copy Markdown
Member

Port of the 14.0 fix: drive the cron from device tokens instead of scanning 10'000+ children.

Port of the 14.0 fix: drive the cron from device tokens instead of
scanning 10'000+ children.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Aug 4, 2026

Copy link
Copy Markdown

Confidence Score: 4/5

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex produced a proof for a posted P1 finding and attached three artifacts documenting the focused birthday push shared-partner harness source and its execution outputs.
  • T-Rex produced a second proof for another posted P1 finding.
  • T-Rex validated the contract by observing the CURRENT_SOURCE_SUCCESSFUL_SEND_USER_IDS output and a matching in-memory comparison, confirmed the relevant code in compassion_child.py (lines 92–112) and that the per-user loop exits after the first send, with no repository changes; only evidence artifacts were authored.

View all artifacts

T-Rex Ran code and verified through T-Rex

Comments Outside Diff (1)

  1. General comment

    P1 Birthday push cron skips later active users who share a partner

    • Bug
      • For a target partnership where multiple active users have the same partner_id and each user has a sendable device token, only the first user whose _send_push_notification returns true receives the birthday push. The focused execution observed user 201 receiving the push while user 202 did not.
    • Cause
      • break on line 112 terminates for user_id in user_ids_by_partner[partner_id] immediately after the first successful per-user send. The partner-level already_sent marker and interaction log are also recorded at that point.
    • Fix
      • Remove or redesign the line-112 break so every user-specific token recordset is sent to; if only one partner-level interaction should be created, record it once after processing all users rather than using loop termination.

    T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "[T3350] FIX: birthday push cron stalled ..." | Re-trigger Greptile

Comment thread my_compassion_native/models/compassion_child.py
@Danielgergely
Danielgergely merged commit 2f5af31 into 18.0 Aug 4, 2026
2 checks passed
@Danielgergely
Danielgergely deleted the T3350-birthday-push-cron-performance branch August 4, 2026 13:46
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