Repository navigation
fix(album): show the applied value and thumbnails in v8 album edit - #4939
Conversation
…lects Unset fields show a Default entry or an Automatic placeholder and each sort order follows its column. Timelines list Default and Enabled separately. Header and cover entries render their photo through Thumb with tile URLs or the Asset fallback. Set as header and the webshop buy action load the details of a struct-of-arrays photo first. Bulk album edit gets the Default entries and always sends a sort column with its order. Album sort by taken date is stored again (ColumnSortingAlbumType). Spec impact: Feature 105 spec, plan, tasks and open questions (Q-105-01 A, Q-105-02 A, Q-105-03 A, FR-105-08 to FR-105-10), roadmap row and knowledge-map entry
Findings
|
| Layer / File(s) | Summary |
|---|---|
Album sorting API and persistence app/Http/Requests/Album/UpdateAlbumRequest.php, tests/Feature_v3/Album/AlbumSortingColumnTest.php, docs/specs/4-architecture/features/105-album-edit-select-feedback/* |
Album sort columns use the album sorting type. Tests cover storing supported column-and-order pairs and clearing them with null. Feature records describe requirements and validation. |
Shared select-option helpers resources/js/v8/utils/albumSelectOptions.ts, resources/js/v8/utils/albumSelectOptions.test.ts |
Shared helpers add Default options, map timeline labels, pair sorting values, and select thumbnail or tile URLs. Tests cover these mappings and fallbacks. |
Album property selectors and thumbnails resources/js/v8/components/forms/album/AlbumProperties.vue, lang/*/gallery.php, docs/specs/4-architecture/* |
Album property selectors add Default choices and sorting-order coupling. Header and cover selectors show Automatic and request tile URLs when opened. Translations and Feature 105 records cover the selector behavior. |
Bulk album sorting and select controls resources/js/v8/components/forms/bulk-album-edit/BulkEditFieldsDialog.vue, resources/js/v8/views/BulkAlbumEdit.vue |
Bulk-edit selectors accept null values and coordinate sorting columns with orders. Inline updates patch both fields and restore both if the request fails. |
Photo details before header and buy actions resources/js/v8/components/gallery/albumModule/AlbumPanel.vue, resources/js/composables/album/buyMeActions.ts, resources/js/composables/album/buyMeActions.test.ts |
Header and buy actions load photo details when details are pending. Tests cover pending photos and photos with the required variants already loaded. |
Estimated code review effort: 3 (Moderate) | ~30 minutes
Merge Risk: 
Moderate · up to d249d
-
Setting a header or using the buy action on a photo whose details are still loading can misbehave if the user navigates or filters during the load, or if the request fails. The effects are a header applied to the wrong album, a blank header, or a purchase without the size choice. Guard these paths before merging. The rest of the change, including the sorting and select feedback work, has no established blocking problems.
Pre-merge checks: 
1
-
Failed checks: 1 warningFull details: Docstring Coverage
-
Explanation
Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 6 functions across 29 files. (10 skipped: 10 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
A rabbit checks the album rows,
“Default” blooms where null value goes.
Tiles arrive; the headers shine,
Sorts pair up in neat design.
Then off I hop, through fields of green,
With every select clear and seen.
There was a problem hiding this comment.
Actionable comments posted: 4

Review info
-
Run configuration-
- Source mode: Auto
- Repository: Unavailable
- Branch: Unavailable
- File: No configuration file from this repository applied
- Commit: Unavailable
- Layers: Organization UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
919ebbd6-8260-4fb2-9122-47eabc30c9ac
Files selected for processing: 39-
app/Http/Requests/Album/UpdateAlbumRequest.phpdocs/specs/4-architecture/features/105-album-edit-select-feedback/open-questions.mddocs/specs/4-architecture/features/105-album-edit-select-feedback/plan.mddocs/specs/4-architecture/features/105-album-edit-select-feedback/spec.mddocs/specs/4-architecture/features/105-album-edit-select-feedback/tasks.mddocs/specs/4-architecture/knowledge-map.mddocs/specs/4-architecture/roadmap.mdlang/ar/gallery.phplang/bg/gallery.phplang/cz/gallery.phplang/de/gallery.phplang/el/gallery.phplang/en/gallery.phplang/es/gallery.phplang/fa/gallery.phplang/fr/gallery.phplang/hu/gallery.phplang/it/gallery.phplang/ja/gallery.phplang/nl/gallery.phplang/no/gallery.phplang/pl/gallery.phplang/pt/gallery.phplang/ru/gallery.phplang/sk/gallery.phplang/sv/gallery.phplang/tr/gallery.phplang/vi/gallery.phplang/zh_CN/gallery.phplang/zh_TW/gallery.phpresources/js/composables/album/buyMeActions.test.tsresources/js/composables/album/buyMeActions.tsresources/js/v8/components/forms/album/AlbumProperties.vueresources/js/v8/components/forms/bulk-album-edit/BulkEditFieldsDialog.vueresources/js/v8/components/gallery/albumModule/AlbumPanel.vueresources/js/v8/utils/albumSelectOptions.test.tsresources/js/v8/utils/albumSelectOptions.tsresources/js/v8/views/BulkAlbumEdit.vuetests/Feature_v3/Album/AlbumSortingColumnTest.php
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.
-
Codecov Report✅ All modified and coverable lines are covered by tests. 🚀 New features to boost your workflow:
|
Unset fields show a Default entry or an Automatic placeholder and each sort order follows its column. Timelines list Default and Enabled separately. Header and cover entries render their photo through Thumb with tile URLs or the Asset fallback. Set as header and the webshop buy action load the details of a struct-of-arrays photo first. Bulk album edit gets the Default entries and always sends a sort column with its order. Album sort by taken date is stored again (ColumnSortingAlbumType).
Spec impact: Feature 105 spec, plan, tasks and open questions (Q-105-01 A, Q-105-02 A, Q-105-03 A, FR-105-08 to FR-105-10), roadmap row and knowledge-map entry
Summary by CodeRabbit