NuQloud Federated Talk Files
NuQloud Federated Talk Files is a Nextcloud add-on for uploading, pasting, or sharing a Files file with verified remote participants in a federated Talk conversation.
It creates read-only native Federated Cloud Shares of the original file. It does not copy files, create public links, or expose anonymous download routes.
Status
Before enabling the app, complete the two-cloud compatibility gate in
docs/compatibility-gate.md. In particular,
confirm the current Talk participant API exposes a stable federated Cloud ID
and confirm recipient share acceptance behavior.
The browser integration posts a safe standard Talk announcement after the private shares are created. Both clouds recognize its non-secret delivery reference, resolve the file to the signed-in user's local Files mount, and show a file card in the message and Talk's existing Shared items sidebar. This bridge is required because Talk deliberately removes native file-share message parameters from federated attendees.
Use docs/devcloud-acceptance.md to record the
two-cloud results. The attendee-removal lifecycle test is an explicit release
gate; no unproven automatic revocation claim is made.
Install on a NuQloud devcloud
The Git repository name and Nextcloud app directory are intentionally
different. Clone or mount this repository as
nextcloud/custom_apps/nuqloud_talk_federated_files; Nextcloud discovers the
app by that directory and the matching ID in appinfo/info.xml.
git clone https://gitea.qortal.link/NuQloud-Public/NuQloud-talk-federated-files.git nextcloud/custom_apps/nuqloud_talk_federated_files
Then run the compatibility-gate commands on both NuQloud devclouds. Once enabled, the app uses only servers already connected through Nextcloud Federation; it has no add-on settings screen.
Security guarantees
- Every route requires an authenticated Nextcloud session.
- Mutating routes retain Nextcloud CSRF protection.
- The server rechecks the current user's Talk membership, publish permission, source-file access, and the remote attendee Cloud IDs.
- Both servers must have their existing trusted-server relationship configured in Nextcloud Federation settings; no add-on-specific peer allow-list exists.
- Incoming shares use Nextcloud's native trusted-share auto-accept behavior. The add-on polls only for the resulting accepted local mount and never accepts an untrusted share itself.
- Federated shares are recipient-specific and read-only.
- Public links, bearer download URLs, files/folders copies, and arbitrary peer URLs are deliberately unsupported.
- Redacted audit events are pruned daily after 90 days.
- Talk messages contain source share IDs for correlation, never the bearer federation share tokens used to redeem a share.
Integrated rendering compatibility
New shares created by version 0.5.0 or later render as file cards on both web clients. Older announcements did not contain a delivery reference, so they cannot be reconstructed on a remote cloud; share the file again after upgrading both clouds. The receiving mount can take a few seconds to arrive, during which the card shows a waiting state and resolves automatically.
Version 0.6.0 organizes new device uploads and accepted recipient mounts under
Talk-Federated-FileShare. A file selected from the sender's existing Files is
shared in place and is never moved or copied. Previewable files use each user's
authenticated local file ID to show a thumbnail in the message and Shared items;
unsupported preview types fall back to the normal file card.
Repository layout
This is a standalone Nextcloud app repository. Its root is the directory that
should be placed in custom_apps/.
License
AGPL-3.0-or-later