Telemetry off
Documentation

Documentation

25. v0.11.1 — Replay indicator warm-up

Created
Aug 27, 2026
Updated
Aug 27, 2026

This patch release fixes bar replay starting with too little history for indicators to compute, and a hydration error on workspace load. Follows v0.11.0.

Fixed

  • Indicators had almost no warm-up at the replay start. Picking a start bar could leave the pane with only the couple dozen bars that happened to be loaded before it, so any indicator needing a few hundred bars of pre-calculation (long moving averages, ATR, most Pine scripts) rendered nothing until deep into playback. Two causes compounded: the pane the start was picked on — and any pane with a larger timeframe — was never backfilled at all (only smaller-timeframe panes were), and the context that was fetched or displayed was a calendar-time window (max(2 days, timeframe × 500)), which for intraday equities holds only ~100 15M or ~150 5M bars once sessions and weekends are removed. Replay now tops up every visible pane that has fewer than 1,000 bars before the start, and both the download and the on-chart history window are counted in bars — a 1,000-bar minimum — rather than wall-clock time.
  • "Hydration failed" error on workspace load. The alert toast host was rendered only when the alert engine existed. The engine is created during render only in the browser, so the server HTML omitted the host while the client's first render included it, and React threw a hydration mismatch on sonner's <section>. The host is now always mounted; it only listens for alert toast events and is inert until one fires.

Technical notes

  • planReplayStartFetch decides per pane whether context (too few bars before start) and/or forward bars (start not covered) are needed; fetchReplayStartBars only performs the requested parts.
  • Context is requested as to = start, bars = 1000 with no from — the same count-based paging the chart's "load older" path uses, so the server's session-aware lookback applies.
  • The shared limit lives in REPLAY_CONTEXT_BAR_LIMIT (fetch) and REPLAY_DISPLAY_CONTEXT_BARS (display); bump both together.

Verification

  • 259 test files / 2,007 tests passed, including new regressions for the replay fetch plan, the count-based context request and cap, and the bar-counted display window.
  • TypeScript passed with zero errors; the optimized production build compiled successfully.

Next steps

Back to the release list.

Next: Release Notes