Skip to content

feat(site): add upgrade and migration center - #53

Merged
harsha-vardhan-burra merged 1 commit into
mainfrom
feat/upgrade-migration-center
Oct 19, 2026
Merged

harsha-vardhan-burra merged 1 commit into
mainfrom
feat/upgrade-migration-center

Conversation

@harsha-vardhan-burra

Copy link
Copy Markdown
Member

Overview

Introduces an Upgrade & Migration Center at /upgrade/ to help Passcodes users choose the appropriate next step for installing, updating, or migrating their existing installation.

The guided experience addresses an important gap between discovering a release and safely proceeding with it. Rather than assuming every user can follow the same installation path, it provides contextual instructions based on the user's current situation.

What's included

Guided installation and migration pathways

The new Upgrade & Migration Center supports five scenarios:

  • First-time installation: Explains prerequisites, package selection, and how to access the current Stable release and official setup documentation.
  • Updating an existing installation: Provides guidance for updates within the v3.x release series, including backup precautions and the documented in-place update path.
  • Moving to another device or restoring data: Explains the CSV export/import workflow and the implications of Passcodes' local-only storage model.
  • Legacy v1.x/v2.x installations: Highlights the architectural transition, deprecated status, and precautions required before attempting a major-version migration.
  • Unknown installed version: Helps users identify their installed version and continue to the relevant guidance.

Data-safety and migration guidance

  • Clearly recommends exporting a CSV backup before updating.
  • Warns users not to uninstall their existing installation before verifying their backup and migration.
  • Explains that exported password CSV files contain readable credentials and should be handled carefully.
  • Avoids promising guaranteed automated migration between the legacy Room database architecture and the newer Drizzle-based architecture.
  • Presents in-app data recovery as an optional troubleshooting mechanism rather than a guaranteed recovery method.
  • Aligns navigation instructions with the verified in-app labels for exporting and importing passwords.

Release-aware recommendations

  • Resolves the current production release through the existing getLatestProductionRelease() selector.
  • Avoids hardcoded release-version fallbacks.
  • Provides contextual links to Downloads, Project Updates, release notes, official documentation, and community support.
  • Preserves the existing treatment of deprecated and yanked releases.

Accessibility and responsive behavior

  • Adds semantic breadcrumb navigation.
  • Implements keyboard navigation for the interactive situation and follow-up choices, including arrow keys, Home, and End.
  • Uses appropriate selection state and roving tab focus for the radio-group interaction.
  • Improves mobile regression coverage for the new page.
  • Keeps the interaction client-side without collecting credentials, accepting password files, or persisting scenario selections.

Integration with the existing website

The new route is discoverable through:

  • The main footer navigation
  • The Downloads page
  • Deprecated release notices on download cards and archive entries
  • Deprecated release detail pages

This connects upgrade guidance to the existing release and download experience without introducing a parallel release-data system.

Architecture and scope

  • Preserves the existing GitHub Releases and Passcodes Docs synchronization pipeline.
  • Continues using normalized release data and existing release selectors.
  • Preserves the existing PassAlgo integration.
  • Maintains compatibility with the Next.js static export configuration and trailing-slash routing.
  • Adds no credential collection, file-upload workflow, or cloud migration mechanism.

Validation

Reported validation results:

Check Result
TypeScript Passed — 0 errors
ESLint Passed — 0 warnings or errors
Production build Passed — 24 static pages generated
Playwright 92 passed, 6 skipped
Upgrade Center functional tests Passed
Mobile overflow test Passed
git diff --check Passed

The implementation and its targeted safety/accessibility corrections were reviewed locally before this branch was published.

Review focus

Reviewers should verify:

  1. The guidance for standard v3.x updates versus legacy v1.x/v2.x migrations.
  2. CSV backup and credential-handling warnings.
  3. Correct identification of the latest production release.
  4. Keyboard navigation and accessibility of the guided interaction.
  5. Navigation from Downloads and deprecated-release notices.
  6. Static export compatibility and responsive behavior.

Signed-off-by: harsha-vardhan-burra <harshavardhanburra.dev@gmail.com>
@JeelDobariya38 JeelDobariya38 added documentation Improvements or additions to documentation enhancement New feature or request labels Oct 19, 2026

@JeelDobariya38 JeelDobariya38 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Trusting you, 😊 haven't seen the output yet, but anyways Merge It!!! @harsha-vardhan-burra

@harsha-vardhan-burra
harsha-vardhan-burra merged commit 9f17ba6 into main Oct 19, 2026
1 check passed
@harsha-vardhan-burra
harsha-vardhan-burra deleted the feat/upgrade-migration-center branch October 19, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants