Skip to content

release: develop → main (v0.9.1 — hosted skill-CORS hotfix)#763

Merged
chronoai-shining merged 3 commits into
mainfrom
develop
May 29, 2026
Merged

release: develop → main (v0.9.1 — hosted skill-CORS hotfix)#763
chronoai-shining merged 3 commits into
mainfrom
develop

Conversation

@chronoai-shining

Copy link
Copy Markdown
Collaborator

Patch release. Single hotfix on develop since v0.9.0 → both packages 0.9.0 → 0.9.1 in fixed mode.

After merge, the changeset-release workflow will: open release/v0.9.1 PR (consuming the CORS changeset + the empty prep changeset), bump to 0.9.1; on bump-PR merge tag v0.9.1, publish a Release from .github/release-notes-20260530.md, then open a sync PR back to develop (merge with Create a merge commit, never squash).

What ships

Fixed

Issues closed

Test plan

  • Bot opens release/v0.9.1 PR — squash-merge it.
  • Tag v0.9.1 + Release publish; sync PR opens — merge with a merge commit (NOT squash).
  • Release body uses .github/release-notes-20260530.md.
  • After tag: rebuild + redeploy hosted ornn-web; verify hosted skill save works (no CORS error).

chore: sync main → develop after v0.9.0
…#732) (#760)

createSkill (POST /skills), updateSkillPackage (PUT /skills/:id) and
setSkillVersionDeprecation (PATCH .../versions/:version) are raw-fetch
callers that each set `credentials: "include"`. They authenticate via the
`Authorization: Bearer` header — never cookies — so the flag is dead weight.

It is also fatal on hosted: the NyxID proxy returns
`Access-Control-Allow-Origin: *`, and a credentialed request (credentials
mode "include") forbids a wildcard ACAO, so Chrome blocks the preflight
before the request leaves the page. Users could generate a skill but not
save it ("Failed to fetch"); package update (#565) and version deprecation
hit the same wall.

#528 removed the dead X-User-* headers from these callers but left the
credentials flag; #709 cleared the identical trap in activityApi.ts. This
applies the same one-line removal to the three skillApi.ts siblings — the
last credentialed raw-fetch callers in the SPA.

Verified against prod: deployed 0.9.0 proxy returns ACAO `*` + ACAC `true`
(an invalid combo) on OPTIONS /api/v1/skills. Dropping credentials makes
the request non-credentialed so the wildcard ACAO is accepted.

Closes #732.
Adds the dated release-notes file (.github/release-notes-20260530.md) for the
v0.9.1 patch cut. Single hotfix since v0.9.0: #732 CORS fix (drop
credentials:include from skill create/update/deprecate), so both packages go
0.9.0 → 0.9.1 in fixed mode.

Dated 20260530 deliberately: v0.9.0 shipped earlier the same UTC day with
.github/release-notes-20260529.md, and both release workflows select the
lexically-greatest 8-digit dated file (`sort -r | head -1`). A second
20260529 file is impossible (same name) and overwriting v0.9.0's historical
notes is wrong, so the next sortable date is used. The gate only validates the
most-recent file, not that its date equals today.

Ships an empty changeset (docs/CI-only) to satisfy check-changeset, same as
the v0.9.0 prep PR.

Closes #761.
@chronoai-shining
chronoai-shining merged commit 0c0cef8 into main May 29, 2026
19 checks passed
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