Enregistrements : droits du dossier compatibles Plex (PUID/PGID), code 243 expliqué (#34)

Sous Unraid, l'entrypoint faisait chmod -R 770 sur le dossier
d'enregistrement : Plex (nobody:users) ne lisait plus les vidéos. Rendre
la lecture à Plex retirait l'écriture au conteneur, et le match suivant
a échoué sur « Erreur FFmpeg code 243 » (EACCES), sans log puisque le
.log ne pouvait pas non plus être créé.

- entrypoint : PUID/PGID (Unraid 99/100) et UMASK (002) ; les droits du
  dossier sont ajoutés, plus jamais retirés ; avertissement au démarrage
  si le dossier reste non inscriptible.
- Serveur : vérification d'écriture avant de lancer FFmpeg, motif clair.
- Codes de sortie FFmpeg courants traduits (243, 8, 228…).
- Dialogue des logs : affiche le message d'erreur du serveur.


Claude-Session: https://claude.ai/code/session_018RD1okqQzNYjujGirBHXpu

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
LogiFlowandClaude authored and GitHub committed 2026-10-23 12:09:07 +02:00
1 parent 0f5b087eb7
commit 2f8f09e12f
8 files changed
+124 -11

No files matched your search

+11 -1
View File
@@ -1069,13 +1069,23 @@ class _RecordingsListViewState extends ConsumerState<_RecordingsListView> {
];
}
/// Message `error` renvoyé par l'API, précédé d'un séparateur.
String _errorDetail(String body) {
try {
final error = json.decode(body)['error'];
return error is String && error.isNotEmpty ? ' : $error' : '';
} catch (_) {
return '';
}
}
Future<void> _showLogs(String id, String title) async {
try {
final response = await AuthedHttp.get(Uri.parse('/api/recordings/logs/$id'));
if (!mounted) return;
final content = response.statusCode == 200
? (json.decode(response.body)['logs'] as String? ?? 'Aucun log')
: 'Logs non disponibles (${response.statusCode})';
: 'Logs non disponibles (${response.statusCode})${_errorDetail(response.body)}';
showDialog(
context: context,
builder: (ctx) => AlertDialog(