M12e: contract pass (pair invite kind, admin name in invite links, sync failed flag, rejection actor, device version name, template id, update check result, untouched accounts, D-027 re-stamp, PushEvent in :core:model, snackbar hosts)

Server: E-3 invite_kind; E-12 link ?from=<admin name>, E-4 passes it into kvitt://invite;
X-Kvitt-App-Version-Name stored in devices.app_version_name (migration 0003, schema 3);
OpenAPI and examples follow. Phone: :core:model, :core:fakes, :data, features and :app
updated together; goldens re-recorded for S-20 (version name) and new S-1/S-22 states.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TQd3pEP9UeN2uifbHknQ7B
This commit is contained in:
2026-10-18 15:00:50 +02:00
parent 6159e18198
commit 8c607153c0
96 changed files with 1090 additions and 298 deletions
@@ -5,6 +5,7 @@
"user_id": "0192a000-0000-7000-8000-000000000001",
"name": "Galaxy S26",
"app_version_code": 41,
"app_version_name": "1.1",
"created_at": "2026-10-17T06:12:40.512Z",
"last_seen_at": "2026-10-17T09:00:00.000Z",
"revoked_at": null,
@@ -15,6 +16,7 @@
"user_id": "0192a000-0000-7000-8000-000000000001",
"name": "Old phone",
"app_version_code": null,
"app_version_name": null,
"created_at": "2026-10-17T06:20:00.000Z",
"last_seen_at": "2026-10-17T06:25:00.000Z",
"revoked_at": "2026-10-17T06:40:00.000Z",
@@ -25,6 +27,7 @@
"user_id": "0192a000-0000-7000-8000-000000000002",
"name": "Galaxy S26+",
"app_version_code": 41,
"app_version_name": "1.1",
"created_at": "2026-10-17T07:01:15.000Z",
"last_seen_at": "2026-10-17T08:40:12.000Z",
"revoked_at": null,