Reusable S3-compatible storage connections are deliberately context-owned in Multi Channel Relay. That boundary protects each context from accidental edits made in another operating space, but it also created friction when the same bucket credentials needed to be reused across contexts.
The storage connection workflow keeps those boundaries while making reuse more practical. A selected connection can be copied from one context to another context the user can manage. The copy happens server-side, so the browser never needs to receive or resubmit unredacted access keys or secret keys. If the target context already has a connection with the same code, that target-owned connection is updated in place.
What Changed
- Added a server-side copy operation for context storage connections.
- Required manageable access to both the source and target contexts before copying.
- Preserved credentials during copy without exposing secret material through the MFE.
- Reworked the storage connections page from a wide table into selectable connection cards.
- Moved edit, save, disable, and copy actions into the right-hand detail panel.
- Kept access key and secret key fields blank when editing; blank values preserve existing secrets.
Why It Matters
Operators can copy a known-good S3 connection into another context without manually retyping credentials, and without weakening the context boundary. Each context still owns its copy, so later edits remain local to that context.
The UI change also makes the page easier to scan. Long endpoint and bucket values now wrap inside small cards instead of stretching a table until the action buttons disappear off-screen.
Verification
The backend test suite was run for multi-channel-relay, including a new controller test that copies
a connection over an existing target connection and verifies the stored credentials are replaced
server-side.
The MFE test suite and production build were run for multi-channel-relay-mfe, including a new
storage connection page test covering card selection, blank secret preservation on save, and copying
to another context.