Skip to content

fix(infra): deploy workers as tether-* + accept tether_version field#236

Open
rylinjames wants to merge 1 commit into
mainfrom
fix/worker-hostnames-and-field-drift
Open

fix(infra): deploy workers as tether-* + accept tether_version field#236
rylinjames wants to merge 1 commit into
mainfrom
fix/worker-hostnames-and-field-drift

Conversation

@rylinjames

Copy link
Copy Markdown
Collaborator

Audit §3.11 / Part 1 #18 — every networked feature was silently dead by default.

Problem

All 4 Cloudflare workers deployed under reflex-* names while every v0.12.0 client defaults to tether-*.workers.dev — so activation, license heartbeat, telemetry, curate uploads, and episode uploads all hit dead hostnames (failures swallowed at debug).

Plus field drift: the telemetry worker required reflex_version and the license worker read body.reflex_version, but the renamed client sends tether_version → telemetry 400'd on every heartbeat (100% loss); license version recorded as all-"unknown".

Fix

  • Renamed worker name in all 4 wrangler.toml to tether-*. D1 database_name stays reflex-* (data continuity — intentional).
  • Both workers now accept tether_version || reflex_version (D1 columns keep the reflex_version name).
  • Fixed the license worker's /admin/init pointer (src/reflex/src/tether/) and updated deploy READMEs to the tether-* hostnames.

Both worker.js pass node --check.

Operator action

Redeploy the 4 workers (wrangler deploy) for the new names to take effect.

🤖 Generated with Claude Code

Audit §3.11 / Part 1 #18 — every networked feature was silently dead.

All 4 Cloudflare workers deployed under reflex-* names while every v0.12.0
client defaults to tether-*.workers.dev, so activation, license heartbeat,
telemetry, curate uploads, and episode uploads all hit dead hostnames (every
failure swallowed at debug). Renamed the worker `name` in all 4 wrangler.toml
to tether-* so they deploy at the URLs clients already call. The D1
`database_name` fields stay reflex-* for data continuity (intentional).

Field drift (also §3.11): the telemetry worker REQUIRED `reflex_version` and
the license worker READ `body.reflex_version`, but the renamed client sends
`tether_version` — so telemetry got a 400 on every heartbeat (100% loss) and
the license worker recorded version as all-"unknown". Both now accept
`tether_version || reflex_version` (D1 columns keep the reflex_version name).

Also: license worker /admin/init next-step pointed at the dead
src/reflex/pro/_public_key.py shim path (→ src/tether); deploy READMEs updated
to the tether-* hostnames. Both worker.js pass `node --check`.

Operator action: redeploy the 4 workers (`wrangler deploy`) for the new names
to take effect.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.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