Skip to content

[18.0][FIX] vault: do not present exhausted inboxes as writable - #989

Open
jans23 wants to merge 2 commits into
OCA:18.0from
Nitrokey:18.0-fix-vault-inbox-ux
Open

[18.0][FIX] vault: do not present exhausted inboxes as writable#989
jans23 wants to merge 2 commits into
OCA:18.0from
Nitrokey:18.0-fix-vault-inbox-ux

Conversation

@jans23

@jans23 jans23 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

An inbox that can no longer be written to (access counter at 0 or expired) still showed its writable inbox link, and submitting to it silently did nothing while the form reported 'Successfully stored'. This is misleading for received/delivered secrets which are created with accesses = 0.

  • Add a computed 'writable' flag (accesses left and not expired) and hide the inbox link in the list and form views when it is not writable.
  • Make the controller report 'This link is no longer active' when store_in_inbox performs no write instead of a false success message.

This depends on #987

The frontend inbox share form showed 'Invalid token' for valid links
and wrongly required a file even when a name and secret were provided.

- Resolve the recipient public key for any valid token instead of only
  when the inbox still has accesses left, so a valid link no longer
  reports 'Invalid token'. Distinguish an unknown token from a
  recipient without a key pair with clearer messages.
- Drop the hardcoded 'required' on the file input so name + secret are
  sufficient; the file remains optional (the JS still toggles the
  requirements and the server/model already accept secret or file).
@jans23
jans23 force-pushed the 18.0-fix-vault-inbox-ux branch from 5b60899 to 8130bb6 Compare August 24, 2026 13:29
An inbox that can no longer be written to (access counter at 0 or
expired) still showed its writable inbox link, and submitting to it
silently did nothing while the form reported 'Successfully stored'.
This is misleading for received/delivered secrets which are created
with accesses = 0.

- Add a computed 'writable' flag (accesses left and not expired) and
  hide the inbox link in the list and form views when it is not
  writable.
- Make the controller report 'This link is no longer active' when
  store_in_inbox performs no write instead of a false success message.
- Cover the exhausted-inbox submit path in the controller test.
@jans23
jans23 force-pushed the 18.0-fix-vault-inbox-ux branch from 8130bb6 to 9e9f671 Compare August 24, 2026 13:56
@jans23
jans23 marked this pull request as ready for review August 24, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants