Skip to content

[2.x] fix(audit): remove circular optional-dependencies on first-party extensions#4712

Merged
imorland merged 1 commit into
2.xfrom
im/audit-fix-circular-deps
Jun 12, 2026
Merged

[2.x] fix(audit): remove circular optional-dependencies on first-party extensions#4712
imorland merged 1 commit into
2.xfrom
im/audit-fix-circular-deps

Conversation

@imorland

Copy link
Copy Markdown
Member

Fixes a circular dependency that aborts the extension loader:

Circular dependencies detected: Approval, Audit, Flags, FoF GeoIP, Lock, Nicknames, Realtime, Sticky, Suspend, Tags. Aborting.

When the first-party audit integrations moved into their respective extensions (#4711), those extensions began declaring flarum/audit as an optional-dependency. Audit still listed them in turn, so each audit ↔ <extension> pair formed a cycle.

Audit no longer references those extensions at boot — every integration now flows the other way (extension → audit). This removes the seven first-party entries from audit's optional-dependencies. fof/geoip stays: it's a one-way, render-time integration (it enhances core's IP address component) and does not depend back on audit, so it isn't part of a cycle.

Verified the resulting optional-dependency graph across the affected extensions is acyclic.

…y extensions

When the first-party audit integrations moved into their respective extensions, those extensions began declaring flarum/audit as an optional dependency. Audit still listed them in turn, creating a dependency cycle that aborts the extension loader. Audit no longer references those extensions at boot, so drop them from its optional-dependencies; fof/geoip stays (one-way, render-time integration, no cycle).
@imorland imorland requested a review from a team as a code owner June 12, 2026 01:43
@imorland imorland added this to the 2.0.0-rc.4 milestone Jun 12, 2026
@imorland imorland merged commit 6c7f92a into 2.x Jun 12, 2026
25 checks passed
@imorland imorland deleted the im/audit-fix-circular-deps branch June 12, 2026 01:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant