feat: add lapsing tag#98
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds support for a new transient “lapsing” state/tag in the join-block plugin so members can be tagged when payments start failing (before they become fully lapsed), with Stripe webhook integration, WP-admin configuration, and accompanying tests/version bumps.
Changes:
- Add a configurable
lapsing_tagsetting and JoinService helpers/actions to apply/remove the tag across integrations. - Update Stripe webhook handling to mark members as lapsing on retry-scheduled failures and on subscription transitions to
past_due. - Update/extend tests and bump versions to
1.4.19across join-flow and join-block.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/join-flow/src/index.tsx | Bumps Sentry release to 1.4.19. |
| packages/join-block/tests/SessionLockTestProcess.php | Logs now include session id to help scope test assertions. |
| packages/join-block/tests/SessionLockTest.php | Updates assertion logic to validate non-overlapping execution using scoped log lines. |
| packages/join-block/tests/LapsingFilterTest.php | Adds unit tests for lapsing filter default/override and lapsing action hooks. |
| packages/join-block/src/Settings.php | Adds lapsing_tag setting field under Membership Plans. |
| packages/join-block/src/Services/StripeService.php | Marks members “lapsing” for certain Stripe payment/subscription failure conditions. |
| packages/join-block/src/Services/JoinService.php | Adds shouldMarkMemberLapsing() and toggleMemberLapsing(), and clears lapsing when toggling lapsed. |
| packages/join-block/readme.txt | Bumps stable tag + changelog entry for 1.4.19. |
| packages/join-block/join.php | Bumps plugin version to 1.4.19. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # the lock, so the next process can legitimately log "WORKING" before it appears. | ||
| $matched = preg_match( | ||
| "#WORKING.*DONE.*Unlocked.*$sessionId.*WORKING.*DONE.*Unlocked.*$sessionId#s", | ||
| "#WORKING $sessionId.*DONE $sessionId.*WORKING $sessionId.*DONE $sessionId#s", |
| throw $exception; | ||
| } | ||
| } else { | ||
| $joinBlockLog->warning("Can't $action member $email as lapsing in Zetkin - need OAuth credentials"); |
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.
No description provided.