Skip to content

v0.8.1 — RDAP Ownership & Expiration Fixes

Choose a tag to compare

@hxx0611 hxx0611 released this 18 Aug 13:17
· 23 commits to main since this release

v0.8.1 — RDAP Ownership & Expiration Fixes (bugfix / stability release)

Bugfix release over v0.8.0 (which introduced admin authentication, the notification configuration UI, the Telegram channel, and encrypted secret storage — all unchanged here).

Fixed

  • RDAP fallback ownership: registered-domain fallback no longer treats parent-domain data as child-domain ownership. A subdomain without its own RDAP object (e.g. opusai.eu.cc → 404) previously resolved to the parent (eu.cc) and the parent's expiration, registrar, nameservers and status were stored on the child row. RDAP results now carry explicit ownership detection (exact / parent), decided strictly from the RDAP object's canonical/LDH identity — never merely from "a fallback succeeded".
  • No parent data on the child: parent-derived expiration / registrar / nameservers / status are never written to the subdomain's own fields. The child is marked rdap_status = ["no-object"] and its registration fields are cleared; the UI shows Unavailable instead of inventing a parent expiration for the subdomain.
  • Expiration-date UI duplication: the detail page showed the expiration twice (Expiration heading plus an Expires: … prefix); it now renders a plain date.
  • Fallback safety net: fallback is allowed only for not-found (HTTP 404 / no domain object) or a successful response without an expiration date; network, timeout, 429, 500 and invalid responses are never masked by a parent query; a bare TLD is never queried.
  • Production data repair: production records affected by the previous fallback behavior were corrected through the normal Refresh flow.

Notes

  • No schema / migration changes. updateDomainRdap(id, data, ownership) now requires an explicit ownership argument.
  • Telegram secret storage, authentication, and the notification pipeline are unchanged.
  • Test suite: 708 tests (46 files) — tsc / lint / prettier all green.