Skip to content

calesthio/OptionsCanvas

v0.1.8 Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 8d Self-Hosted
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

0dte algorithmic-trading alpaca charting day-trading fintech
+9 more
flask lightweight-charts local-first options options-trading python self-hosted trading-platform vanilla-js

Summary

AI summary

Fixed stale data overwrites on rapid symbol switching and corrected mixed‑grid strike increment detection.

Changes in this release

Bugfix Medium

Cancels previous symbol fetches with AbortController on rapid symbol switch to prevent stale state overwrites.

Cancels previous symbol fetches with AbortController on rapid symbol switch to prevent stale state overwrites.

Source: llm_adapter@2026-05-29

Confidence: high

Bugfix Medium

Improves strike‑increment detection for mixed‑grid option chains using a mode calculation over a 9‑strike window centered on ATM.

Improves strike‑increment detection for mixed‑grid option chains using a mode calculation over a 9‑strike window centered on ATM.

Source: llm_adapter@2026-05-29

Confidence: high

Bugfix Low

Splits strike‑increment cache: verified values cached for 1 hour; heuristic fallbacks cached for only 60 seconds to avoid poisoning from transient API blips.

Splits strike‑increment cache: verified values cached for 1 hour; heuristic fallbacks cached for only 60 seconds to avoid poisoning from transient API blips.

Source: llm_adapter@2026-05-29

Confidence: high

Full changelog

What's fixed

Stale state on rapid symbol switching. Slow API responses from the previous symbol could land after the new symbol's responses and overwrite the chart, contract list, or option preview with the wrong ticker's data — the kind of bug that makes traders open a trade against an instrument they're not looking at.

Now every symbol-scoped fetch (bars, contracts, config, quotes) is cancelled with AbortController the instant you switch, with a correlation-ID guard as a belt-and-suspenders check for anything that slips past the abort. Same pattern TanStack Query and other modern trading frontends use.

Strike-increment detection for mixed-grid chains. MSTR (and similar names) have $1 strikes deep ITM/OTM and $2.50 strikes near ATM. The old algorithm picked the smallest common increment in a ±$20 window, returning $1 — so orders snapped to $161 (which doesn't exist) instead of $160 or $162.50.

New algorithm: take the 9-strike window centered on ATM, compute adjacent diffs, pick the mode. Verified increments after the fix: SPY=$1, PLTR=$1, MRVL=$2.5, AMZN=$2.5, MSTR=$2.5, MU=$5.

Strike-increment cache split. Verified (chain-derived) values cache for 1 hour; heuristic fallbacks cache for only 60 seconds — so a transient API blip on the first lookup can't poison the long-TTL cache with a wrong value for the rest of the hour.

Why this matters

Resilient state handling and correct strike math aren't "nice to have" on a real-money trading platform — they're the difference between executing the trade you intended and executing one you didn't.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track calesthio/OptionsCanvas

Get notified when new releases ship.

Sign up free

About calesthio/OptionsCanvas

All releases →

Related context

Related tools

Earlier breaking changes

  • v0.1.1 External scripts must read and include the CSRF token in X-CSRF-Token header for POST/PUT/PATCH/DELETE calls.

Beta — feedback welcome: [email protected]