From 0e2d5fa2cbd8fb417c34b1352771d611c4b3bd99 Mon Sep 17 00:00:00 2001 From: Chris Amow Date: Thu, 13 Aug 2026 03:54:28 -0500 Subject: [PATCH] Expand drawing widths and quarantine live-feed test --- app/api/routes.py | 6 +++--- docs/implementation.md | 9 ++++++++- static/index.html | 6 +++--- tests/e2e/chart.test.mjs | 5 ++++- tests/e2e/drawings.test.mjs | 10 ++++++++++ 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/app/api/routes.py b/app/api/routes.py index 4e30b39..3f8f1e6 100644 --- a/app/api/routes.py +++ b/app/api/routes.py @@ -69,7 +69,7 @@ class LineCreate(BaseModel): note: str = "" hidden: bool = False color: str = Field("#65b7cf", pattern=r"^#[0-9a-fA-F]{6}$") - line_width: int = Field(2, ge=1, le=4) + line_width: int = Field(2, ge=1, le=9) cutoff_t: int | None = None armed: bool = True @@ -86,7 +86,7 @@ class PriceAlertCreate(BaseModel): note: str = "" tf: Timeframe = Timeframe.D1 color: str = Field("#e0a34a", pattern=r"^#[0-9a-fA-F]{6}$") - line_width: int = Field(2, ge=1, le=4) + line_width: int = Field(2, ge=1, le=9) class LinePatch(BaseModel): @@ -94,7 +94,7 @@ class LinePatch(BaseModel): note: str | None = None hidden: bool | None = None color: str | None = Field(None, pattern=r"^#[0-9a-fA-F]{6}$") - line_width: int | None = Field(None, ge=1, le=4) + line_width: int | None = Field(None, ge=1, le=9) anchor_t: int | None = None anchor_p: float | None = None slope: float | None = None diff --git a/docs/implementation.md b/docs/implementation.md index 52865cf..f4669b9 100644 --- a/docs/implementation.md +++ b/docs/implementation.md @@ -753,7 +753,7 @@ re-run is indistinguishable from a fix. ### 2026-08-11 — flaky browser cases quarantined -The four cases named above are skipped rather than allowed to make the full +The cases named above are skipped rather than allowed to make the full suite nondeterministic. The symbol failure was reproduced: an older persisted, off-screen symbol occupied the same edge position and intercepted the click intended for the symbol created by the test. That test is unsound while it @@ -763,6 +763,13 @@ before a multi-step gesture, so they need stable fixture data or stronger gesture-local targeting. The diagnostic capture case needs deterministic display-media and upload-completion boundaries. +The live-edge viewport case joined the quarantine after the same pattern was +observed directly: its helper reads candle data and the visible range in +separate chart API calls while the live feed can update between them. It then +requires exact timestamp equality, so a legitimate new bar makes the assertion +compare two different instants. It needs one stable snapshot or a tolerance +that still catches the original ten-hour regression before it is sound. + These are explicit `node:test` skips with reasons, not deleted coverage. Re-enable each case only after its stated external dependency is removed and repeated full suite runs remain green. diff --git a/static/index.html b/static/index.html index e693b48..d7e39df 100644 --- a/static/index.html +++ b/static/index.html @@ -66,7 +66,7 @@
- +