What happens
An agent asks for a tool it lacks, or an owner grants one. The agent owner should get a Nextcloud notification. The notification is created, but the bell menu never shows it.
Why
ToolAccessRequestService::notifyOwner() raises the subjects tool_access_requested and tool_access_granted (ToolAccessRequestService.php:752-766). It is called from request() (:388) and from ToolOversightController after a grant (:341).
Neither subject is in Notifier::KNOWN_SUBJECTS (Notifier.php:60-68). prepare() throws UnknownNotificationException for any subject outside that list (Notifier.php:122-125). Nextcloud then drops the notification.
The docblock above the list records the same bug once before: budget_soft_threshold was raised but never recognised.
Since when
Since tool access requests landed on 17 and 18 August (334bcc9, a497d7d).
Fix direction
Add both subjects to KNOWN_SUBJECTS and give each a subject and message in resolveSubjectAndMessage(). A unit test that walks every setSubject() key raised under lib/ and asserts prepare() accepts it would stop the next one.
Live check
- Give an agent an owner and let it call
hermiq.requestToolAccess for a tool it has not been granted.
- Log in as the owner and open the bell menu. Today nothing appears.
- Check
oc_notifications for a row with app hermiq and subject tool_access_requested. The row exists, so the loss is in rendering.
Matrix row: tl-request-access (openspec/parity/capabilities.json).
What happens
An agent asks for a tool it lacks, or an owner grants one. The agent owner should get a Nextcloud notification. The notification is created, but the bell menu never shows it.
Why
ToolAccessRequestService::notifyOwner()raises the subjectstool_access_requestedandtool_access_granted(ToolAccessRequestService.php:752-766). It is called fromrequest()(:388) and fromToolOversightControllerafter a grant (:341).Neither subject is in
Notifier::KNOWN_SUBJECTS(Notifier.php:60-68).prepare()throwsUnknownNotificationExceptionfor any subject outside that list (Notifier.php:122-125). Nextcloud then drops the notification.The docblock above the list records the same bug once before:
budget_soft_thresholdwas raised but never recognised.Since when
Since tool access requests landed on 17 and 18 August (334bcc9, a497d7d).
Fix direction
Add both subjects to
KNOWN_SUBJECTSand give each a subject and message inresolveSubjectAndMessage(). A unit test that walks everysetSubject()key raised underlib/and assertsprepare()accepts it would stop the next one.Live check
hermiq.requestToolAccessfor a tool it has not been granted.oc_notificationsfor a row with apphermiqand subjecttool_access_requested. The row exists, so the loss is in rendering.Matrix row:
tl-request-access(openspec/parity/capabilities.json).