Files
DenozordecandClaude Sonnet 5.5 f3531c64f9 Move the console onto ReUI PRO
Install ReUI (MCP, skill, @reui registry, Tailwind v4, shadcn base-nova) and move
the shared UI onto it: Button, Tag, Check, Input/Textarea, Segmented, Alert, Panel,
Dialog, Tooltip, Menu and Select (Popover), Toast (sonner), the Table frame
(DataGrid), the Dashboard KPI strip, the shnt Ops palette, Geist and the type scale.

Design only: behaviour, texts and roles are unchanged. Tests that asserted the old
DOM were updated; the tests now format numbers in English wherever they run.
docs/reui-migration-plan.md records the plan and its decisions.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-27 00:06:06 +07:00

52 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Parity checks
## `check-parity-actions.sh`: the one that actually counts
Runs **the same action on both instances** and compares the state the server is
left in, not the bytes of the page. This is the check that makes the project's
governing constraint enforceable: since behaviour does not change, if the body
the new console sends differs by one parameter, the record left behind differs
and it shows up here.
```bash
docker compose up -d
./check-parity-actions.sh
```
It covers fourteen actions: seven creates (including the awkward ones: split TXT,
SVCB with flattened `svcParams`, CAA with its default values), three edits
(among them disabling a record, which upstream does as a `records/update`
resending the whole record), three deletes (including CNAME, which falls to the
`default` branch and sends no identity parameter at all) and the `options/set`
with all six empty lists travelling as the string `"false"`.
It normalises three things before comparing, and all three because they are not
parity: `lastModified`, the SOA serial and **the server's own name**, which is
embedded in the NS and SOA of every zone and is deliberately different in each
container.
## `check-parity.sh`: only for the preserved files
Compares the content of a path between the two instances. The console is ours,
so **for `/` it reports `DIFFERENT` and that is the point of the project**. It
still serves for what the build preserves untouched:
```bash
./check-parity.sh /robots.txt # IDENTICAL
./check-parity.sh /favicon.ico # IDENTICAL
```
## `parity-login.mjs`
Compares the alerts on the login screen between the new console (5380) and
upstream's (5381). Needs Playwright:
```bash
npm i -D playwright && npx playwright install chromium
node parity-login.mjs
```
It found two real divergences the first time it ran: the "×" button to dismiss
the alert was missing, upstream has it, so its absence was a behavioural
difference, and so was the space between the title and the text.