Commit Graph
58 Commits
Author SHA1 Message Date
mats 3bcc10a029 Merge pull request 'Fix/web typecheck' (#1) from fix/web-typecheck into main
ci / Console typecheck and build (push) Failing after 16s
ci / Go build, vet and test (push) Failing after 2m59s
ci / Binary with the console embedded (push) Skipped
ci / Container image (push) Skipped
Reviewed-on: #1
2026-09-27 15:01:51 +02:00
developer 728374dfda STATUS.md: correct the deliverables section
ci / Console typecheck and build (pull_request) Failing after 23s
ci / Go build, vet and test (pull_request) Failing after 1m1s
ci / Binary with the console embedded (pull_request) Skipped
ci / Container image (pull_request) Skipped
Makefile, Dockerfile, .gitignore, CI workflow and two k8s manifests do
exist; only README.md is empty and the k8s set is partial.
2026-09-27 12:59:27 +00:00
developer aa12b03eb9 fix data races in cache, resolver, qlog; add cache/zonefile/blocklist tests; update STATUS
- cache.Entry.Hits and LRU.perShard become atomics; SetCapacity now evicts
  down to the new budget; packKey fully qualifies names before packing
- resolver.Pool rewritten copy-on-write (atomic.Pointer to an immutable
  state); Upstream is immutable with shared *upstreamStats, so health
  survives a Rebind and the query path stops racing the config hook
- Pool.Exchange no longer marks a dead upstream healthy: Success was
  called before the error check, so the breaker never tripped
- qlog live ring publishes through atomic pointers
- blocklist.Holder.Get nil-safe; Builder lists each source once
- web: fix toast(string) misuse that rendered empty mutation toasts
- add unit tests for cache (with benchmarks) and zonefile
- STATUS.md: green -race integration suite, remaining failures and the
  broken bbolt snapshot round trip documented
2026-09-27 12:59:02 +00:00
developer 10e8a9b91a more code 2026-09-27 12:34:58 +00:00
developer ee72257c64 more code 2026-09-27 11:34:26 +00:00
developer f24fd63e9a web: give the toast helper a real type and keep the dist bundle out of git
Blocklists, Clients, Domains and Upstreams each carried a ToastLike shim
that duck-typed a react-hot-toast style API. The console uses its own
Toast context, so notify() was calling toast('some message') with a string
where ToastOptions is expected: every mutation toast rendered an empty
title. They now take the toast function from useToast() and send a real
{ title, tone } payload, mapping 'fail' onto the danger tone.
2026-09-27 11:32:39 +00:00
developer 85453852d5 initial commit 2026-09-27 11:20:34 +00:00
mats 5b935301e5 first commit 2026-09-27 11:44:33 +02:00