另外是一些關於這次架構轉換的技術性細節。

簡單來說,mosir的前端架構從Next.js 16換成了Tanstack Start。但背後有除了架構偏好之外的更多原因。

Nextjs的安全風險

Nextjs在2025年3月爆出header injection漏洞(CVE-2025-29927),2025年底也受到RSC上游的remote code executiton漏洞影響(CVE-2025-66478)。

雖然mosir受益於安全隔離架構設計,不允許SSR接觸任何與認證或隱私相關的資料,並沒有受到任何影響,但Nextjs專案的走向與App Router的RSC-first思維在我看來並不是很合理,...

...顯示更多 (2k 字)

選擇Tanstack Start的原因

mosir一直都有大量使用Tanstack Query作為store layer,Tanstack給我的印象一直都比較好(嗯對我個人蠻印象派(?)的)。

不過最主要是Tanstack Start的Isomorphic-by-default哲學對開發來說比Nextjs友善很多。以同樣的auth cookie來說,包裹Server Function並不會造成SSR錯誤,Isomorphic-defined code可以在SSR跟Client-side共用,不用擔心目前狀態是SSR或是browser,也不用包裹大量useEffect或刻意設計delayed-exe...

...顯示更多 (920 字)