Skip to content

Make PHP promotion analytics succeed from the deployed docs origin #28

Description

@rmcdaniel

Status Summary

The PHP API-reference promotion landed on main at 7fc9d53a627feb6544004018c1cef199cce58ec4, but the deployed page cannot record its first-party promotion events. Live Chromium captures of the documentation root and a representative nested Client reference return HTTP 403 from https://cloud.durable-workflow.com/early-access/promotion-events at desktop, intermediate, mobile, and short-height viewports. Each page emits a browser console error and the impression is not recorded.

The deployed browser POST contains the bounded sdk-php-reference source and event but arrives without an Origin header. The endpoint returns 204 when the documented PHP origin is supplied explicitly, so mock-fulfilled browser tests do not exercise the deployed cross-origin contract. The early-access CTA itself returns 200.

How to fix

Align the PHP documentation client with the deployed promotion-event receiver around a browser-realistic cross-origin contract. Preserve the existing privacy boundary: no cookies, credentials, user identifiers, full referrer paths, query strings, or form data may be sent.

Acceptance criteria:

  • A real browser loading the live PHP documentation root and a representative nested API-reference page records exactly one bounded impression without a CORS failure, HTTP error, or console error.
  • Activating the promotion records one bounded click and still resolves to the public early-access form.
  • Aggregate reporting distinguishes sdk-php-reference impressions and clicks without accepting unbounded source or event values.
  • Qualification exercises the deployed receiver or a faithful browser/server contract, including the headers the browser actually sends; intercepting and unconditionally fulfilling the request is not sufficient.
  • Desktop, intermediate, mobile, and short-height captures remain free of overflow, clipped text, overlap, and unreachable controls.

Delete when

Delete when the deployed PHP pages emit successful source-attributed impression and click events in a real browser at all required viewport classes, the destination remains healthy, and the browser/deployed-endpoint contract is protected by regression evidence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:sdk-phpOwned by the PHP SDK repositorystatus:readyReady for implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions