Skip to content

Fix runtime completeness and make Tailnet mobile remote usable#1

Merged
lyc-aon merged 4 commits into
mainfrom
fix/runtime-remote-mobile-e2e
Jul 13, 2026
Merged

Fix runtime completeness and make Tailnet mobile remote usable#1
lyc-aon merged 4 commits into
mainfrom
fix/runtime-remote-mobile-e2e

Conversation

@lyc-aon

@lyc-aon lyc-aon commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Ships the v0.1.1 runtime/remote recovery candidate.

  • projects the complete OMP session event vocabulary and exact durable message correlation
  • fixes challenged Stop confirmation correlation and revision drift
  • restores real browser-direct session discovery, history, and connected state
  • makes the composer and controls reachable across phone viewports
  • adds a loopback-only, exact-origin Tailnet gateway and durable service helper
  • adds production-build browser E2E, gateway/service, mobile, correlation, and packaging regression coverage
  • hardens release verification and macOS bundle inspection

Verified locally with full lint/typecheck/build, 759 workspace tests, 20 tooling tests, 12 packaging tests, 5 production-browser E2Es, real Tailnet send/cancel/reload, independent Mac remote Chrome proof, and a launched Linux AppImage payload.

@lyc-aon
lyc-aon merged commit 8b2e3fd into main Jul 13, 2026
1 check passed
@lyc-aon
lyc-aon deleted the fix/runtime-remote-mobile-e2e branch July 13, 2026 06:37
wolfiesch added a commit that referenced this pull request Jul 24, 2026
* test: define T4 API v1 client conformance

* feat: define T4 API v1 contract and SDK boundary

* ci: emit T4 API generation artifacts

* build: recover T4 API generation lockfile

* fix: use OpenAPI parser named API

* feat: add generated T4 API v1 types

* fix: typecheck T4 API conformance fixtures

* test: expose T4 API semantic blockers

* fix: enforce T4 API public contract semantics

* build: accept authorized T4 API schema artifact

* test: complete bounded API conformance cases

* test: expose remaining API runtime blockers

* fix: fail closed across public API payloads

* build: accept revised T4 API schema artifact

* fix: select bounded conformance frames

* test: assert bounded consecutive watch retries

* test: cover OP03 fail-closed review contracts

* fix: close OP03 fail-closed review gaps

* build: accept authorized OP03 schema artifact

* fix: enforce exact watch response contract

* fix: close watch retry and body ownership gaps

* test: prove watch media and stream cleanup

* test: align terminal watch protocol assertions

* test: cover Unicode bounds and SSE cancellation

* fix: validate response lengths by code point

* test: cover strict response protocol gaps

* fix: enforce declared response protocol

* test: reject invalid mutations before idempotency

* fix: close strict API contract gaps

* test: type omitted command metadata

* fix: preserve optional generated defaults

* chore: accept authorized API schema artifact

* fix: require API generation in release gate

* test: cover final strict conformance gaps

* fix: validate create and watch contracts

* test: cover final header and precondition parity

* fix: align required response headers

* chore: accept required-header schema artifact

* test(t4-api): cover final strict response gaps

* fix(t4-api): close strict response gaps

* test(t4-api): isolate watch query validation

* test(t4-api): pin leap dates and RFC850 pivot

* fix(t4-api): validate announced leap seconds

* test(t4-api): require declared request media

* fix(t4-api): enforce JSON request media

* test(t4-api): sanitize media fixture keys

* test(t4-api): bound resync session ids

* fix(t4-api): bound resync session ids

* test(t4-api): require truthful mutation contracts

* feat(t4-api): expose truthful mutation contracts

* chore: accept truthful API schema artifact

* test(t4-api): use fixture auth proof

* test(t4-api): reject malformed page cursors

* test(t4-api): reject silent version downgrade

* fix(t4-api): reject invalid cursors and downgrades

* test(t4-api): require issued page cursors

* fix(t4-api): bind issued page cursors

* fix(t4-api): issue unique opaque page cursors

* test(t4-api): reject stale issued cursors

* fix(t4-api): sign scoped page cursors

* test(t4-api): reject noncanonical cursor signatures

* fix(t4-api): require canonical cursor signatures

* test(t4-api): cover every cursor signature alias

* test(t4-api): reject every cursor signature alias

* test(t4-api): avoid needless alias allocation

* test(t4-api): reject oversized snapshots and duplicate cursors

* fix(t4-api): align snapshot and watch cursor bounds

* test(operator): define CRD lifecycle contract

* feat(operator): enforce CRD lifecycle gates

* fix(operator): close lifecycle contract test

