Skip to content

Preserve service form adapters across client-side navigation #87

Description

@adrianwebb

Objective

Fix Connection Details submissions returning Idempotency-Key is required after navigating within Services.

Contract

Service adapters already create the header. Both service pages dispose their adapters on astro:before-swap, but Astro executes bundled scripts once, leaving subsequent visits without their adapter. Bind registration and success listeners to page lifecycle; preserve CSRF, exact revision, JSON body and idempotency headers. Never weaken API requirements or expose credentials.

Acceptance

  • Navigation away/back and provider selection retain service adapters.
  • Cloudflare create/update requests retain Account ID, selected tasks, Idempotency-Key and update If-Match through proxy.
  • Success listeners do not duplicate across page loads.
  • Actions pass; publish replacement RC and managed read-back.

Dependencies and rollback

Depends on current staging UI release. Roll back through the previous immutable managed composition, not credential deletion.

Actions evidence

Gate Evidence
Regression and build Pending PR
Managed acceptance Pending replacement delivery; Deployment APT publication currently fails ENOBUFS

Delivered acceptance

Admin rc33 is published and installed through Deployment rc258 / generation210. PR #88 and Actions 34011412077 passed; publication/read-back 34011722933 passed. Built-browser back-navigation captured Idempotency-Key, CSRF and Account ID with a no-write intercepted request. Managed update returned known-good receipt receipt-1788670717082; follow-up plan reports noop for every enabled component. User credential entry/retry is still required for R2 library acceptance.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions