Skip to content

Fixes - #4918

Merged
ildyria merged 1 commit into
masterfrom
alphabetical-listing
Oct 24, 2026
Merged

Fixes#4918
ildyria merged 1 commit into
masterfrom
alphabetical-listing

Conversation

@ildyria

@ildyria ildyria commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features
    • Added a maintenance action to recompute timeline buckets for albums and photos, with progress and success or error feedback.
    • Queued album-size recalculations now display a clear status message.
  • Bug Fixes
    • Album and photo listings are refreshed after bucket recomputation, so they reflect updated results.
    • Bucket labels now handle IDs that don’t match the selected date format without changing them unexpectedly.
  • Documentation
    • Updated maintenance instructions and command references across supported languages.

@ildyria
ildyria requested a review from a team as a code owner October 23, 2026 17:31
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

📝 Walkthrough

The changes update date-bucket label handling, add album and photo listing cache flushes to bucket recomputation, and provide a feature-gated maintenance action in the API and admin pages. Maintenance descriptions and translations also receive related updates.

Changes: Bucket maintenance

Layer / File(s) Summary
Date-shaped bucket labels
app/Services/BucketScheme.php, tests/Unit/Services/BucketSchemeTest.php, tests/Feature_v3/Album/AlbumRootV3Test.php, docs/specs/4-architecture/features/092-bucketing-refactor/*
Date schemes now format IDs only when they match the expected date shape. Tests cover labels before and after recomputation when the bucket mode changes. The bucketing specification and plan document this behavior.
Recomputation API and cache flushing
app/Http/Requests/Maintenance/RecomputeBucketsRequest.php, app/Http/Controllers/Admin/Maintenance/RecomputeBuckets.php, routes/api_v2.php, app/Console/Commands/RecomputeBuckets.php, tests/Feature_v3/Maintenance/RecomputeBucketsTest.php, tests/Precomputing/CoverSelection/RecomputeBucketsCommandTest.php, docs/specs/4-architecture/features/092-bucketing-refactor/*
The feature-gated maintenance endpoint dispatches album and photo bucket jobs. The recompute command flushes album listing caches after album keys are written, then flushes photo listing caches after photo-album keys are written. Tests cover endpoint authorization, job dispatch, and cache-flush events.
Maintenance interface and translations
resources/js/services/maintenance-service.ts, resources/js/v7/components/maintenance/*, resources/js/v7/views/admin/Maintenance.vue, resources/js/v8/components/maintenance/*, resources/js/v8/views/admin/Maintenance.vue, resources/js/v8/components/maintenance/MaintenanceRow.vue, resources/js/v7/components/maintenance/MaintenanceBackfillAlbumSizes.vue, resources/js/v8/components/maintenance/MaintenanceBackfillAlbumSizes.vue, lang/*/maintenance.php, app/Http/Controllers/Admin/Maintenance/FulfillPreCompute.php
The v7 and v8 maintenance pages show the bucket recomputation action when struct-of-arrays is enabled. The action calls the maintenance service and displays success or failure feedback. Translations add the new action and queued album-size description, update command references, and adjust line breaks.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: 🔵 Low · up to 96b49

The new bucket recomputation action can time out on very large libraries when the queue runs synchronously. The spec also overstates that listings keep their old grouping until recomputation finishes. Both are bounded issues in an admin-only feature, so the change is mergeable with follow-up.

Pre-merge checks: Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 52.38% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 21 functions across 34 files. (11 skipped… Write docstrings for the functions missing them to satisfy the coverage threshold.
Full details: Docstring Coverage

Explanation

Docstring coverage is 52.38% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 21 functions across 34 files. (11 skipped: 11 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.

❤️ Share

I’m a rabbit with a tidy key,
Date-shaped labels look right to me.
Album lists refresh, then photos too,
A button sends the jobs on cue.
Translated words greet every ear,
And queued-size notes now appear.

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ 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: 00944c9b-a466-4dd6-a040-ed94e4f9c54a
📥 Commits

Reviewing files that changed from the base of the PR and between 8794fe0 and 96b49aa.

📒 Files selected for processing: 45
  • app/Console/Commands/RecomputeBuckets.php
  • app/Http/Controllers/Admin/Maintenance/FulfillPreCompute.php
  • app/Http/Controllers/Admin/Maintenance/RecomputeBuckets.php
  • app/Http/Requests/Maintenance/RecomputeBucketsRequest.php
  • app/Services/BucketScheme.php
  • docs/specs/4-architecture/features/092-bucketing-refactor/open-questions.md
  • docs/specs/4-architecture/features/092-bucketing-refactor/plan.md
  • docs/specs/4-architecture/features/092-bucketing-refactor/spec.md
  • docs/specs/4-architecture/features/092-bucketing-refactor/tasks.md
  • lang/ar/maintenance.php
  • lang/bg/maintenance.php
  • lang/cz/maintenance.php
  • lang/de/maintenance.php
  • lang/el/maintenance.php
  • lang/en/maintenance.php
  • lang/es/maintenance.php
  • lang/fa/maintenance.php
  • lang/fr/maintenance.php
  • lang/hu/maintenance.php
  • lang/it/maintenance.php
  • lang/ja/maintenance.php
  • lang/nl/maintenance.php
  • lang/no/maintenance.php
  • lang/pl/maintenance.php
  • lang/pt/maintenance.php
  • lang/ru/maintenance.php
  • lang/sk/maintenance.php
  • lang/sv/maintenance.php
  • lang/tr/maintenance.php
  • lang/vi/maintenance.php
  • lang/zh_CN/maintenance.php
  • lang/zh_TW/maintenance.php
  • resources/js/services/maintenance-service.ts
  • resources/js/v7/components/maintenance/MaintenanceBackfillAlbumSizes.vue
  • resources/js/v7/components/maintenance/MaintenanceRecomputeBuckets.vue
  • resources/js/v7/views/admin/Maintenance.vue
  • resources/js/v8/components/maintenance/MaintenanceBackfillAlbumSizes.vue
  • resources/js/v8/components/maintenance/MaintenanceRecomputeBuckets.vue
  • resources/js/v8/components/maintenance/MaintenanceRow.vue
  • resources/js/v8/views/admin/Maintenance.vue
  • routes/api_v2.php
  • tests/Feature_v3/Album/AlbumRootV3Test.php
  • tests/Feature_v3/Maintenance/RecomputeBucketsTest.php
  • tests/Precomputing/CoverSelection/RecomputeBucketsCommandTest.php
  • tests/Unit/Services/BucketSchemeTest.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.

Comment thread docs/specs/4-architecture/features/092-bucketing-refactor/spec.md
@codecov

codecov Bot commented Oct 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.32%. Comparing base (8794fe0) to head (96b49aa).

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ildyria
ildyria merged commit 22a200a into master Oct 24, 2026
105 of 107 checks passed
@ildyria
ildyria deleted the alphabetical-listing branch October 24, 2026 18:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant