-
Notifications
You must be signed in to change notification settings - Fork 198
Differentiate archived project behavior by plan tier #2549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Console (appwrite/console)Project ID: Tip JWT tokens let functions act on behalf of users while preserving their permissions |
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Comment |
- Check if plan order is less than Pro (order < 1 = FREE plan) - Update text description: FREE plan shows "are archived", Pro+ shows "will be archived" - Make project cards non-clickable for FREE plan - Remove "Read only" tag from all archived projects - Update action menu for FREE plan: Replace "Unarchive/Migrate" with "Restore access" link to billing - Keep "Unarchive/Migrate" options for Pro+ plans - Fix CardContainer and PaginationWithLimit to use activeProjects.length instead of data.projects.total Co-authored-by: stnguyen90 <[email protected]>
- Replace BillingPlan.FREE check with isPlanBelowPro in isUnarchiveDisabled function - Remove unused BillingPlan import - Ensure consistent logic throughout the component Co-authored-by: stnguyen90 <[email protected]>
Orgs pending a downgrade at the end of their billing cycle will still have access. Orgs that have already downgraded will not have access to the project and can only delete it.



Archived projects displayed identical UI/behavior regardless of billing plan, causing confusion about access restrictions and upgrade paths for FREE vs Pro+ users.
Changes
Plan-based UI differentiation
Action menu updates
Removed elements
Pagination fix
Changed
CardContainerandPaginationWithLimittotals fromdata.projects.totaltoactiveProjects.lengthto exclude archived projects from counts.Implementation
Added
isPlanBelowProderived state checkingcurrentPlan?.order < 1:{#if isPlanBelowPro} <ActionMenu.Item.Anchor leadingIcon={IconInboxIn} href={$billingURL}> Restore access </ActionMenu.Item.Anchor> {:else} <ActionMenu.Item.Button leadingIcon={IconInboxIn} on:click={...}> Unarchive project </ActionMenu.Item.Button> <ActionMenu.Item.Button leadingIcon={IconSwitchHorizontal} on:click={...}> Migrate project </ActionMenu.Item.Button> {/if}Fixes https://linear.app/appwrite/issue/SUC-1754/clarify-behavior-for-archived-projects
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
o1.ingest.sentry.ionode (vitest)(dns block)node build.js(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.