chore(web): surface settings errors, fix catalyst override select, drop dead client code #8

Merged
pregno merged 3 commits from chore/web-polish-deadcode into main 2026-06-13 01:29:54 +02:00
Owner

Three small items from the repo-wide review, one commit each:

  1. Settings save failures now render (same text-destructive pattern as Trading) — previously a rejected save (e.g. zod 400 from a partial numeric input) looked identical to success.

  2. Catalyst override select fixed: selecting "None" now sends catalystTag: null (confirmed the PATCH schema clears on null) instead of persisting the literal string "none" that Scanner rendered as a tag; and a current tag outside CATALYST_CATEGORIES (server accepts any ≤64-char string, e.g. an LLM-produced "spot-bid") is rendered as an extra option so the select reflects reality instead of silently showing the wrong value.

  3. Dead code from the Overview-page removal deleted after repo-wide re-verification: fetchScanner, fetchOutcomes, ackAlert, ackMarketAlert in api/client.ts (plus their orphaned imports and the fetchScanner-only test). Everything still referenced (dismiss/bulk-dismiss, fetchAlerts, fetchMarketAlerts, settings/positions functions) was kept. The server's unused annotations table was intentionally NOT touched — dropping it needs a migration and drizzle-kit generate is currently broken by missing meta snapshots (separate issue).

Tests: 56 files / 313 passing, typecheck clean.

Three small items from the repo-wide review, one commit each: 1. **Settings save failures now render** (same `text-destructive` pattern as Trading) — previously a rejected save (e.g. zod 400 from a partial numeric input) looked identical to success. 2. **Catalyst override select fixed:** selecting "None" now sends `catalystTag: null` (confirmed the PATCH schema clears on null) instead of persisting the literal string "none" that Scanner rendered as a tag; and a current tag outside `CATALYST_CATEGORIES` (server accepts any ≤64-char string, e.g. an LLM-produced "spot-bid") is rendered as an extra option so the select reflects reality instead of silently showing the wrong value. 3. **Dead code from the Overview-page removal deleted** after repo-wide re-verification: `fetchScanner`, `fetchOutcomes`, `ackAlert`, `ackMarketAlert` in `api/client.ts` (plus their orphaned imports and the `fetchScanner`-only test). Everything still referenced (dismiss/bulk-dismiss, `fetchAlerts`, `fetchMarketAlerts`, settings/positions functions) was kept. The server's unused `annotations` table was intentionally NOT touched — dropping it needs a migration and `drizzle-kit generate` is currently broken by missing meta snapshots (separate issue). Tests: 56 files / 313 passing, typecheck clean.
pregno force-pushed chore/web-polish-deadcode from db15a40c63 to 839de9ac6d 2026-06-13 01:29:42 +02:00 Compare
pregno merged commit 4d41fb0453 into main 2026-06-13 01:29:54 +02:00
pregno deleted branch chore/web-polish-deadcode 2026-06-13 01:29:54 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
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
pregno/polymarket-screener!8
No description provided.