fced18528b
Backfill the history missed while the live stream was down.
...
History was only fetched by the startup seed, so a Schwab outage stayed a
hole until the next deploy — Sept 9 to 24 after a refresh token expired.
A reconnect more than two minutes past the last bar now fetches the gap
from Yahoo, fills empty buckets only, refolds the live forming buckets,
rebuilds levels without alerting, and resyncs every socket.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 18:48:54 -05:00
234b57e8b6
Stamp drawings and alerts with symbol; snap from the instrument profile.
...
Missing JSON still loads as /ES. No switcher and no second stream.
2026-09-07 04:01:08 -05:00
d0a0f9f6d6
Document End trendline here: cutoff clips, last_t does not move.
...
The menu hid the item unless the click was past the second anchor.
2026-09-04 03:34:58 -05:00
3d27ef285c
Show End trendline here for any click after the first anchor.
...
It used to require a time past last_t, so a line whose second point
already sits at the live edge never offered the item.
2026-09-04 03:32:42 -05:00
72bcd0fa61
Paint session H/L in the candle primitive so they track price zoom.
...
DOM marks only moved on overlay redraw, so a price-axis drag left them
stuck until something else refreshed.
2026-09-01 22:47:16 -05:00
bc9fed764a
Show session high/low as short ticks at the live edge.
...
Forming daily H/L, not a full-width line. Config default on.
A forming tick only moves the marks if the range actually expanded.
2026-09-01 22:39:37 -05:00
2fbb5957f3
Revert "Drop HTF source times that sit inside a compressed 1m halt."
...
This reverts commit e6fa6beaf0 .
2026-08-31 03:45:43 -05:00
e6fa6beaf0
Drop HTF source times that sit inside a compressed 1m halt.
...
Yahoo 30m/1h can print through Saturday; those opens added index steps
while 1m display is one slot, kinking the line at 17:00. Short holes
and settlement compression are unchanged.
2026-08-31 03:29:40 -05:00
fd315326b4
Stop chart pointerdown from eating Duplicate on the context menu.
...
The menu sits inside the chart element, so pointerdown bubbled into
pan/tool capture and the Duplicate click never ran.
2026-08-28 15:20:32 -05:00
a057341bbf
Put Duplicate on the drawings list; do not require a time under the click.
...
The handler never ran — no event, no POST. Right-click in empty time
also hid the menu. List button uses the selected trendline.
2026-08-28 15:17:19 -05:00
c1d508cb4f
Duplicate a line even when 10 source bars would pass the horizon.
...
Prod never saw POST /api/lines: the browser aborted the shift. Clamp to
the last owned source slot so Duplicate still creates a copy.
2026-08-28 15:01:47 -05:00
6f03560e74
Default confluence zone alerts off; Config can turn them back on.
...
Armed drawings and DMA bells still fire. The pref lives in user_prefs
so pushes follow it, not a display checkbox.
2026-08-27 17:09:23 -05:00
3626795e03
Say why Duplicate did nothing.
...
It aborted on unresolved geometry, a failed 10-bar shift, or HTTP
error with only a console.error.
2026-08-27 02:26:02 -05:00
a1567fe82a
Restore the live-price animation default.
...
Off in Config is per-browser; do not change the default for that.
2026-08-26 03:46:02 -05:00
168352872e
Default live-price animation off.
...
The overlay still costs a few percent. LWC LargeDashed marks the line
without it.
2026-08-26 03:45:37 -05:00
25c2714850
Use larger CSS triangles for the live-price ends.
...
Same plot overlay, no extra axis width.
2026-08-26 03:42:21 -05:00
a16a1d0e6e
Do not widen the price scale for the live-price arrows.
...
← sits on the plot, just left of the label. After-the-digits needs
space we should not take from candles.
2026-08-26 03:41:38 -05:00
b28c0ff75f
Widen the price scale so 7687.00 ← fits after the label.
...
The axis was sized to the digits; there was no leftover strip.
2026-08-26 03:40:42 -05:00
e1e0e40c10
Keep the live-price ← just inside the chart, after the label.
...
The plot overlay cannot reach the axis; this one sits on #chart.
2026-08-26 03:39:56 -05:00
bcc86fbfd2
Put live-price arrows on the plot: → left, ← right.
...
The last arrow sat off the right edge of the chart.
2026-08-26 03:35:52 -05:00
54d7f880af
Mark live price with a left arrow after the axis label.
...
The scale-wide frame sat too far right and barely read.
2026-08-26 03:33:43 -05:00
20d02fc3d2
Use LWC LargeDashed for the live price line.
...
Custom overlay dash was the wrong place to spend. LWC already paints
that line with the last candle.
2026-08-26 03:30:50 -05:00
8108f2dea3
Draw the live price as a dash-dot ray across the plot.
...
LWC keeps the axis label only. The overlay uses a 14-4-2-4 dash so it
does not look like a trendline.
2026-08-26 03:29:30 -05:00
5708150ba3
Show the live-price frame: keyframes were fading from opacity 0.
2026-08-26 03:28:14 -05:00
c784f9ed12
Pulse a frame around the live price label, not the whole plot.
...
Opacity on a ~50x20 box can use the compositor. The old full-width
gradient could not.
2026-08-26 03:26:26 -05:00
111d367224
Animate the live-price cue with transform only.
...
background-position on a full-width gradient was ~15% CPU. The dash
stays put; only a small shine translates.
2026-08-26 03:25:30 -05:00
f7fbee1187
Coalesce forming 1m ticks to one candle update per frame.
...
Schwab can print many times a frame; only the last OHLC is visible.
2026-08-26 03:22:22 -05:00
fe4e6b1ae8
Send only the live candle on a forming 1m tick.
...
Future calendars and HTF geometry wait until that timeframe advances.
The quote paints the header directly so Vue does not rerender the page
at 4 Hz.
2026-08-26 03:19:26 -05:00
60ffaf4657
Stop rebuilding the 1m time scale on every forming tick.
...
Identical future_times are now a no-op, and HTF ticks only resync lines
when a source bar is actually appended. Document the slotted-hole kink.
2026-08-26 03:12:00 -05:00
f5ba154c98
Count short tape holes in source index so 1m lines stay straight.
...
Prod already owned the empty 1m slots; source index still treated the
bars on either side as adjacent. Also post a geometry SNAPDBG on ?diag=1.
2026-08-26 03:04:52 -05:00
c28b0ce535
potential 1m fix
2026-08-26 02:27:32 -05:00
eb18de9bb9
Do not put off-window trendline times on the shared scale.
...
Sampling every source-TF timestamp pulled months of 30m/1d history
onto the 1m chart and dropped the lines. Clip samples to the displayed
window and never hand Lightweight Charts a null value.
2026-08-26 02:01:45 -05:00
becbc0e0b4
Sample trendlines on their own timeframe and hit-test the painted line.
...
1m was putting a point on every bar for 30m/1d lines, which kinked at
tape holes and made hover/select miss. Clicks that were eaten by the
vertical pan gesture now select on pointer-up.
2026-08-26 01:55:47 -05:00
c2ad2e8d7d
Stop rebuilding chart overlays on every live tick.
...
Ticks were force-redrawing trendline overlays and, in diagnostic mode,
sampling canvas pixels. That maxed CPU. Also document production log
and capture access for agents.
2026-08-26 01:36:17 -05:00
e94bd3d3d2
Keep both drawing-visibility rules when hiding manual levels
...
Resolves a conflict between hide_finer_trendlines and upstream's
drawingVisible helper. They gate on different prefs — hideLowerTfDrawings
versus hide_finer_trendlines — so both apply rather than one replacing
the other.
2026-08-26 06:14:59 +00:00
1c06ae370a
redact oauth values from debug logs
2026-08-26 01:13:54 -05:00
d8dcb84edb
harden production debug wrapper
2026-08-26 01:06:48 -05:00
0768f6d783
add restricted production diagnostics
2026-08-26 00:36:13 -05:00
5468bbec60
fix future drawing interactions
2026-08-25 05:41:55 -05:00
90fc77df92
fix canonical future geometry
2026-08-25 05:03:42 -05:00
cb81672a37
trendline fix and just
2026-08-25 04:00:52 -05:00
693d0873f8
diag delay so we can solve trendline slope problem
2026-08-24 01:43:35 -05:00
01acdce045
slope calc fix
2026-08-24 01:02:51 -05:00
18585e42cd
trendline selection issue
2026-08-23 23:25:55 -05:00
eaf118ef8b
drawings from higher timeframes to lower fixes
2026-08-23 21:37:19 -05:00
913eec34ea
lower time frame trendlines blocked from dma chart
2026-08-23 21:10:09 -05:00
7c5f0a7627
large timeframes dashed
2026-08-23 18:27:08 -05:00
dae60fdf67
undo
2026-08-21 03:10:31 +00:00
6e69b7337a
current bar fix and ma features
2026-08-20 23:15:34 +00:00
92a9d4b3d3
snapping
2026-08-20 16:07:19 +00:00