2026-09-07 09:19:17 -07:00
2026-09-07 09:19:17 -07:00
2026-09-07 09:19:17 -07:00
2026-09-07 09:19:17 -07:00

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

S
Description
Federated file sharing in NuQloud-talk channels.
Readme
339 KiB
Languages
PHP 72.8%
JavaScript 22.2%
CSS 2.8%
Shell 2.2%