* fix(operator): use structural fixture round trips

* fix(operator): assert default without new modules

* test(operator): expose CRD lifecycle blockers

* fix(operator): validate proposed CRD semantics

* test(operator): account for local preflight

* ci(operator): emit validator module metadata

* ci(operator): freeze validator dependencies

* ci(operator): preserve ordinary Go gate

* test(operator): expose transition CEL gap

* fix(operator): validate unchanged CEL transitions

* test(operator): expose live CR narrowing gap

* fix(operator): validate every live CR before apply

* test(t4-api): cover snapshot boundary and heartbeat cursors

* test(operator): require dependency event convergence

* feat(operator): reconcile dependency changes

* test(operator): require host policy convergence

* fix(operator): fail closed on host storage drift

* fix(operator): require explicit workspace storage class

* test(operator): reject stale dependency authority

* fix(operator): revoke untrusted dependency authority

* test(operator): revoke terminal storage authority

* fix(operator): clear terminal storage authority

* test(operator): stop owned siblings on conflict

* fix(operator): stop owned siblings on conflict

* test(operator): preserve dependency status on conflicts

* fix(operator): preserve ready dependencies on conflicts

* test(operator): cover cleanup and create races

* fix(operator): close child ownership races

* test(operator): model stale cache after create race

* test(operator): cover workspace PVC create race

* fix(operator): validate authoritative create winners

* test(operator): cover authoritative cleanup policy

* fix(operator): precondition authoritative cleanup

* test(operator): cover split-reader dependency cleanup

* fix(operator): authoritatively clean revoked sessions

* test(operator): expose stale workspace session cache

* fix(operator): list workspace sessions authoritatively

* test(operator): reject stale PVC authority

* fix(operator): revalidate PVC authority

* fix(t4-api): preserve heartbeat cursor semantics

* test(operator): gate existing pods on PVC authority

* test(t4-api): model heartbeat cursor liveness

* fix(operator): gate child repairs on PVC authority

* docs: plan Electron stabilization sprint

* test: harden workspace integration timeout

* refactor: standardize product on Electron and React

* release: prepare v0.1.31 Electron candidate

* docs: record Electron sprint CI evidence

* chore: establish GitHub operations baseline (#1)

* chore: establish GitHub operations baseline

* chore: automate dependency maintenance

---------

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

* fix: scope required owner review (#2)

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

* fix: limit Dependabot to security updates (#10)

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

* chore: own the OMP supply chain

* fix: remove owner review deadlock (#15)

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

* fix(operator): harden CRD lifecycle updates

* test(cluster): keep OpenAPI fixture portable

* fix(operator): guard CRD lifecycle races

* fix(operator): normalize conversion defaults

* test(operator): cover replacement delete races

* fix(api): harden public v1 contract

* fix(supply-chain): harden OMP fork authority

* fix(api): lock down SDK transport overrides

* fix(ci): run continuity gate for Woodpecker changes

* fix(api): close remaining v1 contract gaps

* fix(supply-chain): close fork authority gaps

* fix(supply-chain): honor proven legacy base commit

* fix: unblock named-profile desktop sessions

* fix: expose live session connection and activity

* fix: recover desktop session synchronization

* fix: preserve writable desktop session ownership

* fix: recover owned sessions after host restart

* feat: add t4-omp terminal handoff launcher

* fix: trust returned sessions in bounded inventories

* fix: keep bounded session inventories coherent

* fix: retain recent sessions across profiles

* fix: smooth live desktop session updates

* fix: compact large session inventories

* test: mark live pane inventory current

* test: expect reconnecting transport state

* fix: preserve session recovery invariants

* fix: pin sparse OMP authority runtime

* fix: fence pending session cleanup

* fix: harden installed OMP dogfood flows

* fix(host): tolerate oversized OMP RPC payloads

* fix(host): align RPC v2 boundary handling

* fix: accept standard files.read results

* fix(host): adopt official OMP v17.0.9 transport

* fix(host): harden RPC v2 reconciliation

* fix(release): pin OMP appserver-13

* ci: prove current OMP bridge continuity

* test: align stalled catalog fixture with OMP 17.0.9

* fix: unblock OMP profile and partial inventory startup (#23)

* fix: unblock OMP profile and partial inventory startup

* fix: close profile readiness review gaps

---------

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

* fix: support deployment-only AWS credentials

* fix: polish installed Mac runtime feedback (#26)

Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>

---------

Co-authored-by: usr-bin-roygbiv <roy@davai.fyi>
Co-authored-by: Wolfgang Schoenberger <221313372+wolfiesch@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant