check / check (push) Successful in 13s
A Reporter class beside AppState POSTs a JSON report to the same-origin
/api/v1/reports every reportInterval (default 60s, a new CONFIG value).
buildReport is a pure function of host state: it emits each host's
unreported, non-paused samples ({t, latency, error}) plus a random
per-browser clientId from localStorage, geo null, and an ISO 8601 UTC
timestamp. A per-host high-water mark keyed on sample time makes every
report a delta and only advances on a delivered POST, so a failed send
re-sends next interval, bounded by the existing history window. Failure
is quiet: one debug-log line per outage, one on recovery, no alert, no
tight retry loop, never blocking probing. While paused nothing is sent.
vite.config.js proxies /api to 127.0.0.1:8080 so yarn dev exercises the
real path against a local netwatch-server. Backend and schema unchanged.
Model: opus-4-8
27 lines
779 B
JavaScript
27 lines
779 B
JavaScript
import { defineConfig } from "vite";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
import { execSync } from "child_process";
|
|
|
|
const commitHash = execSync("git rev-parse --short HEAD").toString().trim();
|
|
const commitFull = execSync("git rev-parse HEAD").toString().trim();
|
|
|
|
export default defineConfig({
|
|
plugins: [tailwindcss()],
|
|
server: {
|
|
// Proxy /api to a locally running netwatch-server so `yarn dev`
|
|
// exercises the real report-posting path.
|
|
proxy: {
|
|
"/api": "http://127.0.0.1:8080",
|
|
},
|
|
},
|
|
define: {
|
|
__COMMIT_HASH__: JSON.stringify(commitHash),
|
|
__COMMIT_FULL__: JSON.stringify(commitFull),
|
|
},
|
|
build: {
|
|
target: "esnext",
|
|
minify: "esbuild",
|
|
cssMinify: true,
|
|
},
|
|
});
|