Skip to content

2.1.3 — settings selector fix + audit hardening

Choose a tag to compare

@ernestdefoe ernestdefoe released this 02 Jul 01:15

Fixed

  • The digest-frequency selector now reliably appears in Settings → Notifications. On some Flarum 2 builds the settings chunk is double-bundled, so extending only the module registry never reached the mounted page. The extension now hooks both the registry (string-form extend) and the settings route's lazy resolver, with dedupe — validated end-to-end in a browser (render, save, persist across reload).
  • PHP 8.x deprecation: optional-before-required constructor parameter in DigestContent.

Hardened (Floxum audit)

  • DigestSendLog uses an explicit $fillable whitelist instead of $guarded = [].
  • Awards digest fetch bounded to the newest 50 non-draft awards.
  • All 36 third-party-table query call sites annotated; the ConnectionInterface exception is scoped and documented (own digest_* tables remain Eloquent-only).
  • Long methods split for testability: processFrequency (stamp/log/prune/window helpers), getPicks (events + leaderboard builders), getLeaderboard (CASE builder + rank reconstruction), getResofireGamepedia (getTopGenres).
  • resolve() usage in the ApiResource fields callback documented as an intentional lazy exception.