Skip to content

fix: stop reporting a namespace ownership conflict once the namespace has an owner - #2380

Merged
netomi merged 2 commits into
mainfrom
fix/stale-namespace-ownership-conflict
Oct 23, 2026
Merged

netomi merged 2 commits into
mainfrom
fix/stale-namespace-ownership-conflict

Conversation

@netomi

@netomi netomi commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

The "Namespace not verified" notice on the admin extension page and on a publisher's own extension settings stayed after the namespace gained an owner and the extension was activated. One example is jay-boo/gitland: the public API reports both it and its namespace as verified: true.

Cause

namespaceOwnershipConflict was taken only from the threat the NamespaceOwnershipCheckScanner recorded on the latest version's scan. Nothing clears that record, neither adding an owner nor activating the extension, so the flag stayed true for good. The namespace page uses repositories.isVerified(namespace) and correctly showed the namespace as verified.

Fix

Report the conflict only while the namespace is still unverified (!repositories.isVerified(namespace)). This applies in AdminAPI (GET /admin/extension/{namespace}/{extension}) and in UserAPI (GET /user/extensions and GET /user/extension/{namespace}/{extension}). The scan threat stays recorded as history.

Testing

  • New regression tests in AdminAPITest and UserAPITest: a recorded ownership threat on a namespace that has an owner reports no conflict. Both fail without the fix.
  • The existing tests for an unresolved conflict still pass.
  • ./gradlew test (full suite) and spotlessCheck pass.

🤖 Generated with Claude Code

netomi and others added 2 commits October 23, 2026 20:48
… has an owner

The conflict flag on the admin and own-extension endpoints came from the
threat the NamespaceOwnershipCheckScanner recorded on the latest scan.
That record is never cleared, so the "Namespace not verified" notice
stayed after the namespace gained an owner and the extension was
activated. Report the conflict only while the namespace is unverified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@netomi
netomi merged commit e5cf3b6 into main Oct 23, 2026
5 checks passed
@netomi
netomi deleted the fix/stale-namespace-ownership-conflict branch October 23, 2026 20:49
netomi added a commit that referenced this pull request Oct 23, 2026
…2382)

* fix: stop reporting a namespace ownership conflict once the namespace has an owner

Backport of #2380 to 1.2.x, without the changelog entry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: accept OAuth token responses with long headers

httpcore5 5.4.3 and later reject header lines over 8192 bytes. GitHub's
token response now carries a longer Content-Security-Policy header, so the
code exchange failed with "Maximum line length limit exceeded" and login
broke. Build the token client on an HttpClient with a 64 KiB line limit.

Backport of #2381 to 1.2.x, without the changelog entry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
netomi added a commit that referenced this pull request Oct 24, 2026
…2383)

* chore: fix changelog after 1.3.0 has been released

(cherry picked from commit c96a639)

* fix: stop reporting a namespace ownership conflict once the namespace has an owner

Backport of #2380 to 1.3.x, without the changelog entry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* fix: accept OAuth token responses with long headers

httpcore5 5.4.3 and later reject header lines over 8192 bytes. GitHub's
token response now carries a longer Content-Security-Policy header, so the
code exchange failed with "Maximum line length limit exceeded" and login
broke. Build the token client on an HttpClient with a 64 KiB line limit.

Backport of #2381 to 1.3.x, without the changelog entry.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

* docs: add changelog entries for the 1.3.x login and namespace conflict fixes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5.5 <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