[jira] [Created] (JAMES-4191) Deleted Message Vault should handle shared mailbox visibility loss

"Tran Hong Quan (Jira)" <[email protected]> Wed, 18 Mar 2026 04:50:00 +0000 (UTC)
Newsgroups gmane.comp.jakarta.james.devel
Message-ID <[email protected]>
Tran Hong Quan created JAMES-4191:
-------------------------------------

             Summary: Deleted Message Vault should handle shared mailbox visibility loss
                 Key: JAMES-4191
                 URL: https://issues.apache.org/jira/browse/JAMES-4191
             Project: James Server
          Issue Type: Bug
          Components: deletedMessageVault
            Reporter: Tran Hong Quan


## Why
Today:
- `MessageContentDeletionEvent` is emitted only when the message is no longer referenced globally
- the event does not carry mailbox ACL context

This may prevent correctly Deleted Message Vault handling of mailbox-scoped visibility loss scenarios for shared messages.

One scenario we need to verify with integration tests is:
- Alice owns mailbox A
- Bob has delegated read access to A
- Bob copies a message from A into a mailbox Alice cannot access
- Alice deletes the message from A
- Alice should have the deleted message appended to her DMV

Likely, the test would fail as of today.

More generally, shared-mailbox expunge can cause some users to lose access to a message while others still retain access through another mailbox/reference.

We also should consider that impacted sharees should be able to restore deleted shared-mailbox messages, too, not only the owner. For example, a secretary who mainly handles messages for a minister may need to restore a message deleted by mistake.

## How
1. Add integration tests in `DeletedMessageVaultIntegrationTest` to verify shared-mailbox visibility-loss scenarios.
2. Enrich `MessageContentDeletionEvent` with mailbox ACL.
3. Adapt James consumers of that event so they can handle users who lost access after an expunge.

The consumers expected to be revisited are:
- `DeletedMessageVaultDeletionListener`
- `MessageFastViewProjectionDeletionListener`



--
This message was sent by Atlassian Jira
(v8.20.10#820010)