Skip to content

Account page: billing, YC perks, integrations, and shared notes - #6982

Merged
ComputelessComputer merged 10 commits into
mainfrom
cursor/show-canceled-pro-plan-46ad
Aug 20, 2026
Merged

Account page: billing, YC perks, integrations, and shared notes#6982
ComputelessComputer merged 10 commits into
mainfrom
cursor/show-canceled-pro-plan-46ad

Conversation

@ComputelessComputer

@ComputelessComputer ComputelessComputer commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Cancel-at-period-end still leaves Pro active until the paid period ends, so the account page kept saying You're on Pro / Thanks for supporting Anarlog even after the Stripe portal showed Cancels Sep 17.

This keeps Pro access through the current period and makes the scheduled cancel visible.

YC founders had a second dead end: paid checkout sends existing subscribers to the billing portal, so an emailed YC- code never had a place to be redeemed.

Scheduled cancel

  • Account plan copy becomes Cancels September 17, 2026. when Stripe has cancel_at_period_end
  • Live Stripe fetch on the account page so this updates after returning from the billing portal
  • JWT claims (cancel_at_period_end, current_period_end) as a fallback after session refresh

Pro remains entitled until the period actually ends. Manage billing still opens the portal so the cancel can be reversed.

YC founder perk

  • Account plan card accepts a YC verification link or YC- code and applies the Stripe promotion through the API
  • If the subscription is set to cancel at period end, applying the perk also clears that scheduled cancel
  • Signed-in founders on /yc get the same apply path instead of only an emailed code
  • Free accounts are sent to Checkout with the promotion pre-attached (discounts), instead of hoping the Stripe promo box is available
  • Checkout ?code=YC-… applies the promotion to an existing subscription instead of bouncing to the portal

The YC verification email does not need to match the Anarlog account email. Verification (or the single-use code) is the proof; the perk is applied to the signed-in Stripe customer.

Account tabs

  • The page is split into Account, Connections, and Developer
  • Account: Profile, Your plan, Refer friends, Danger area
  • Connections: Integrations, Synced devices, Shared notes
  • Developer: Cloud API keys, Session controls
  • #referrals and other section hashes still open the matching tab
  • Clicking a tab clears the section hash so it cannot keep you on the hash's tab
  • Integration connect callbacks land on Connections

Integrations

  • Subtitle is the connected identity instead of Connected. — Google/Outlook email, Slack workspace, Linear org, GitHub email or login
  • /nango/connections returns account_identity from Nango tags and backfills it on first load when missing
  • Actions stay on one row. Broken connections show Reconnect (error in a hover tooltip) and Disconnect, so a revoked connection can be removed without completing OAuth again

Shared notes

  • Each shared note uses a three-dot menu for Open, Restrict, and Stop sharing
  • Stop sharing all sits above the list and asks for a confirm tap before deleting every share

Danger area

  • Delete account is one red card, not a white card wrapping a nested alert
Open in Web Open in Cursor 

Cancel-at-period-end still leaves Pro active until the paid period ends, so the account page kept saying "You're on Pro" with no mention of the cancel. Keep Pro access, surface the cancel date from Stripe, and put the same flags on JWT claims.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@netlify

netlify Bot commented Aug 20, 2026

Copy link
Copy Markdown

Deploy Preview for anarlog ready!

Name Link
🔨 Latest commit 6318c32
🔍 Latest deploy log https://app.netlify.com/projects/anarlog/deploys/6a8750bd737d1900088b029a
😎 Deploy Preview https://deploy-preview-6982--anarlog.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Existing Pro subscribers were sent to the billing portal on checkout, so emailed YC codes could not be redeemed. Apply the Stripe promotion on the current subscription (and un-cancel if needed), or pre-attach it on Checkout for new subscribers.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@cursor cursor Bot changed the title Show scheduled Pro cancellation on the account plan Account billing: scheduled cancel copy and YC perk apply Aug 20, 2026
The account page stacked nine sections in one column. A sticky left nav on large screens (and a compact jump list on smaller ones) scrolls to each section and highlights the one in view.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@cursor cursor Bot changed the title Account billing: scheduled cancel copy and YC perk apply Account billing: scheduled cancel copy, YC perk apply, and section nav Aug 20, 2026
Comment thread apps/web/src/functions/billing.ts
Comment thread apps/web/src/functions/billing.ts
Two Google Calendars both said "Connected." List the account email or Slack workspace instead. Keep actions on one row: Reconnect with the error as a tooltip, and hide Disconnect until the connection is healthy.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@cursor cursor Bot changed the title Account billing: scheduled cancel copy, YC perk apply, and section nav Account page: billing, YC perks, section nav, and integration identity Aug 20, 2026
Comment thread apps/web/src/routes/_view/app/-account-integrations.tsx Outdated
Replace the Open / Restrict / Stop sharing pills with a three-dot dropdown, and add a Stop sharing all control (with a confirm tap) at the top of the list.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@cursor cursor Bot changed the title Account page: billing, YC perks, section nav, and integration identity Account page: billing, YC perks, integrations, and shared notes Aug 20, 2026
cursoragent and others added 4 commits August 20, 2026 18:54
The danger area nested a pink alert inside a white card. Flatten it to one red card with the delete copy and Continue action.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Plan status is the more important account section, so it comes first in both the page and the section nav. Invite #referrals links still work.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Nine stacked sections were hard to scan even with a jump list. Group them into three tabs, keep #referrals (and other section hashes) opening the right tab, and send integration callbacks to Connections.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
Reconnect-needed rows still show the error on Reconnect hover, but they also keep Disconnect so a revoked connection can be removed without completing OAuth again.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 06886cb. Configure here.

Comment thread apps/web/src/routes/_view/app/account.tsx
Tab clicks used history.replaceState(null), which dropped router state, and omitted hash so TanStack Router kept #referrals / #integrations. Clear the hash via a navigate updater so the selected tab actually opens.

Co-authored-by: John Jeong <ComputelessComputer@users.noreply.github.com>
@ComputelessComputer
ComputelessComputer merged commit 8545f9e into main Aug 20, 2026
26 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