Complete Video Support + Major Refactoring + Security Fixes#59
Open
Gotcha26 wants to merge 54 commits intoPiwigo:mainfrom
Open
Complete Video Support + Major Refactoring + Security Fixes#59Gotcha26 wants to merge 54 commits intoPiwigo:mainfrom
Gotcha26 wants to merge 54 commits intoPiwigo:mainfrom
Conversation
…he chain text to be captured for translation.
…he Piwigo version working.
private.
…eo size BEFORE anything.
- ffprobe.py: VideoInfo gains is_hdr property and color_transfer field (detects smpte2084/PQ, arib-std-b67/HLG, smpte428, bt2020-10/12) - ffmpeg.py: HDR sources automatically get zscale tonemap filter (SDR out) when preset is not origin; origin preset always does stream copy - processor.py: SDR sources auto-downgraded to origin (remux, no transcode) while preserving the requested preset suffix for output filename naming - cli.py, status.py: minor improvements from previous session Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
En republication avec même preset, PublishTask lit le fichier .vtk/<stem>.json pour récupérer les dimensions (width×height) et la taille de la variante déjà transcodée, puis appelle PiwigoAPI.setVideoInfo pour mettre à jour Piwigo. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- LrTasks.execute via temporary .bat file to avoid nested quotes issue on Windows (cmd /c + multiple quoted paths = silent failure) - Delete stale VTK log before launch to prevent reading old results - Remove metadata_only mode: republish always triggers VTK (cache decides) - Use publishedCollection:addPhotoByRemoteId to mark videos as published (works for both new and existing photos, unlike getPublishedPhotos loop) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- PiwigoAPI.lua: new setVideoInfo(propertyTable, imageId, w, h, filesize) calls pwg.companion.setVideoInfo to store video dimensions in Piwigo DB - lightroom-companion/main.inc.php: new API method companion_set_video_info updates width, height, filesize (KB) in images table for a given image_id Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- processor.py: thumbnail extracted from transcoded variant (SDR colors) instead of HDR source — avoids washed-out colors in poster image - PublishTask.lua: LrDialogs.message informs user before VTK launch that transcoding may take several minutes and Lightroom will be frozen Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…anion plugin update - Refactor: extract VTK logic into vtk_core.lua and vtk_ui.lua - Add hwaccel support (NVIDIA/AMD/Intel) with auto-detection - Reorganize lightroom-companion plugin structure (lightroom_companion/) - Add VIDEO-TOOLKIT-USER-GUIDE documentation - Improve video processing pipeline with metadata handling - Update icon assets (email, github) - Remove requirements.txt (Python 3.8+ stdlib only) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
…tstrap Darkroom theme
This reverts commit ad1179e.
The function was accidentally removed but is still used in PublishTaskImageProcessing.lua (6 calls for resize validation). Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- utils.lua: Restore utils.anonymisePropertyTable() (removed by refactor) - PiwigoAPI.lua: Re-apply anonymisePropertyTable() on all propertyTable/ publishSettings log calls (deletePhoto x2, addComment x3) - PublishTask.lua: Change keyword block message from 'Blocked by' to 'Skipped (keyword filter):' to avoid confusion with upload errors Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Remove 'Refresh from Piwigo' button (not functional in edit context) - Simplify createPiwigoAlbumSettingsUI() signature (no remoteId/publishSettings) - Remove per-collection sync overrides from defaults - Keep global albumDescSyncMode/albumStatusSyncMode for conflict resolution - Update buildCommonCollectionUI() calls in both viewForCollectionSettings This reverts the incomplete per-collection override feature. Album metadata sync now relies on global settings + reconcile dialog during publish.
Fix: Secure logging and improve keyword filter UX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR #4: Complete Video Support + Major Refactoring + Security Fixes
Summary
This PR represents a major integration of the video publishing toolkit (vtk) and includes 46 significant commits from the dev branch. It consolidates multiple feature implementations, security fixes, and code quality improvements that were in flight during the upstream merge process.
Key Achievement: Lightroom Classic can now publish videos to Piwigo with full metadata preservation, hardware acceleration support, and quality presets.
What's Included
🎬 Video Publishing Support (Complete)
.vtkfile format for video info storagepwg.companion.setVideoInfo)✅ Security Fixes
utils.anonymisePropertyTable()re-applied to sensitive log dumps🔧 Keyword Filtering Improvements
📝 Code Quality & Internationalization
Apostrophe Standardization (commit 6f516cf)
Multi-language Support
Refactoring & Warning Fixes
🎯 Feature Implementations
🐛 Bug Fixes
viewForCollectionSettings#50)Files Changed
Core Plugin Files
New Files (Video Support)
Supporting Updates
Breaking Changes & Improvements
UI Simplifications (Last Commit)
Removed incomplete "Refresh from Piwigo" button feature:
createPiwigoAlbumSettingsUI()signature (6 → 4 parameters)Rationale: The feature required non-trivial album ID storage and metadata retrieval. Instead, the existing global
albumDescSyncModesetting + publish-time reconcile dialog (Test 4 in CHECKLIST_PRE_MERGE.md) provides sufficient control without UI complexity.Testing Completed ✅
All 5 regression tests passed (per CHECKLIST_PRE_MERGE.md):
Security Considerations
Log Data Protection
utils.anonymisePropertyTable()applied to property table dumpsVideo File Handling
Known Limitations & Future Work
Per-Collection Sync Settings (Q2 — Option D)
Status: Deferred to future PR
albumDescSyncModeapplies to all collections"Refresh from Piwigo" Button (Removed)
Rationale: Requires persistent album ID storage; global sync + publish-time dialog sufficient for current use case
Commits Included
This PR contains 46 commits across multiple phases:
Foundation (Infrastructure & Video Basics)
Features
Fixes
viewForCollectionSettings#50)Cleanup
See full commit log:
Related Documentation
Next Steps
Created: 2026-03-06
Base Branch: main
Head Branch: dev
Commits: 46
Files Changed: 43
+Insertions: 8,745
-Deletions: 2,028