Skip to content

[ImgBot] Optimize images#471

Open
imgbot[bot] wants to merge 39 commits into
masterfrom
imgbot
Open

[ImgBot] Optimize images#471
imgbot[bot] wants to merge 39 commits into
masterfrom
imgbot

Conversation

@imgbot

@imgbot imgbot Bot commented Jan 12, 2024

Copy link
Copy Markdown
Contributor

Beep boop. Your images are optimized!

Your image file size has been reduced by 30% 🎉

Details
File Before After Percent reduction
/static/img/flarum-banner.png 170.77kb 44.43kb 73.98%
/docs/assets/extension-manager-page.png 416.47kb 238.49kb 42.74%
/docs/assets/home_screenshot.png 675.84kb 431.92kb 36.09%
/docs/assets/config-repositories.png 72.91kb 56.17kb 22.97%
/static/en/img/config-repositories.png 72.91kb 56.17kb 22.97%
/static/en/img/update-extension.png 41.38kb 34.19kb 17.37%
/docs/assets/uninstall-extension.png 55.98kb 46.74kb 16.51%
/static/en/img/uninstall-extension.png 55.98kb 46.74kb 16.51%
/static/en/img/install-extension.png 50.48kb 42.65kb 15.51%
/docs/assets/update-extension.png 83.82kb 72.99kb 12.91%
/docs/assets/install-extension.png 43.96kb 38.50kb 12.43%
/docs/assets/gambit_autocomplete_dropdown.png 60.26kb 54.91kb 8.89%
/src/assets/cube.svg 0.28kb 0.27kb 2.13%
/src/assets/arrow-down-tray.svg 0.30kb 0.29kb 1.95%
/src/assets/adjustments-vertical.svg 0.40kb 0.39kb 1.47%
/src/assets/book-open.svg 0.43kb 0.42kb 1.36%
/src/assets/light-bulb.svg 0.43kb 0.43kb 1.35%
/src/assets/document-arrow-up.svg 0.47kb 0.47kb 1.24%
/src/assets/cog-6-tooth.svg 1.27kb 1.26kb 0.77%
/docs/assets/api_flowchart.svg 296.43kb 294.15kb 0.77%
/src/assets/lifebuoy.svg 1.17kb 1.17kb 0.50%
/docs/assets/global_search_modal.png 32.54kb 32.41kb 0.40%
Total : 2,134.49kb 1,495.14kb 29.95%

📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

~Imgbot - Part of Optimole family

luceos and others added 29 commits July 7, 2025 13:52
* feat: database queue

* chore: add screenshot of db queue settings

* chore: typo

* chore: env vars
Flarum 2.x has been upgraded to Laravel 12. Updates the 2.x upgrade
guide to reflect the new version and adds notable Laravel 12 breaking
changes (HasUuids v7, Schema multi-schema defaults, SVG image validation).
Also updates all laravel.com/docs/11.x links to 12.x across the extension
docs.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a detailed PHPStan/Larastan section to the 2.x upgrade guide covering
the version bumps, recommended level 6 increase, removed config parameters,
and Larastan 3.x breaking changes (explicit relation generics, annotation
renames). Updates the static-code-analysis setup guide to reflect level 6
and remove the now-invalid checkMissingIterableValueType parameter.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a less.php dependency entry under the Dependencies section and a
breaking change bullet under LESS Preprocessing for the math expression
behaviour change in CSS custom properties introduced with Less.js 3.5+.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…avelServiceProvider support (#505)

Covers three undocumented additions from the beta.4–beta.7 cycle:

- settings.md: new Conditional Extenders section documenting all four
  methods (whenExtensionEnabled, whenExtensionDisabled, whenSetting, when)
  with examples including invokable class strings and strict comparison
- backend-events.md: new Notable Core Events section with ApplicationBooted
  documented — timing, use case, and a warning that it fires every request
- service-provider.md: add step 6 to boot process (ApplicationBooted event),
  note that Illuminate\Support\ServiceProvider is now also accepted by the
  ServiceProvider extender, with a third-party package example

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…ed package support (#506)

Documents changes introduced in flarum/framework#4392:

- Extension Categories: new section in admin.md covering how to declare a
  category in composer.json, the full table of built-in categories with keys,
  labels and icons, and how to register custom categories via app.extensionCategories.

- Extension Health Widget: new section in admin.md covering the three widget
  sections (abandoned, suggested, disabled), how Packagist's abandoned field
  works, how to use Composer's suggest field, and the flarum.abandoned_overrides
  forward-compatibility hook for future scheduled checking.

- update-2_0.md: notable entry for the new admin dashboard (old extension grid
  removed, health widget added); notable entry for the collapsible sidebar
  overhaul with count badges, icons, and search auto-expand.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add dedicated FontAwesome page covering Local/CDN/Kit sources,
  icon class name reference, renamed icons table, and extension dev notes
- Add FontAwesome page to Management sidebar
- Update config.md: prose and CDN example URL to FA7
- Update themes.md: version reference and link to new FA page
- Update extend/i18n.md: replace dead fortawesome.github.io URL
- Update extend/update-2_0.md: add FontAwesome 5→7 upgrade section
  under Backend > Dependencies

Relates to flarum/framework#4388

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: add avatar drivers guide for User extender

Documents the new avatar driver system introduced in flarum/framework#4130.
Includes implementation guide, examples, and admin configuration.

* wip

* docs: add avatar drivers guide for User extender

Documents the new avatar driver system introduced in flarum/framework#4130.
Includes implementation guide, examples, and admin configuration.

* docs: update avatars.md to match Flarum documentation style

- Use more direct, technical language
- Remove verbose explanations and marketing-style wording
- Simplify code examples with minimal comments
- Remove redundant sections
- Match tone and word choices from mail.md, filesystem.md, notifications.md
- Reduce file length from ~300 to ~75 lines

* wip

* wip

* wip

* docs: address PR review feedback for avatar drivers guide

- Correct intro to reflect only DefaultDriver exists (Gravatar is planned)
- Add note about raw driver identifier and BasicsPage.driverLocale override
- Link to existing DefaultDriver instead of non-existent GravatarDriver
* docs: add haptic feedback guide for extension developers

Documents the haptic() utility added in flarum/framework#<framework-pr>:
- Named presets, custom patterns, isHapticSupported
- User gesture requirement (Android + iOS) — must call synchronously before async
- Where core uses haptics (reference table)
- Extension integration examples: buttons, API saves, extend(), reactions, settings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(haptic-feedback): correct custom pattern iOS support and update type refs

- Custom patterns do work on iOS — web-haptics simulates them via repeated
  checkbox clicks using rAF; previous claim they were Android-only was wrong
- Replace HapticPreset/HapticPattern type references with HapticInput,
  matching the updated haptic.ts in flarum/framework

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
… changes (#508)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Flarum core now ships a Device settings toggle for haptic feedback.
Update the guide to reflect that haptic() gates on the preference
automatically and extensions don't need to manage this themselves.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…#4448) (#510)

The /logout route is now a POST action. The GET route is renamed to
logoutPage and only shows a no-JS confirmation page. Extension authors
generating logout URLs or submitting logout requests directly need to
update their code.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Covers ResponseFactory::make() signature change, removal of authenticationComplete(),
makeLoggedInResponse/makeRegistrationResponse promoted to protected, the new
POST /api/registration-token endpoint, _flarum_auth and _flarum_linked query params,
and SignUpModal label additions. Includes a warning pointing developers to the
fof/oauth upgrade notes for the companion package changes.
Documents the Realtime PHP and JS extender API introduced in
flarum/framework#4473. Covers:

- broadcastModelEvent / broadcastDialogEvent / broadcastFlagEvent
- registerModelEndpoint for custom model types
- JS RealtimeExtend extender (onDiscussionStreamEvent, onUserChannelEvent,
  onPublicChannelEvent, onBothChannelsEvent)
- Direct channel access via RealtimeState
- Complete likes integration as a real-world example
- Security model (permission-gated payload generation + channel auth)
* docs: document changes around custom route resolvers

* style: whitespacing
* docs: rewrite v1 to v2 upgrade guide

* docs: correct minimum-stability guidance for beta period
imorland and others added 10 commits April 3, 2026 13:22
#526)

flarum/testing on 2.x now requires PHPUnit 12. Refresh the testing guide
example configs to PHPUnit 12's schema (the 9.x example was already
broken on PHPUnit 10+), replace @test docblocks in the examples with
#[Test] attributes, and add a dedicated PHPUnit section to the 2.0
update guide covering annotations → attributes, config schema
attribute/element removals, and the new AllowMockObjectsWithoutExpectations
notice.
Flarum 2.0 is in its release-candidate phase, not beta. Update the
install and update warning boxes to reflect that the API is stable and
many forums run it in production, while keeping a back-up-and-test
caution. The composer minimum-stability flag stays at `beta` (it
accepts RC and above), so version constraints are unchanged — only the
status prose is updated.
The deploy workflow has failed on every push since early April: webpack
resolved through @docusaurus/core's `^5.73.0` range to 5.107.x, whose
ProgressPlugin schema rejects the `name`/`color`/`reporters` options
that webpackbar@5.0.2 (a Docusaurus 2.3.1 dependency) passes it, so the
build aborts with a ValidationError before any deploy.

Pin webpack to 5.88.2 via an `overrides` entry — the last 5.x that
accepts those options — and commit a `package-lock.json` so installs are
reproducible. Switch CI from `npm i` to `npm ci` so it installs from the
lockfile instead of re-resolving every range on each run (which is what
let this break silently with no repo change).

Verified locally: `npm ci && npm run build` now generates all locales.
…nce (#530)

Cross-referenced the 2.x extend docs against framework source and fixed
confirmed inaccuracies:

- api: removeField/Endpoint/Sort -> plural array forms; avgReation typo;
  stray comma in endpoint chain; Rsource namespace typo
- admin: generalIndexItems type arg; Admin.setting/.permission method
  names; corrected Available Categories to the four registered ones;
  abandoned-extensions scheduled checker documented as shipped
- frontend: avatar/icon are components not helpers; ItemList.toArray is
  descending; ExtensionLinkButton (AdminLinkButton does not exist)
- frontend-pages: PageStructure/BasicsPage namespaces; homePageItems is
  static; matches() is on PageState; IndexPage import
- console: fire(): int with return; drop unused PSR HTTP imports
- database: when* macros require both callback and
- interactive-components: isDismissible split into three properties
- notifications: getSubjectModel; excerpt; add missing imports; drop
  stale ConfigureNotificationTypes import
- routes: pass component class, not a JSX instance
- mail/search/settings/testing/views/authorization/avatars/forms/i18n:
  namespace, method-name, path, and key corrections
- update-2_0-api: OriginalContext -> Context
- update-2_0: UserValidator is not removed; AbstractGlobalSearch path
- rest-api: only the current token is deleted on logout (global logout
  and password change delete all)
- api-throttling: actor via RequestUtil::getActor(), not getAttribute

Also document the recommended declarative admin extend.ts pattern (with
the required index.ts re-export) for settings/permissions/page, and add
recommended database-version guidance (MySQL 8.4 LTS, MariaDB 11.8 LTS,
PostgreSQL 15-17; MySQL 5.7 / MariaDB 10.x not recommended) to the
install and update guides.
Both pages were carried over verbatim from the 1.x docs and described
APIs that no longer exist in 2.x.

mail.md:
- buildTransport() now returns a Symfony Mailer TransportInterface, not
  a Swift_Transport (Swiftmailer was replaced by Symfony Mailer)
- validate() must return its MessageBag
- model the example on core's real MailgunDriver (Symfony transport
  factory + Dsn), and note the symfony/*-mailer bridge packages
- Extend\Mail::driver() takes (identifier, class), not just the class

middleware.md:
- the Middleware extender has no 'frontend' stack; only forum/admin/api
- replace the removed Tobscure JsonApi Document/ResponseBag example with
  the 2.x approach: throw Flarum\Foundation\ValidationException, or build
  a JsonApiResponse from a plain document array
… stale 2.x translations (#532)

Docusaurus 3 upgrade:
- @docusaurus/* 2.3.1 -> 3.10.1, React 17 -> 18, MDX 1 -> 3,
  prism-react-renderer 1 -> 2 (named-export theme import), clsx/@svgr bumps
- drop the webpack 5.88.2 `overrides` pin (no longer needed on v3; the
  webpackbar/ProgressPlugin schema mismatch that forced it is gone)
- migrate onBrokenMarkdownLinks to markdown.hooks (v3 location)
- escape MDX-v3-breaking literals ({user}, <=0.1.0, stray <) in English,
  versioned, and locale content so all 7 builds compile

Tooling:
- standardize on Yarn (regenerate yarn.lock, remove package-lock.json);
  CI uses `yarn install --frozen-lockfile` + `yarn build` with yarn cache
- bump workflow Node 20 -> 24; pin actions/checkout to @v4
- README: Node >=20, Yarn commands, and a Translations section documenting
  the Crowdin workflow

SEO:
- fix `url` to https://docs.flarum.org (was flarum.org) — corrects
  canonical, og:url, sitemap domain, and hreflang across the site
- set themeConfig.image to a Flarum banner for og:image/twitter:image
- site-level WebSite/Organization JSON-LD via headTags
- per-page TechArticle + BreadcrumbList JSON-LD via a local postBuild
  plugin (no theme swizzle; works across all locales)
- onBrokenAnchors: 'warn'

Translations:
- invalidate the 2.x (current) translations for all locales: they were
  frozen at a Dec-2024 snapshot, ~18 months and 40+ commits behind, and
  translated since-corrected content (e.g. the pre-Symfony mail API).
  Docusaurus falls back to English for untranslated 2.x pages.
- 1.x translations, code.json, and theme translations are kept
- disable the 2.x source mapping in crowdin.yml so it isn't regenerated
*Total -- 2,134.49kb -> 1,495.14kb (29.95%)

/static/img/flarum-banner.png -- 170.77kb -> 44.43kb (73.98%)
/docs/assets/extension-manager-page.png -- 416.47kb -> 238.49kb (42.74%)
/docs/assets/home_screenshot.png -- 675.84kb -> 431.92kb (36.09%)
/docs/assets/config-repositories.png -- 72.91kb -> 56.17kb (22.97%)
/static/en/img/config-repositories.png -- 72.91kb -> 56.17kb (22.97%)
/static/en/img/update-extension.png -- 41.38kb -> 34.19kb (17.37%)
/docs/assets/uninstall-extension.png -- 55.98kb -> 46.74kb (16.51%)
/static/en/img/uninstall-extension.png -- 55.98kb -> 46.74kb (16.51%)
/static/en/img/install-extension.png -- 50.48kb -> 42.65kb (15.51%)
/docs/assets/update-extension.png -- 83.82kb -> 72.99kb (12.91%)
/docs/assets/install-extension.png -- 43.96kb -> 38.50kb (12.43%)
/docs/assets/gambit_autocomplete_dropdown.png -- 60.26kb -> 54.91kb (8.89%)
/src/assets/cube.svg -- 0.28kb -> 0.27kb (2.13%)
/src/assets/arrow-down-tray.svg -- 0.30kb -> 0.29kb (1.95%)
/src/assets/adjustments-vertical.svg -- 0.40kb -> 0.39kb (1.47%)
/src/assets/book-open.svg -- 0.43kb -> 0.42kb (1.36%)
/src/assets/light-bulb.svg -- 0.43kb -> 0.43kb (1.35%)
/src/assets/document-arrow-up.svg -- 0.47kb -> 0.47kb (1.24%)
/src/assets/cog-6-tooth.svg -- 1.27kb -> 1.26kb (0.77%)
/docs/assets/api_flowchart.svg -- 296.43kb -> 294.15kb (0.77%)
/src/assets/lifebuoy.svg -- 1.17kb -> 1.17kb (0.5%)
/docs/assets/global_search_modal.png -- 32.54kb -> 32.41kb (0.4%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants