Skip to content

[Epic]: SSR Post Launch Tasks #86

@Alessandro100

Description

@Alessandro100

SSR Post Launch Tasks — Milestone Plan

Repository: MobilityData/mobilitydatabase-web
Due date: May 8, 2026
Open issues: 14


Summary

This milestone captures the follow-up work required after the Server-Side Rendering (SSR) migration of the Mobility Database web application. It covers bug fixes, legacy router cleanup, performance tuning, SEO improvements, and UI polish across multiple browsers. The goal is to bring the SSR-based application to full production quality by early May 2026.


Problem Statement

The SSR launch shipped with known trade-offs to meet the go-live deadline. Several areas now need attention:

  • Legacy routing code remains in the codebase. The old client-side router (ProtectedRoute, Add Feed, Metrics, and related wiring) was not fully migrated and creates maintenance overhead and inconsistency.
  • Visual and functional bugs surfaced post-launch. Route color defaults are wrong in light mode, a "feed not found" error appears for certain feeds, the map layer fails to load in the DEV environment, and the back-button behaves unexpectedly on feed detail pages.
  • Cross-browser issues. Country-flag emojis are missing on Edge; text overlaps buttons on Firefox.
  • SEO is incomplete. The sitemap is manually maintained and page metadata needs automated generation to improve discoverability.
  • Performance gaps. Feed detail page revalidation is not optimized, leading to unnecessary load on the server and slower page refreshes.
  • UX gaps. Dataset file sizes (zipped vs. unzipped) are not displayed, the landing page needs an update, and internal MobilityData users still go through the standard email verification flow.

Goals

  1. Complete the legacy router migration — remove ProtectedRoute, Add Feed, and Metrics dependencies on the old router, then clean up all remaining artifacts (issues SSR: Legacy Router Migration Split 2 (ProtectedRoute) #24, SSR: Legacy Router Migration Split 3 (Add Feed + Metrics) #25, SSR: Legacy Router Migration Split 4 (Cleanup) #26).
  2. Fix post-launch bugs — resolve route color defaults (Maps: Update route color defaults on light mode #65), feed-not-found errors (Feed not found error: {"detail":"GTFS feed 'tld-1020' not found"} #66), and the dev-environment map layer issue (SSR: Map layer not displaying in DEV #34).
  3. Improve cross-browser compatibility — address Edge emoji rendering ([Edge] Country Emojis do not appear #52) and Firefox text/button overlap ([Firefox] Text that is close to a button is attached #51).
  4. Strengthen SEO — automate sitemap generation so new feeds are indexed without manual intervention (Automate sitemap generation #19).
  5. Improve performance — optimize revalidation strategy for feed detail pages (Optimize revalidate of feed detail pages #67).
  6. Enhance the user experience — display dataset sizes (Display datasets unzipped and zipped sizes #81), update the landing page (Update Landing Page #85), fix the dark-mode initial flicker (SSR: Theme Usage Investigation (dark mode initial flicker) #31), and bypass email verification for @mobilitydata.org users (Email Bypass for @mobilitydata.org users #69).

Scope

In scope

Category Issues
Tech debt / router migration #24 (ProtectedRoute), #25 (Add Feed + Metrics), #26 (Cleanup)
Bugs #65 (route colors), #66 (feed not found), #34 (map layer in DEV)
Cross-browser fixes #52 (Edge emoji), #51 (Firefox text overlap)
SEO #19 (automated sitemap)
Performance #67 (revalidate optimization)
Enhancements #81 (dataset sizes), #85 (landing page), #31 (dark mode flicker), #69 (email bypass)

Out of scope

  • New feature development unrelated to the SSR migration stabilization.
  • Backend API changes (unless required to resolve a listed issue).
  • Mobile-native application work.

Expected Outcomes

  • The legacy client-side router is fully removed; all routing goes through the Next.js App Router.
  • All listed bugs are resolved and verified across Chrome, Firefox, and Edge.
  • The sitemap updates automatically when feeds are added or removed.
  • Feed detail pages revalidate efficiently without redundant server calls.
  • Dataset file sizes are visible to users, the landing page reflects the latest design, and dark-mode loads without a flash of unstyled content.
  • Internal MobilityData team members can log in without email verification friction.

Measures of Success

  • Milestone completion rate: all 14 open issues closed by May 8, 2026.
  • Bug regression: zero reopened issues within two weeks of closing.
  • Page load performance: measurable improvement in revalidation times for feed detail pages (before/after comparison).
  • SEO coverage: sitemap automatically includes 100 % of public feeds without manual intervention.
  • Cross-browser parity: no visual or functional discrepancies reported on Chrome, Firefox, and Edge after fixes ship.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions