Avatar for the reflex-dev user
reflex-dev
reflex
BlogDocsChangelog

Performance History

Latest Results

Require plain directory names in every frontend_path segment The previous guard only rejected ".." between forward slashes. On Windows a backslash is also a separator, so "..\\escaped" still traversed out of the build output, and a drive-letter or rooted segment such as "D:other" or "\\" makes pathlib replace the base path entirely. Validate each slash-delimited segment with PureWindowsPath: it must have no anchor (drive or root) and parse to exactly itself, which rules out backslashes, drive prefixes, UNC forms, and ".". Bare ".." is rejected explicitly since it parses to itself. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UwbNDEaQNGWeHWS8nxsURd
claude/happy-brown-ajf67r
2 hours ago
Address review findings on the router var split Whole-router dependency (greptile P1, cubic P2): deps=[State.router] registered only router_url, because VarData.merge surfaces the first non-empty field name, so a cached var declaring the whole router went stale when any other router field changed. Vars now name the state fields a dependency must track via _dependency_field_names(); RouterDataVar names all five. Non-composite vars keep their existing behaviour. Cached headers aliasing (greptile P2, cubic P2): the cached headers dict was shared with every event and, through it, with the mutable state.router_data, so a handler mutating self.router_data["headers"] corrupted the connection cache. Copy it per event -- measured at 0.081us against the 1.347us decode it replaced, so the cache still pays for itself 17x over. My note on the PR claiming the copy was the cost being removed was simply wrong. Omitted static keys (cubic P2): a router_data carrying only the navigation keys says nothing about the session or headers, but _update_router_vars read the omission as a change and reset them to their defaults. A key absent from the new payload is now left alone. Non-origin headers (cubic P2): only the origin header feeds the page and URL, so a cookie change no longer rebuilds the navigation vars. Hardcoded identifiers (greptile P2): the router field names are now named constants, used at the lookup sites and in the dynamic route dependency. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mwk1pagH3KZ884Xw55BNMh
claude/router-vars-refactor-7j1305
3 hours ago

Latest Branches

CodSpeed Performance Gauge
+3%
Fix build failure when frontend_path is set without prerendering#7044
2 hours ago
a0480cc
claude/happy-brown-ajf67r
CodSpeed Performance Gauge
+3%
CodSpeed Performance Gauge
0%
3 hours ago
6fef1cd
claude/otel-fixes-3of3
© 2026 CodSpeed Technology
Home Terms Privacy Docs