feat: PeerTube integration — alternate audio/video labels, FilePond pools, shared SMTP credentials, channel by name, test button, resumable upload, embed improvements, fix alt labels/curl_close/deprecation

This commit is contained in:
Pontoporeia
2026-05-11 10:47:33 +02:00
parent 28ef35dce5
commit 83a5a508ea
18 changed files with 748 additions and 261 deletions

View File

@@ -0,0 +1,6 @@
-- Migration 029: PeerTube alternate labels
-- Adds peertube_video_label and peertube_audio_label columns to peertube_settings.
-- These override the default "Vidéo" / "Audio" format labels when PeerTube is active.
ALTER TABLE peertube_settings ADD COLUMN peertube_video_label TEXT NOT NULL DEFAULT '';
ALTER TABLE peertube_settings ADD COLUMN peertube_audio_label TEXT NOT NULL DEFAULT '';

View File

@@ -0,0 +1,6 @@
-- Migration 030: Store PeerTube OAuth client credentials
-- Instead of fetching client_id/client_secret from the API on every token request,
-- store them once. The admin fetches them manually or we auto-fetch on first save.
ALTER TABLE peertube_settings ADD COLUMN oauth_client_id TEXT NOT NULL DEFAULT '';
ALTER TABLE peertube_settings ADD COLUMN oauth_client_secret TEXT NOT NULL DEFAULT '';

View File

@@ -0,0 +1,23 @@
-- Migration 031: Remove redundant username/password from peertube_settings.
-- PeerTube now shares SMTP credentials. Also removes oauth_client_id/secret
-- since those are fetched on-demand from the PeerTube API.
-- SQLite doesn't support DROP COLUMN natively in older versions.
-- We rebuild the table without the dropped columns.
CREATE TABLE peertube_settings_new (
id INTEGER PRIMARY KEY CHECK (id = 1),
instance_url TEXT NOT NULL DEFAULT '',
channel_id INTEGER NOT NULL DEFAULT 1,
privacy INTEGER NOT NULL DEFAULT 1,
peertube_video_label TEXT NOT NULL DEFAULT '',
peertube_audio_label TEXT NOT NULL DEFAULT '',
updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO peertube_settings_new (id, instance_url, channel_id, privacy, peertube_video_label, peertube_audio_label, updated_at)
SELECT id, instance_url, channel_id, privacy, peertube_video_label, peertube_audio_label, updated_at
FROM peertube_settings;
DROP TABLE peertube_settings;
ALTER TABLE peertube_settings_new RENAME TO peertube_settings;

View File

@@ -0,0 +1,7 @@
-- Migration 032: Change peertube_settings.channel_id to channel_name.
-- Channel is now identified by its full handle (name@host) instead of numeric ID.
-- The ID is resolved via the PeerTube API at upload time.
ALTER TABLE peertube_settings ADD COLUMN channel_name TEXT NOT NULL DEFAULT '';
-- Copy existing values if any (unlikely to have useful data since channel_id=1 is the default)
-- Drop is not supported; channel_id column will be ignored by the application.