Search by

A year-in-review recap for Flarum.

Package info

github.com/huseyinfiliz/rewind

Forum

Type:flarum-extension

pkg:composer/huseyinfiliz/rewind

Statistics

Installs: 493

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

2.2.0 2026-10-26 22:46 UTC

This package is auto-updated.

Last update: 2026-10-26 22:50:31 UTC


README

License Latest Stable Version Total Downloads

A year-in-review extension for Flarum forums. Allow your community and users to look back at their yearly statistics, top posts, and community milestones with beautiful animations and a personalized slideshow interface.

🎨 Personalized Rewind Slideshow

πŸ“Š Community Snapshot

βš™οΈ Admin Settings & Generation

Features

  • πŸ“Š Community Snapshot: Overview of new users, top discussions, and busiest months.
  • πŸ‘€ Personalized Rewind: Individual metrics like post count, best posts, word counts, and night-owl statistics.
  • 🎨 Slideshow UI: Beautiful, animated slideshow interface for users to experience their year.
  • πŸ”Œ Ecosystem Integration: Automatically fetches optional metrics if compatible extensions are enabled.
  • 🎭 Customizable Blade Templates: Full artistic freedom to override annual recaps with custom Laravel Blade templates that persist across Composer updates.
  • πŸ”€ Per-Year Presentation Modes: Choose between the animated interactive slideshow or custom Blade views on a per-year basis.
  • πŸ“± Responsive Design: Optimized layout for mobile, tablet, and desktop viewing.

Installation

composer require huseyinfiliz/rewind:"*"

After installing, run the following commands to apply the database changes and clear the cache:

php flarum migrate
php flarum cache:clear

Updating

composer update huseyinfiliz/rewind:"*"
php flarum migrate
php flarum cache:clear

To remove simply run composer remove huseyinfiliz/rewind.

Quick Start

For Users

  1. Users can access their personal rewind from their user profile.
  2. The community snapshot is available at Rewind page.

For Admins

  1. Enable the Rewind extension in your admin panel.
  2. In the extension settings, select the year you want to generate a Rewind for (e.g., 2025).
  3. Click the Generate button. (This process may take a few minutes depending on the size of your forum).
  4. Under the Templates & Blade tab, choose the desired Presentation Format (Interactive Slideshow or Custom Blade) for each year.

Important Note: Statistics for a past year are designed to be generated after that year has ended (e.g., generating 2025 data in January 2026).

Privacy Settings

  • Only include publicly accessible content is enabled by default. Personal and community metrics use Flarum's guest visibility rules. For members-only forums, disable this setting to use standard member visibility instead. The generating user's admin or custom group privileges are never used. Private and deleted posts/discussions are excluded in both modes, and tag permissions (including parent tags) are respected.
  • Make new personal rewinds public by default is disabled by default. New personal rewinds are private, including those generated by admins. Users can make their own rewind public from its visibility controls. Regeneration preserves the existing visibility choice.
  • Private personal rewinds are visible only to their owner and users with the Manage Rewinds permission. Other visitors see the same unavailable state as an ungenerated rewind, without snapshot metadata.

Content filters apply during generation. After updating from an older version or changing the content audience, regenerate existing personal and community rewinds to apply the filters to their stored data. Use Generate Community Rewind, then Refresh Existing User Rewinds in the Advanced tab. Refreshing replaces stored metrics without changing users' public/private choices. The Generate Missing User Rewinds action only creates missing snapshots.

Automatic Year and Community Generation

Automatic year selection is enabled by default; automatic community generation is disabled by default. Explicitly saved settings are preserved:

  • Automatically select the previous year uses the server's UTC clock (Flarum's timezone). On January 1, 2027, the effective recap year becomes 2026. Turning it off restores the saved manual Active Year. The extension's Enable Rewind switch still controls access; automation does not override it.
  • Automatically generate the community Rewind creates a missing recap for the active, completed year. A confirmed member with Rewind viewing permission can trigger it by opening Rewind. Generation proceeds in locked, resumable steps, and word counting processes at most 1,000 posts per request. Nothing is published until all metrics finish. Subsequent visitors reuse the completed snapshot. Guests cannot trigger generation, and an existing recap is never automatically overwritten.

For large forums, prepare the recap before the first visit using Flarum's scheduler. Configure the normal scheduler cron in the Flarum root (replace the paths for your installation):

* * * * * /usr/bin/php /path/to/flarum/flarum schedule:run >> /dev/null 2>&1

Rewind registers a daily rewind:generate --automatic task. It does nothing unless Rewind and automatic community generation are enabled, and skips unfinished years. If no cron is configured, first-member generation still works without a queue worker. Closing the page pauses this fallback; another member or the scheduler can resume it. Cached drafts expire after 24 hours and can be rebuilt safely.

You can also generate or refresh from the command line:

php flarum rewind:generate --community
php flarum rewind:generate --year=2025 --community --users --regenerate

Without --regenerate, existing snapshots are reused. --users processes confirmed users in batches; regeneration preserves each user's visibility. For comparisons, generate the community snapshot first. Community averages use the number of active post authors, not new registrations. Older community snapshots need refreshing to supply that denominator.

🎭 Customizable Blade Templates

In addition to the interactive animated slideshow, you can render annual recaps using custom Laravel Blade templates that persist across Composer updates:

  1. Set Presentation Format: In the admin panel under Templates & Blade, switch any year from Interactive Story Slideshow to Custom Blade Template.
  2. Override Views: Place custom .blade.php files inside storage/rewind/views/:
    • User recaps: user_{year}.blade.php (e.g. user_2025.blade.php) or fallback user.blade.php
    • Community recaps: community_{year}.blade.php (e.g. community_2025.blade.php) or fallback community.blade.php
  3. Template Variables: Views receive $user, $metrics array, $year, $forumTitle, $baseUrl, and $actor. The admin panel includes a complete variable reference and copyable snippets.

Optional Integrations

The rewind automatically integrates with these extensions when they are enabled:

Extension Metrics
flarum/likes Most loved post, likes received/given, best friend
flarum/mentions Most mentioned user, user who mentioned you the most
fof/badges Badges earned during the year, badge leaderboard
fof/best-answer Best answers count, best answers leaderboard
flarum/tags Top community tag, user's top tag
fof/reactions Total community reactions
flarum/emoji CDN mirror address for emojis used in slides

No configuration is needed β€” install the extension and the metrics will be collected automatically during the generation process.

🌍 Translations

This extension comes with English translations. Community translations are welcome!

πŸ’– Support & Contributing

If you find this extension useful, consider:

  • ⭐ Starring the repository on GitHub
  • 🌐 Contributing translations

Links