Emdash source with visual editor image upload fix

Fixes:
1. media.ts: wrap placeholder generation in try-catch
2. toolbar.ts: check r.ok, display error message in popover
This commit is contained in:
2026-05-03 10:44:54 +07:00
parent 78f81bebb6
commit 2d1be52177
2352 changed files with 662964 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
-- Add columns for Server-Timing capture and free-form run notes.
--
-- cold_server_timings stores the parsed Server-Timing header from the cold
-- request as a JSON object keyed by timing name:
-- { "<name>": { "dur": <number>, "desc"?: <string> } }
-- Only the cold response is stored -- warm requests are aggregated into
-- medians, so keeping N server-timing blobs per route makes no sense.
--
-- note is a free-form label, primarily for manual triggers
-- (e.g. "pre-cold-start-fix baseline") but available for any source.
ALTER TABLE perf_results ADD COLUMN cold_server_timings TEXT;
ALTER TABLE perf_results ADD COLUMN note TEXT;

View File

@@ -0,0 +1,14 @@
-- Add column for the median-per-metric warm Server-Timing snapshot.
--
-- The original capture only stored cold Server-Timing (`cold_server_timings`).
-- That's useful for cold-start investigation but useless for steady-state
-- measurements -- which is what most performance work actually moves.
--
-- `warm_server_timings` stores the median duration per metric across all
-- warm requests in a single probe, in the same JSON shape as
-- `cold_server_timings`:
-- { "<name>": { "dur": <number>, "desc"?: <string> } }
--
-- Null when the target site didn't emit Server-Timing on warm responses, or
-- when no warm requests were issued.
ALTER TABLE perf_results ADD COLUMN warm_server_timings TEXT;

View File

@@ -0,0 +1,7 @@
-- Tag each measurement with the demo site it came from. Existing rows all
-- belong to the baseline blog-demo; the cache-demo site was added later.
ALTER TABLE perf_results ADD COLUMN site TEXT NOT NULL DEFAULT 'blog';
CREATE INDEX IF NOT EXISTS idx_perf_site_ts ON perf_results(site, timestamp);
CREATE INDEX IF NOT EXISTS idx_perf_site_route_region_ts ON perf_results(site, route, region, timestamp);