Adds a Competition column to My Orders from station heat #76

Merged
natemsz merged 3 commits from feat/orders-heat-column into main 2026-11-02 05:41:39 +00:00
Owner

The region sweep logs each time a station's stored best price is beaten (schema 118: market_best_beats) and restates the trailing 12 hour count per station, item and side (market_station_heat) inside the same sweep transaction, so the data is computed at ingest and shared by any surface that wants it.

My Orders gains a Competition column showing that count in heat words: Quiet (0), Warm (1-2), Hot (3-5), Very hot (6+), with the exact count in the cell's title ("Best price beaten N times in the last 12 hours"). The page reads the counts for its orders' stations in one bounded read. Heat is a property of the item at the station, so a just placed order shows its market's heat; a pair with no stored row reads Quiet, and counts build up over the first 12 hours after deploy.

Tests: the sweep test pins one beat per side when the bests move and none when the book is unchanged; the economy pages test pins the rendered Hot cell and its title; schema tests pin step 118 applying cleanly and the time columns as timestamptz.

The region sweep logs each time a station's stored best price is beaten (schema 118: market_best_beats) and restates the trailing 12 hour count per station, item and side (market_station_heat) inside the same sweep transaction, so the data is computed at ingest and shared by any surface that wants it. My Orders gains a Competition column showing that count in heat words: Quiet (0), Warm (1-2), Hot (3-5), Very hot (6+), with the exact count in the cell's title ("Best price beaten N times in the last 12 hours"). The page reads the counts for its orders' stations in one bounded read. Heat is a property of the item at the station, so a just placed order shows its market's heat; a pair with no stored row reads Quiet, and counts build up over the first 12 hours after deploy. Tests: the sweep test pins one beat per side when the bests move and none when the book is unchanged; the economy pages test pins the rendered Hot cell and its title; schema tests pin step 118 applying cleanly and the time columns as timestamptz.
Adds a Competition column to My Orders showing station heat
Some checks failed
github/test Test gate on GitHub runners
github/analysis Analysis gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/race Race gate on GitHub runners
dd37034b10
The region sweep now logs each time a station's stored best price
is beaten (schema 118) and restates a trailing 12 hour count per
station, item and side in the same transaction. My Orders reads
that count for its orders' stations in one bounded read and shows
it as heat words: Quiet, Warm, Hot, Very hot, with the beat count
in the cell's title. A pair with no stored row, including a just
placed order, reads Quiet; heat builds over the first 12 hours
after deploy.
Regenerates the market queries with sqlc
All checks were successful
github/analysis Analysis gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/test Test gate on GitHub runners
github/race Race gate on GitHub runners
8a416f6693
Renumbers the market station heat schema step to 120
All checks were successful
github/analysis Analysis gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/test Test gate on GitHub runners
github/race Race gate on GitHub runners
b94233ae8a
natemsz force-pushed feat/orders-heat-column from b94233ae8a
All checks were successful
github/analysis Analysis gate on GitHub runners
github/core-only Core-only gate on GitHub runners
github/test Test gate on GitHub runners
github/race Race gate on GitHub runners
to 9d3c104fcf
All checks were successful
github/analysis Analysis gate on GitHub runners
android-wrapper / build (pull_request) Successful in 3m37s
github/core-only Core-only gate on GitHub runners
github/test Test gate on GitHub runners
github/race Race gate on GitHub runners
2026-11-02 03:54:22 +00:00
Compare
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
EveSynapse/evesynapse!76
No description provided.