{"id":27890351,"url":"https://github.com/craftzing/remix-streaming","last_synced_at":"2025-06-23T17:07:08.131Z","repository":{"id":206487601,"uuid":"716936778","full_name":"craftzing/remix-streaming","owner":"craftzing","description":"Test project to debug streaming in Remix behind a proxy \u0026 Cloudflare","archived":false,"fork":false,"pushed_at":"2024-02-01T08:24:57.000Z","size":158,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-05T10:57:05.853Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://remix-streaming.craftzing.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/craftzing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-10T07:34:44.000Z","updated_at":"2023-11-10T12:39:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"8f1852b2-bb88-48d7-8c78-b56c59433b1f","html_url":"https://github.com/craftzing/remix-streaming","commit_stats":null,"previous_names":["craftzing/remix-streaming"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/craftzing/remix-streaming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftzing%2Fremix-streaming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftzing%2Fremix-streaming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftzing%2Fremix-streaming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftzing%2Fremix-streaming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craftzing","download_url":"https://codeload.github.com/craftzing/remix-streaming/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craftzing%2Fremix-streaming/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261518958,"owners_count":23171227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T10:47:02.139Z","updated_at":"2025-06-23T17:07:08.074Z","avatar_url":"https://github.com/craftzing.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @craftzing/remix-streaming\n\n[![code-review](https://github.com/craftzing/remix-streaming/workflows/code-review/badge.svg)](https://github.com/craftzing/remix-streaming/actions/workflows/code-review.yml)\n[![release](https://github.com/craftzing/remix-streaming/workflows/release/badge.svg)](https://github.com/craftzing/remix-streaming/actions/workflows/release.yml)\n\n## Development\n\nFrom your terminal:\n\n```sh\nnpm run dev\n```\n\nThis starts your app in development mode, rebuilding assets on file changes.\n\n## Deployment\n\nCreate a release commit, tag it \u0026 push it. This will build a docker image \u0026 deploy it on the server.\n\n```sh\ngit add package.json\ngit commit -m \"chore(release): v1.2.3\ngit push\ngit tag v1.2.3\ngit push --tags\n```\n\n## Streaming issues behind nginx proxy\n\nTurns out by default nginx has this setting `proxy_buffering` turned on, this \"buffers\" the upstream response and only responds when it \"finished buffering\". Because of this, it was not possible to leverage [Remix Streaming](https://remix.run/docs/en/main/guides/streaming).\n\nWe would see a super slow response from the server as it's awaiting the Node.js process response to finish\n![Screenshot 2023-11-10 at 12 58 56](https://github.com/craftzing/remix-streaming/assets/1210628/0e3f0c89-d10d-45ac-b188-600697080267)\n\nAfter adding `proxy_buffering off` to our nginx config ([bd2fa6df5b8b82f44969f9ad21a260e335ec83da](https://github.com/craftzing/remix-streaming/commit/bd2fa6df5b8b82f44969f9ad21a260e335ec83da)), we saw an instant response from the server while the content is streaming, which is the desired behavior.\n![Screenshot 2023-11-10 at 13 12 05](https://github.com/craftzing/remix-streaming/assets/1210628/0dcc22be-922b-4854-8a4d-14c058bb05f8)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftzing%2Fremix-streaming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraftzing%2Fremix-streaming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraftzing%2Fremix-streaming/lists"}