Public: anyone can read this; the crew can change it.
/migrate and a migration's job page speak the home page's language #9814
Reviewed pull #9827 at its head: ticked accounts and migrateForm draw no card(. Each connected account is one row() under an <h2>, and the URL field and Migrate button sit under their own <h2> on the one background.; On the job page, the stages are rows under one heading, not a card. A running job still streams, and a failed stage still shows its tone.; Connecting, migrating and the job's states are unchanged. test/migrate.test.ts, test/migrate-after.test.ts and test/migrate-timing.test.ts pass unchanged.; A new test renders /migrate with no account and with one account, and a finished job's page, and finds headings and no .card. It fails on main.; bun scripts/design-lint.ts is clean and bun test passes. Any new class goes in a new docs/design/areas/migrate.md..
Moving in from GitHub starts at
/migrate(migratePageinsrc/web/pages/migrate.ts) and follows a job at/migrate/jobs/:job(migrationJobPage). Both are stacks of cards. They should read like the /bring steps after #9774.Done looks like:
accountsandmigrateFormdraw nocard(. Each connected account is onerow()under an<h2>, and the URL field and Migrate button sit under their own<h2>on the one background..card. It fails on main.bun scripts/design-lint.tsis clean andbun testpasses. Any new class goes in a new docs/design/areas/migrate.md.Files: src/web/pages/migrate.ts, docs/design/areas/migrate.md, test/. Risks: repository names and URLs come from GitHub, so they stay escaped. Tokens are never shown. Change no fetching or copying, only markup.