Skip to content

feat: add lapsing tag#98

Merged
joaquimds merged 1 commit into
masterfrom
feat/lapsing
May 12, 2026
Merged

feat: add lapsing tag#98
joaquimds merged 1 commit into
masterfrom
feat/lapsing

Conversation

@joaquimds
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_tag setting 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.19 across 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");
@joaquimds joaquimds merged commit 8dca976 into master May 12, 2026
7 checks 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.

2 participants