halkyon/packages/halkyon_base_server/test/unit
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tizian 「ティツィアーン」 1ad5d84110
fix(auth)!: proofs are bound to the instance's whole base URL
SRP's identity and the recovery phrase's proof carried the host alone, so
instances on one host under another port, path or scheme could relay each
other's proofs (the full reading's device low 4). Both now carry the base
URL the device addresses, written alike on both sides
(canonicalInstanceUrl: scheme and host in lower case, the port only where
it isn't the scheme's own, the path ending in /); the register takes its
own public scheme, host and port (Serverpod serves at the root), a member
the URL it names, development anything.

The identity also gains a purpose and the digest of what a proof sets,
both empty so far (signing in), with the framing for a new phrase's and an
authenticator's digest beside the new password's: the owner's proofs bind
them next. Cross-tests hold both sides to the same bytes. OwnerProof's and
DeletionProof's host, and every endpoint's, become instanceUrl.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-10-23 14:12:54 +02:00
..
password fix(auth)!: proofs are bound to the instance's whole base URL 2026-10-23 14:12:54 +02:00
profile refactor(profile): handles and profiles move into halkyon_base 2026-10-22 18:11:07 +02:00
srp feat(crypto): SRP-6a, the register's half and the device's 2026-10-22 18:11:08 +02:00
totp feat(crypto): recovery codes kept under the instance's key 2026-10-22 18:11:10 +02:00
accounts_mode_test.dart feat(accounts): one account across an instance's services (ADR 0016) 2026-10-22 18:11:07 +02:00
code_mail_test.dart fix(auth): a proof the register couldn't answer counts; the sign-up mail says it gives a password 2026-10-23 14:12:50 +02:00
data_location_test.dart halkyon_app: data locations as precise as a country or a state 2026-10-19 18:50:26 +02:00
network_test.dart fix(auth): an IPv6 visitor counts by their /64 2026-10-23 14:12:45 +02:00
password_config_test.dart feat(auth): a password with TOTP on the register, and resets 2026-10-22 18:11:10 +02:00
source_code_test.dart halkyon_base: a Serverpod module for sign-in, accounts and instance basics 2026-10-19 14:29:28 +02:00