GitShow/remix-run/remix
remix-run

remix

The fully-stacked web framework

by remix-run
remixwebweb-applicationweb-development
Star on GitHubForkWebsitenpm

TypeScript

33.4k stars2.8k forks783 contributorsActive · 2d agoSince 2020remix@2.17.5MIT

Meet the team

See all 783 on GitHub →
mjackson
mjackson2.5k contributions
brophdawg11
brophdawg111.0k contributions
remix-run-bot
remix-run-bot710 contributions
ryanflorence
ryanflorence547 contributions
chaance
chaance536 contributions
pcattori
pcattori433 contributions
MichaelDeBoey
MichaelDeBoey403 contributions
mcansh
mcansh402 contributions

Languages

View on GitHub →
TypeScript99.8%
JavaScript0.1%
CSS0%
Shell0%
HTML0%
Lua0%

Commit activity

Last 12 weeks · 262 commits

Full graph →

Community health

3 of 6 standards met

Community profile →
62
✓README✓License✓Contributing○Code of Conduct○Issue Template○PR Template

Recent PRs & issues

Active · Last activity 2d ago
See all on GitHub →
okxint
fix(response): spread supportedEncodings in 406 error messageOpenPR

creates a nested array, so stringifies the entire inner array as a single element. The 406 error message reads: instead of the correct: Spreading with flattens it before appending .

okxint · 1d ago
DimaAmega
perf(scheduler): avoid repeated scheduled ancestor lookupsOpenPR

Optimize cases with a deep tree like: Component could be a table with many rows (, , , etc.) located deep in the page. The same memoization is used for the negative case, caching nodes with no scheduled ancestor in . The positive case was simply missing it, and this PR adds it.

DimaAmega · 1d ago
johnsonav1992
Keep generic component props typed in JSXOpenPR

What this fixes I ran into this while building a generic data table. Even with an explicit type argument, Remix typed the row in a cell renderer as , so I needed a factory just to keep the row type attached to the component. The parameter should be here, and Remix should also infer it from when the `Handlepnpm --filter @remix-run/ui typecheckpnpm --filter @remix-run/ui lintpnpm --filter @remix-run/ui testpnpm changes:validate`

johnsonav1992 · 1d ago

Recent fixes

View closed PRs →
brookslybrand
Serve guides as markdown on the site and in the remix packageMergedPR

The API docs serve a markdown version of every page (e.g. https://api.remix.run/api/remix/overview.md). This PR does the same for the guides, so returns the chapter as markdown. The guides copied into the package () now use the same output, so agents reading installed guides see the same content as the website's files. Adds a route () to the guides app. Unpublished chapters return 404 in production, the same as their HTML pages Chapter pages include `.md::framedemoWithCodetsxdemoPreviewgenerate-remixrenderChapterMarkdown()packages/remix/guides/`, and the workflow now also runs when guide examples or the markdown renderer change

brookslybrand · 2d ago
brophdawg11
Align browser frame requests and server error reportingMergedPR

Browser requests from the default omit the frame headers used by server-side middleware, preventing handlers from identifying and targeting frame loads consistently. Send for every browser resolver request, including top-frame navigation and reloads, and only for named frames. The default browser resolver omits ; applications can express any required parent context in the frame URL. This requires no new resolver options. Use internal request identity to suppress duplicate server rendering error reports during frame composition. Browser-initiated frame requests invoke the configured callback or default reporter, including when their render resolves additional frames. Preserve same-origin fetching, form encoding, redirects, and response handling. Update resolver documentation and release notes. Validated with the full UI suite (1,122 passing tests), all 19 render-middleware tests, both package typechecks, lint, formatting, and release-note validation.

brophdawg11 · 2d ago
brophdawg11
Keep hash navigations and downloads under browser controlMergedPR

Hash-only navigations currently reload a frame. Download requests can also be intercepted when another navigation listener removes the source link's attribute. Leave and non-null events to native browser handling, including downloads with no suggested filename. Cover both cases in the existing browser navigation suite, asserting that neither interception nor frame reload occurs.

brophdawg11 · 2d ago
Structured data for AI agents

Repository: remix-run/remix. Description: The fully-stacked web framework Stars: 33381, Forks: 2791. Primary language: TypeScript. Languages: TypeScript (99.8%), JavaScript (0.1%), CSS (0%), Shell (0%), HTML (0%). License: MIT. Homepage: https://remix.run Topics: remix, web, web-application, web-development. Latest release: remix@2.17.5 (4mo ago). Open PRs: 24, open issues: 2. Last activity: 2d ago. Community health: 62%. Top contributors: mjackson, brophdawg11, remix-run-bot, ryanflorence, chaance, pcattori, MichaelDeBoey, mcansh, markdalgleish, github-actions[bot] and others.

·@ofershap

Replace github.com with gitshow.dev