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

Performance History

Latest Results

deal with race condition due to slower execution in CI environment set an initial value for the shared state to provide affirmative proof that the state was linked _before_ the API call was made. if only one state was linked when the HTTP request was made, then only one state would be updated by such request resulting in the observed behavior.
masenf/shared-state-direct-mod
15 minutes ago
ENG-9348: Lifespan tasks execute in registration order (#6334) * ENG-9348: Lifespan tasks execute in registration order Avoid indeterminism when lifespan tasks are registered. This allows internally registered tasks to deterministically execute prior to any user defined lifespan tasks. Added test case for originally reported issue. * update docs * fix incorrect deprecation warning * little cleaner test assertion, for greptile sake * lifespan_tasks property returns frozenset Return frozenset instead of set from the deprecated lifespan_tasks property so callers cannot mistakenly mutate the returned collection. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * guard @deprecated on lifespan_tasks behind TYPE_CHECKING Move the @deprecated decorator to a TYPE_CHECKING-only stub so that IDEs and type checkers still surface the deprecation warning, but runtime access only triggers console.deprecate (avoiding duplicate deprecation signals). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * re-raise CancelledError in modify_state_task Remove blanket exception handling in the test's modify_state_task so any unexpected errors propagate immediately rather than being hidden. The outer CancelledError handler remains for clean shutdown. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * do not allow init or repr for _lifespan_tasks * fix asyncio.Task support in lifespan task registration Extract _get_task_name helper that uses task.get_name() for asyncio.Task objects and __name__ for callables. This fixes an AttributeError when registering a pre-created asyncio.Task, which was already accepted by the type signature but crashed at runtime. Add integration test that creates an asyncio.Task during lifespan startup and registers it, verifying it runs and gets cancelled on shutdown. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * add ordering guards around test_lifespan Add comments clarifying that test_lifespan must be the last test in the file since it shuts down the session-scoped backend. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ignore possiblyUnboundVariable unfortunate, but changing these to `nonlocal` fixes the typing, but ultimately breaks the compiled app because these _do_ end up being module globals. * block register_lifespan_task after lifespan has started Registering a task from within a running lifespan task would mutate the dict during iteration. Add a _lifespan_tasks_started flag that causes register_lifespan_task to raise RuntimeError once _run_lifespan_tasks has entered. The previous test that registered an asyncio.Task from inside a lifespan context manager is now a negative test asserting the RuntimeError. The raw_asyncio_task_coro is registered directly as a coroutine function (the framework wraps it in asyncio.create_task). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * docs: note that lifespan tasks must be registered before app starts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
main
49 minutes ago
Refine Getting Started docs: typography, preview styling, content polish Port reflex-web PR #1818 plus content polish across all Getting Started pages. Typography & preview styling (docs/app + packages/reflex-ui-shared): - Tighter headings (smaller, semibold) and lighter body weight - Wider content column (42rem→52rem / 56rem→64rem); right sidebar moved from xl: to 2xl: so mid-width screens have more room - Navbar tabs visible from md: (was xl:) so they don't collapse to a burger at medium widths - Pill-style tabs (pill-tab / pill-tab-list); slate-tinted inline rt-Code; hover-reveal copy button with "Copy" label; softer borders - docgen_pipeline: cleaner rx.el.div section/tabs renderers with consistent gap and padding Getting Started content: - Introduction: new tagline, pill tabs, slate highlight (was violet), tightened walkthrough, added "Keep learning" / "Ship faster with AI" CTA cards - Installation: added ~3 min estimate, removed embedded video, rewrote as a single uv-based flow with <your-app> placeholder, promoted Rosetta + bun.exe notes to md alert blocks, added "Next" CTA - Basics: added ~10 min estimate, flattened Prerequisites wrapper, consolidated four single-line setup steps, fixed `rx.app` typo, fixed three broken [`code`](link) markdown links (rx.el / rx.cond / rx.foreach were rendering empty), added two CTA cards - Dashboard tutorial: added ~20 min estimate, trimmed ~180-line finished-app dump at top down to a one-sentence roadmap + link to #full-app, numbered Setup steps, promoted "What are you building?" from H3 to H2, renamed Conclusion → Full app + Recap, dropped Advanced Section stub, unified all 10 preview boxes (slate border, 12px radius, 2em padding, spacing="4", rx.box wrap) Sidebar order: - Getting Started now lists Installation before Introduction Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
alek/port-pr-1818
3 hours ago

Latest Branches

CodSpeed Performance Gauge
0%
ENG-9350: App.modify_state can directly modify SharedState tokens#6336
19 minutes ago
7cfd39b
masenf/shared-state-direct-mod
CodSpeed Performance Gauge
+1%
17 days ago
027d2f8
bondbox:main
CodSpeed Performance Gauge
0%
2 hours ago
24b214c
FarhanAliRaza:remove-json5-dep
© 2026 CodSpeed Technology
Home Terms Privacy Docs