Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 4, 2025

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

  • FREE plan (order < 1): Projects are non-clickable, description states "are archived and require a plan upgrade to restore access"
  • Pro+ plans (order ≥ 1): Projects remain clickable, description states "will be archived and are read-only"

Action menu updates

  • FREE plan: Replaced "Unarchive project" + "Migrate project" with single "Restore access" link to billing tab
  • Pro+ plans: Retained existing "Unarchive project" and "Migrate project" options

Removed elements

  • "Read only" tag removed from all archived projects
  • Associated DropList info tooltip removed

Pagination fix

Changed CardContainer and PaginationWithLimit totals from data.projects.total to activeProjects.length to exclude archived projects from counts.

Implementation

Added isPlanBelowPro derived state checking currentPlan?.order < 1:

<GridItem1 href={!isPlanBelowPro 
  ? `${base}/project-${project.region}-${project.$id}/overview/platforms` 
  : undefined}>
{#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.io
    • Triggering command: node (vitest) (dns block)
    • Triggering command: 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

Issue Title: Clarify behavior for archived projects
Issue Description: The organization page looks like:

image.png

image.png

The following need to be fixed:

  • If the current plan does not have an order that is less than Pro
    • make the text under "Archived projects" indicate that these projects will be archived
    • allow clicking on the project card to open the project
  • If the current plan's order is less than Pro
    • make the text under "Archived projects" indicate the projects are archived and they need to upgrade to restore access
    • don't allow clicking on the project card to open the project
    • Update the action menu for each archived project
      • Remove the Migrate project option
      • Change the Unarchive project option to say Restore access and have it link to the Billing tab
  • Remove the "Read only" tag
  • For the total passed into the CardContainer and PaginationWithLimit, use activeProjects.length rather than data.projects.total because activeProjects is what's shown there.
    Fixes https://linear.app/appwrite/issue/SUC-1754/clarify-behavior-for-archived-projects

Comment by User 5629b699-55d9-4178-8cfa-125a107a419d:
appwrite/console

Comment by User 82860cd8-c160-47d9-a9da-6fefd832081a:
📋 I wasn't able to determine which GitHub repository to work in.

Please tell me which repository this work should be done in using the format owner/repository-name (e.g., github/copilot), then I'll automatically start working on it!

Comment by User :
This thread is for an agent session with githubcopilot.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@appwrite
Copy link

appwrite bot commented Nov 4, 2025

Console (appwrite/console)

Project ID: 688b7bf400350cbd60e9

Sites (1)
Site Status Logs Preview QR
 console-stage
688b7cf6003b1842c9dc
Ready Ready View Logs Preview URL QR Code

Tip

JWT tokens let functions act on behalf of users while preserving their permissions

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 4, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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

Copilot AI and others added 2 commits November 4, 2025 00:14
- 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]>
Copilot AI changed the title [WIP] Clarify behavior for archived projects on organization page Differentiate archived project behavior by plan tier Nov 4, 2025
Copilot AI requested a review from stnguyen90 November 4, 2025 00:20
Copilot finished work on behalf of stnguyen90 November 4, 2025 00:20
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.
@stnguyen90
Copy link
Contributor

Pending downgrade:

image

Downgraded:

image

@stnguyen90 stnguyen90 requested a review from sara-k-48 November 15, 2025 00:10
@stnguyen90 stnguyen90 marked this pull request as ready for review November 15, 2025 00:12
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