Skip to content

feat(invite): introduce family invite link - #55

Merged
babblebey merged 17 commits into
mainfrom
feat/reusable-invite
Jul 13, 2026
Merged

babblebey merged 17 commits into
mainfrom
feat/reusable-invite

Conversation

@babblebey

@babblebey babblebey commented Jul 13, 2026 •

Copy link
Copy Markdown
Member

This pull request introduces a comprehensive "Reusable Family Onboarding Invite Link with Reset Rotation" feature, supporting a reusable invite link for families that admins can reset (rotate) at any time. The implementation includes database schema changes, backend logic, and UI updates to manage, display, and rotate reusable links while preserving existing single-use invite functionality. The changes also add operational guardrails, improved visibility, and clear user flows for both reusable and single-use invites.

Reusable Invite Link Feature:

  • Database & Model Updates:

    • Added new fields (isReusable, rotatedFromInviteId, useCount, lastUsedAt) and indexes to the Invite model and database schema to support reusable links and their lifecycle.
    • Established self-referential relations for invite rotation lineage.
  • API & Domain Logic:

    • Added backend logic and API endpoints to fetch, create, and reset reusable invite links, ensuring only admins/owners can perform these actions.
    • Ensured reusable invites remain valid across multiple uses until explicitly reset or revoked, and updated acceptance logic to distinguish between reusable and single-use invites.

UI/UX Enhancements:

  • Settings Page Updates:

    • Introduced a ButtonGroup with a dropdown for managing reusable links, and a dedicated card to view, copy, and reset the family invite link.
    • Provided clear status indicators, usage metadata, and rotation reminders within the UI.
  • User Experience & Guardrails:

    • Added first-run empty state, non-blocking rotation reminders for old links, and clear differentiation between reusable, single-use, and claim invites.
    • Updated invite acceptance and error messaging to reflect reusable invite semantics.

Testing & Acceptance:

  • Comprehensive Test Coverage:
    • Extended and added tests for reusable invite lifecycle, rotation, permissions, and UI behavior.
    • Acceptance criteria ensure no regression of single-use or claim-link flows, and that operational visibility and safety guardrails are in place.

These changes collectively deliver a robust, admin-friendly reusable invite system while maintaining compatibility and clarity with existing invite flows.

Screencast/Screenshot

screen-capture.86.webm

babblebey added 17 commits July 13, 2026 16:14
@babblebey
babblebey merged commit 5159208 into main Jul 13, 2026
4 checks passed
@babblebey
babblebey deleted the feat/reusable-invite branch July 13, 2026 18:44
github-actions Bot pushed a commit that referenced this pull request Jul 13, 2026
# [1.2.0](v1.1.0...v1.2.0) (2026-07-13)

### Features

* **invite:** introduce family invite link ([#55](#55)) ([5159208](5159208))
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.2.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant