v1.1.0
Support ticket system — v1.1.0
Added
- Build toolchain (webpack + TypeScript) — the frontend now compiles to
js/dist/instead of shipping hand-written bundles. - Off-thread notifications — a
SupportNotifierservice with queuedNotifyNewReply/NotifyNewTicketjobs; the staff-recipient lookup no longer runs synchronously on every ticket/reply save. - Per-reply permissions — a
SupportReplyPolicybacksupdate/deletegates on the reply API endpoints. - Appeal-ban user filter — powers the read-only admin appeal-bans list (
filter[supportAppealBanned]).
Changed
- Appeal bans are permission-gated (
linkrobins-support.manage_appeal_bans) and toggled from a user's profile. The admin panel shows a read-only list with usernames linking to profiles. - New replies append in place (and include their author) — the thread updates without a full reload.
- Category editor modal rebuilt on Flarum's
FormModal/Form/ColorPreviewInputso it matches core modals (e.g. Tags' "New Tag") for visual consistency.
Fixed
- Notification alert suppression now respects each recipient's preference.
- Notification-grid toggles now render on the settings page.
- The appeal-banned migration is idempotent and portable (no MySQL-only
->after()).
Removed
- Dead
GlobalPolicy::manageAppealBan()(superseded by the permission) and orphaned locale keys.