You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -1158,6 +1159,134 @@ This document contains all identified issues, improvements, and enhancements for
1158
1159
-**P2 (Medium)**: Improvements, minor bugs, technical debt
1159
1160
-**P3 (Low)**: Nice-to-haves, future features
1160
1161
1162
+
## Router & Runtime Fixes (Phased)
1163
+
1164
+
Identified from a full audit of the router (`packages/router/src/client.ts`), signals runtime (`packages/stx/src/signals.ts`), hydration (`packages/stx/src/hydration.ts`), and template processing (`packages/stx/src/process.ts`). Organized into phases for incremental implementation and testing.
1165
+
1166
+
### Phase 1: Router Critical Fixes
1167
+
1168
+
These directly affect user experience and cause visible bugs.
-[x] Audit all `new Function()` call sites — all server-side calls already use `createSafeFunction` with `isExpressionSafe()` guard
1275
+
-[x] Client-side `new Function()` calls in signals runtime are template-author expressions (same model as Vue/Svelte), not user input — no guard needed
1276
+
-[ ] Add tests for known-dangerous expressions
1277
+
1278
+
---
1279
+
1280
+
### Implementation Notes
1281
+
1282
+
- Each phase should be built and tested independently
1283
+
- Rebuild the `stx` binary (`bun run build` from stx root) after each phase
1284
+
- Test against hoodies-ui after each phase to verify no regressions
1285
+
- Phase 1 is the highest priority — these are bugs users will hit immediately
1286
+
- Phases 3-5 are lower urgency but prevent subtle production issues
0 commit comments