Skip to content

[2.x] feat: sync abandoned extensions list from flarum/abandoned-extensions#4560

Merged
imorland merged 3 commits into
2.xfrom
im/abandoned-extensions-sync
Apr 11, 2026
Merged

[2.x] feat: sync abandoned extensions list from flarum/abandoned-extensions#4560
imorland merged 3 commits into
2.xfrom
im/abandoned-extensions-sync

Conversation

@imorland
Copy link
Copy Markdown
Member

Ports #4559 to 2.x.

Adds a weekly scheduled task that fetches the community-maintained flarum/abandoned-extensions list, filters it to installed packages, and surfaces the results in the admin panel.

What's included:

  • AbandonedExtensionsFetcher — fetches, filters, diffs, and stores the list; optionally emails admins
  • SyncAbandonedExtensionsCommand — CLI command with --notify flag, scheduled weekly
  • POST /api/extensions/abandoned/sync — manual trigger for admins
  • Basics page — "Check Now" button and a toggle to email admins when newly abandoned extensions are detected during the weekly check
  • ExtensionManager — applies abandoned status from the stored map in extensionFromJson(), taking precedence over composer's own abandoned field

2.x adaptations:

  • SendRawEmailJobSendInformationalEmailJob (with named constructor args)
  • Abandoned map applied in extensionFromJson() rather than inline in getExtensions()
  • ExtensionServiceProvider uses constructor property promotion style
  • BasicsPage uses the registry callback pattern (registerSetting() with a function) rather than overriding contentItems()
  • Integration tests use Extend\ServiceProvider stub pattern; #[Test] attributes (PHPUnit 11)

@imorland imorland changed the title feat: sync abandoned extensions list from flarum/abandoned-extensions [2.x] feat: sync abandoned extensions list from flarum/abandoned-extensions Apr 11, 2026
@imorland imorland added this to the 2.0.0-rc.1 milestone Apr 11, 2026
@imorland imorland marked this pull request as ready for review April 11, 2026 21:28
@imorland imorland requested a review from a team as a code owner April 11, 2026 21:28
@imorland imorland merged commit d1caf93 into 2.x Apr 11, 2026
25 checks passed
@imorland imorland deleted the im/abandoned-extensions-sync branch April 11, 2026 21:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant