Skip to content

fix(frontend): add subtle pending invite skip#2312

Merged
riderx merged 2 commits into
mainfrom
codex/pending-invite-skip-onboarding
May 21, 2026
Merged

fix(frontend): add subtle pending invite skip#2312
riderx merged 2 commits into
mainfrom
codex/pending-invite-skip-onboarding

Conversation

@riderx
Copy link
Copy Markdown
Member

@riderx riderx commented May 21, 2026

Summary (AI generated)

  • Added a low-emphasis "Skip for now" action to the pending invite onboarding page.
  • Stores a session-scoped frontend skip marker so choosing skip does not immediately route the user back to the invite page.
  • Keeps join/decline as the primary visible actions while preserving an accessible escape route.

Motivation (AI generated)

Users reported they could not skip the pending invite decision. The flow still should nudge users toward joining the invited org, but it needs a clear fallback for users who want to continue without resolving the invite immediately.

Business Impact (AI generated)

This reduces onboarding frustration while keeping the intended invite-join path visually preferred, helping invited users continue without getting blocked.

Screenshots (AI generated)

Pending invite onboarding with subtle skip action

Test Plan (AI generated)

  • bun lint
  • bun typecheck
  • git diff --check

UX Notes (AI generated)

  • The skip control is placed below the main actions and styled as a subdued ghost/text action.
  • The button remains keyboard-accessible and keeps a 44px+ hit target.
  • The bypass is session-scoped, so it does not permanently suppress future invite prompts.

Summary by CodeRabbit

  • New Features
    • Added ability to skip pending invitations during onboarding with a "Skip for now" button
    • Skip preference is now remembered across sessions to prevent repeated prompts
    • Improved error messaging when the skip action fails to complete

Review Change Stack

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

Warning

Rate limit exceeded

@riderx has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 6 minutes and 55 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: c30fd296-eec1-456b-b47e-d188fa9fd52b

📥 Commits

Reviewing files that changed from the base of the PR and between 1f7a7fa and 47b4fa2.

📒 Files selected for processing (1)
  • src/utils/pendingInviteSkip.ts
📝 Walkthrough

Walkthrough

This PR adds a "skip pending invitations" feature to the onboarding flow. Users can defer resolving invitations by clicking a skip button, which persists the choice via sessionStorage and prevents the auth guard from redirecting back to the invitation page until the skip state is explicitly cleared.

Changes

Pending Invitation Skip

Layer / File(s) Summary
Skip state persistence utility
src/utils/pendingInviteSkip.ts
New module providing sessionStorage-backed functions to persist skip intent: rememberPendingInviteSkip stores the user ID, hasPendingInviteSkip checks if recorded, and clearPendingInviteSkip removes the stored value only when the ID matches.
Auth guard skip check
src/modules/auth.ts
Imports hasPendingInviteSkip and integrates it into the pending invitation redirect decision to prevent navigation to /onboarding/invitation when the skip is active.
Invitation page skip button and state management
src/pages/onboarding/invitation.vue
Adds isSkipping reactive state, centralizes user ID resolution via getCurrentUserId(), implements skipInvitations() to record skip and continue onboarding, clears skip state on accept/decline/decline-all actions, and replaces the bulk action section with a skip button in the template.
Localization strings
messages/en.json
Adds pending-invite-skip ("Skip for now") and pending-invite-skip-failed ("Could not continue") message keys for UI labels and error feedback.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • Cap-go/capgo#2294: Modifies the same pending-invitation onboarding pathways in auth guard redirect logic and invitation resolution behavior.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'fix(frontend): add subtle pending invite skip' directly describes the main change: adding a skip feature to the pending invite flow.
Description check ✅ Passed The description includes a comprehensive summary, motivation, business impact, and test plan sections matching the template structure, though screenshots section is not applicable for this backend/frontend change.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/utils/pendingInviteSkip.ts`:
- Around line 3-26: canUseSessionStorage currently only checks for existence but
sessionStorage calls in rememberPendingInviteSkip, hasPendingInviteSkip, and
clearPendingInviteSkip can throw in restricted/privacy contexts; wrap
sessionStorage.getItem/setItem/removeItem calls in try/catch blocks, returning
safely (no-op in rememberPendingInviteSkip, false in hasPendingInviteSkip) on
error and optionally logging the error, and keep using
PENDING_INVITE_SKIP_STORAGE_KEY for the key; ensure canUseSessionStorage remains
a cheap existence check but do not rely on it to prevent exceptions from
sessionStorage operations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 66bbfeef-a34b-4186-9664-404b04e2b606

📥 Commits

Reviewing files that changed from the base of the PR and between 56f1484 and 1f7a7fa.

📒 Files selected for processing (4)
  • messages/en.json
  • src/modules/auth.ts
  • src/pages/onboarding/invitation.vue
  • src/utils/pendingInviteSkip.ts

Comment thread src/utils/pendingInviteSkip.ts Outdated
@codspeed-hq
Copy link
Copy Markdown
Contributor

codspeed-hq Bot commented May 21, 2026

Merging this PR will not alter performance

✅ 43 untouched benchmarks
⏩ 2 skipped benchmarks1


Comparing codex/pending-invite-skip-onboarding (47b4fa2) with main (20c9ca9)

Open in CodSpeed

Footnotes

  1. 2 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@sonarqubecloud
Copy link
Copy Markdown

@riderx riderx merged commit 3492e44 into main May 21, 2026
42 checks passed
@riderx riderx deleted the codex/pending-invite-skip-onboarding branch May 21, 2026 09:34
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