Skip to content

feature: React foundation – Workstream 1 (react-app/ scaffold, routes, typed API hooks, settings context) - #917

Open
devin-ai-integration[bot] wants to merge 12 commits into
masterfrom
devin/1792603540-react-foundation
Open

devin-ai-integration[bot] wants to merge 12 commits into
masterfrom
devin/1792603540-react-foundation

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Summary

Integration branch for the Angular 9 → React rewrite of the HN PWA, in react-app/ (the Angular app at the repo root is untouched and stays the parity reference).

  • Workstream 1 (this branch): Vite + React 19 + TypeScript strict + React Router v7 + TanStack Query scaffold. Routes from app.routes.ts (/news|newest|show|ask|jobs/:page; /item/:id and /user/:id lazy-loaded). Typed models and useFeed/useItem/useUser hooks ported from HackerNewsAPIService, with HN API quirks handled. SettingsProvider persisted to localStorage. commentLabel (the comment pipe) as a plain function, sanitizeHtml, the shared theme SCSS, Vitest, CI. react-app/MIGRATION.md holds the contract and the ownership map.
  • Workstream 2, feeds (feature: port feeds (FeedList, FeedItem) to React (Workstream 2) #918, merged here): FeedList with Angular pagination (More › at 30 items, ‹ Prev) and FeedItem story rows, plus title size and row spacing settings.
  • Workstream 3, item details and user (feature: React item details (recursive collapsible comments, polls) + user profile #920, merged here): item page with polls, recursive [-]/[+] collapsible comments that work from the keyboard, and the user profile with karma.
  • Workstream 4, shell, theming and PWA (feature: React shell (header, footer, settings), theming, PWA, e2e, CI and hosting #919, merged here): header, footer and settings popup (Default/Night/AMOLED, focus trap). vite-plugin-pwa with a manifest matching src/manifest.json, NetworkFirst API caching for offline use, and an ngsw-worker.js safety worker for returning Angular visitors. Playwright e2e, the CI e2e job and Firebase hosting config.

Verification

Results on the integrated branch:

  • lint, format check and typecheck pass;
  • Vitest: 216 tests pass;
  • the production build passes;
  • Playwright e2e against the production preview: 33 pass, including pagination, comment collapse, user karma, error pages, theme switching and persistence, settings keyboard a11y, the SW handover, and visited feed and item pages loading offline.

Each workstream PR has its own Angular-vs-React side-by-side evidence (1280/375px, all 3 themes).

Not verified: a real Firebase deploy. The deploy job runs only on pushes to master and skips unless FIREBASE_SERVICE_ACCOUNT/FIREBASE_TOKEN is set.

Note: open PRs #897–#916 come from earlier runs of this same migration and duplicate this work. Only one set should land.

Devin-Org: engineering

…ks, settings context, shared library)

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
@devin-ai-integration

Copy link
Copy Markdown
Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

…d tests

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
…CI and Firebase hosting

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
…d user profile to React

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration Bot and others added 7 commits October 21, 2026 17:46
Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
…ils-user

feature: React item details (recursive collapsible comments, polls) + user profile
…ormalization)

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
feature: React shell (header, footer, settings), theming, PWA, e2e, CI and hosting
feature: port feeds (FeedList, FeedItem) to React (Workstream 2)
…eams are merged

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
…igation incl. rapid Back

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
devin-ai-integration[bot]

This comment was marked as resolved.

…http(s) only)

Co-Authored-By: Ishita Gupta <ishita.gupta@cognition.ai>
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.

0 participants