fixed: small review fixes for groups and capabilities #2

Merged
jak merged 3 commits from review/small-fixes into groups-capabilities 2026-10-20 15:33:21 -04:00
Owner

Three small fixes from review of groups-capabilities.

The dev client's default integration name was 'example@localhost', which the new integration name validator rejects. It is now 'example'. No other files in the repo used the old name.

When an update to an existing integration failed on apply, the admin UI showed the "add integration" page. Updates, meaning a non-empty base digest, now report the error on that integration's detail page. If the integration was deleted in the meantime, the error appears on the import page instead of as a 404. Both paths have web tests.

normalizeCapabilityNames returned nil for a grant with no capabilities, so the API encoded access-only grants as "capabilities": null. It now always returns a slice, and an API test checks that such a grant encodes as [].

🤖 Generated with Claude Code

Three small fixes from review of groups-capabilities. The dev client's default integration name was 'example@localhost', which the new integration name validator rejects. It is now 'example'. No other files in the repo used the old name. When an update to an existing integration failed on apply, the admin UI showed the "add integration" page. Updates, meaning a non-empty base digest, now report the error on that integration's detail page. If the integration was deleted in the meantime, the error appears on the import page instead of as a 404. Both paths have web tests. normalizeCapabilityNames returned nil for a grant with no capabilities, so the API encoded access-only grants as "capabilities": null. It now always returns a slice, and an API test checks that such a grant encodes as []. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The dev client defaulted to 'example@localhost', which the integration name
validator now rejects. We changed the default to 'example'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A failed update from the review page fell back to the import page, as if
the admin had been adding a new integration. We now treat a non-empty base
digest as an update and show the error on that integration's page. If the
integration was deleted in the meantime, the error appears on the import page
instead of as a 404.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Capability normalization returned nil for a grant without capabilities, so
the API encoded those grants as 'capabilities: null'. It now always returns
a slice, and the API shows an empty list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jak merged commit 18a461da14 into groups-capabilities 2026-10-20 15:33:21 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pollinator/consent!2
No description provided.