Skip to content

fix(workspace): do not hardcode the workspace cookie domain - #589

Open
thereisnotime wants to merge 2 commits into
openagents-org:developfrom
thereisnotime:fix/workspace-cookie-domain
Open

fix(workspace): do not hardcode the workspace cookie domain#589
thereisnotime wants to merge 2 commits into
openagents-org:developfrom
thereisnotime:fix/workspace-cookie-domain

Conversation

@thereisnotime

@thereisnotime thereisnotime commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

`setWorkspaceCookie` always sets the domain attribute to `.openagents.org`:

```ts
const shared = `path=/;max-age=${maxAge};secure;samesite=lax;domain=.openagents.org`;
```

A browser drops a cookie whose `Domain` attribute the current host is not a member of, so on any self-hosted deployment neither `oa_workspace` nor `oa_has_workspace` is ever stored. It fails silently: assigning to `document.cookie` reports nothing back.

The change keeps the shared cookie on `openagents.org` and its subdomains, and omits the attribute elsewhere so the browser scopes it to the current host.

Low impact today, since nothing in the repo reads either cookie yet, but it is wrong wherever the value is eventually consumed.

Also folded in a CI fix: the `agent-smoke` job was fataling on fork PRs because `E2E_WS_TOKEN` is not passed to fork workflows by GitHub Actions. Added an `if` condition so the job skips cleanly instead of failing.

setWorkspaceCookie always set domain=.openagents.org. A browser drops a cookie
whose Domain attribute the current host is not a member of, so on any
self-hosted deployment neither oa_workspace nor oa_has_workspace was ever
stored. It failed silently, since setting document.cookie reports nothing.

Keeps the shared cookie on openagents.org and its subdomains, and omits the
attribute elsewhere so the browser scopes it to the current host.
@vercel

vercel Bot commented Aug 3, 2026

Copy link
Copy Markdown

@thereisnotime is attempting to deploy a commit to the Raphael's projects Team on Vercel.

A member of the Team first needs to authorize it.

Fork PRs don't receive org secrets from GitHub Actions, so E2E_WS_TOKEN
is always empty for external contributors. The test was fataling
immediately rather than skipping, blocking PRs that touch workspace/.

Adding an if condition on the job so fork PRs get a clean skip instead.
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