fresh icon indicating copy to clipboard operation
fresh copied to clipboard

Deno Fresh is unusable in production with Signal

Open jsb188 opened this issue 7 months ago • 2 comments

https://github.com/denoland/fresh/assets/9645145/242e28db-949c-4f7e-9fc8-fffa91d66ad8

Repo: https://github.com/saeho/fresh-signal-bug

Deno Fresh cannot be used in production unless the app completely doesn't use Signals or unless this bug is fixed.

In this reproduceable demo (video + repo), you will see the minimal codebase working when I build & run main.ts to serve the app at port 8000. Then if I re-build and re-serve the app main.ts at port 8000, there is no crash or service interruptions, it just works, and existing users who are on the app before the re-deploy are uninterrupted.

However, the moment I add a single line of code "useSignal()" into a single component, and then re-deploy main.ts at port 8000, every single person who was on that app before the newer version of the app cannot use the app any more.

Unless this issue can be resolved somehow, there's no way I or anyone can use Deno Fresh in production. We need to build and ship new features every day, and if we're going to break every user's experience every single time we upload a new version, that's... that's just not okay.

I truly believe this is a high alert issue for Fresh development.

NOTE: PM2 was not used to deploy Fresh app.

jsb188 avatar Jun 30 '24 20:06 jsb188