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 forks779 contributorsActive · 1d agoSince 2020remix@2.17.5MIT

Meet the team

See all 779 on GitHub →
mjackson
mjackson2.5k contributions
brophdawg11
brophdawg11949 contributions
remix-run-bot
remix-run-bot700 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 · 178 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 1d ago
See all on GitHub →
kuboon
renderToString strips the flush marker, so its output cannot be navigated by the client runtimeOpenIssue

Reproduction Package: · Version:** 0.8.0, and current (checked today) removes `renderToStringclientEntryrenderToStringclientEntry/bGET /b200renderToStringrenderToStreamrenderToStringrenderToStringrenderToStreampackages/ui/src/server/stream.ts#L1480-L1490runtime/navigation.tsdata-rmx-documentdownloadruntime/frame.tsconsumeFlushBatches()applied: falseoptions.flushKind === 'document'flushKindpackages/ui/src/server/README.mdrenderToStringrenderToStringrenderToStringrenderToStreamrenderDocumentToStringonErrorrenderToStringremix new` app. Say the word and I will put up a minimal repository. Expected Behavior Clicking an internal on a page that carries a clientEntry navigates: the document is swapped for the destination that was just fetched. Actual Behavior The URL changes and the document does not. The destination is fetched and returns 200. No thrown error, no onError call, nothing in the console — the response is dropped because it carries no marker.

kuboon · 1m ago
joejemmely
`remix new` template discards redirect metadata, leaving the browser URL unchangedOpenIssue

Reproduction https://github.com/joejemmely/remix-template-redirect-repro Using Remix 3.0.0-rc.1. This minimal app preserves the template's browser entry and replaces the starter UI with a POST form whose action returns a redirect to another page. No database or persistence is needed. 1. Clone the reproduction and run (Node >=24.3.0). 2. Run . 3. Open http://localhost:44100/edit with JavaScript enabled and wait for the runtime to load. 4. Click Save. Confirmed in Chromium. passes, and confirms the server returns HTTP 303 with . Expected Behavior The Saved page renders and the browser URL changes from to . Actual Behavior The Saved page renders, but the browser URL remains . The template's custom returns or , discarding the redirect metadata the runtime needs. The current upstream template entry still contains this resolver. Removing the custom resolver and its helper fixes this by using Remix's default resolver. Confirmed with the same reproduction: the Saved page renders and the URL becomes . Related: #11667 introduced redirect handling for results; #11693 added the default resolver and updated demos, but the root template still contains the custom resolver.

joejemmely · 1h ago
sergiodxa
Add Standard JSON Schema support to data-schemaOpenPR

This adds Standard JSON Schema support for the remix/data-schema package. I tried to keep changes to current code minimal, only adding the property to the schemas, and a method to set a title, description and custom jsonSchema (used for case like ), all optional. The API is simple, once you define a schema: You can now call and get an the JSON schema object You can then pass this object to any package that expects a JSON schema. If the data-schema has something that can't be converted (like a Set, Map, etc.) then it immediately throw so ideally you catch this at dev time. I also avoided intentionally to change or adjust any existing test, so everything that already works still works, this is purely additive changes.

sergiodxa · 21h ago

Recent fixes

View closed PRs →
brophdawg11
Fix iterate workflow completion handlingMergedPR

The workflow stopped without applying requested changes in run 33920141016 because its prompt required network Git fetches after the agent's Git credentials had been removed. It then returned only prose instead of producing a required safe output. Read the current and triggering pull request head SHAs through the read-only GitHub API. Verify those commits are present in the existing full checkout without performing network Git operations. Re-read the triggering pull request before emitting a mutation so each same-repository, bot-owned fork, and community-fork path retains its head-SHA freshness check. Require when runtime limitations block the task and when no visible action is needed. This keeps the existing authorization, file restrictions, safe-output boundaries, and fail-closed threat-detection policy unchanged.

brophdawg11 · 1d ago
Structured data for AI agents

Repository: remix-run/remix. Description: The fully-stacked web framework Stars: 33357, Forks: 2795. 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 (3mo ago). Open PRs: 34, open issues: 24. Last activity: 1d 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