davwheat

  • 23 days ago
  • Joined Oct 2, 2019
  • 6 best answers
  • 1 point
  • David Wheatley โ€ข 19-year-old developer in the UK

    Focusing on frontend web development, accessibility and modern CSS techniques! Interested in mobile networking as a hobby.

    https://davwheat.dev/

  • @davwheat, I sent you a message on discord. Are you interested in adding some features/functionality to this extension if it were funded?

  • Does Ad Units /ONLY/ support google ads or should I be able to upload images and provide my own html to sell ads? @davwheat?

  • sdu5z2ntus that domain name is controlled by our member @davwheat . I am not aware of any issue with it.

    Has anyone access to the detailed BitDefender report and the others ? I remember last time someone reported a domain it was a nightmare actually finding what the detected problem was. Without the actual report it's difficult to confirm whether it's a false positive or not. Also it's only 3 out of 92 checks that signal a problem.

    Even if the domain was compromised, it's used as an image URL, so it's very unlikely to cause harm to the visitor. Still worth investigating though ๐Ÿ‘๐Ÿป

  • peopleinside Thanks for creating the GitHub issue FriendsOfFlarum/recaptcha49

    wolfman Today i got messages from my Moderators (it's a Forum with low post frequency) that they can't post anymore!

    I looked a little closer at this issue! My mods shouldn't have a problem posting at all, because they have the permission fof-recaptcha.postWithoutCaptcha. As there are a lot of changes regarding this permission from 1.3.2 to 1.3.3 the problem might be there. The blocking of third party cookies might just be a side-effect.

    @IanM @davwheat @luceos fyi.

  • 1.3.2

  • Hey @davwheat

    Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.
    forum.js?v=a8b8d418:460 [davwheat/ads] Failed to execute ad script
    forum.js?v=a8b8d418:460 An exception occurred while evaluating the ad script for location "header".
    
    To prevent your forum frontend breaking, we caught the error. Please be aware, however, that this may prevent your ads functioning in some cases.
    forum.js?v=a8b8d418:460 The stacktrace will be logged below to help you identify the issue. This may reference the ads extension, but the likelihood that the issue lies in there is extraordinarily miniscule.
    forum.js?v=a8b8d418:460 TypeError: googletag.pubads is not a function
        at eval (eval at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893), <anonymous>:9:11)
        at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893)
        at e.<anonymous> (forum.js?v=a8b8d418:460:406806)
        at forEach.t.<computed> (forum.js?v=a8b8d418:1:390371)
        at forEach.t.<computed> [as oncreate] (forum.js?v=a8b8d418:1:390341)
        at Function.a (forum.js?v=a8b8d418:1:135101)
        at forum.js?v=a8b8d418:1:147879
        at Function.a [as sync] (forum.js?v=a8b8d418:1:123381)
        at m (forum.js?v=a8b8d418:1:125389)
    safelyEvalAdScript @ forum.js?v=a8b8d418:460
    (anonymous) @ forum.js?v=a8b8d418:460
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    m @ forum.js?v=a8b8d418:1
    Promise.then (async)
    t @ forum.js?v=a8b8d418:1
    k @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    mount @ forum.js?v=a8b8d418:1
    y @ forum.js?v=a8b8d418:1
    e.mount @ forum.js?v=a8b8d418:1
    n.mount @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    e.boot @ forum.js?v=a8b8d418:1
    (anonymous) @ (index):238
    DevTools failed to load source map: Could not load content for https://discord.com/assets/e33e6e9d9de3d3040d8b.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
    DevTools failed to load source map: Could not load content for https://discord.com/assets/index.693fb6cb383c52b4acb1.css.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
    forum.js?v=a8b8d418:460 [davwheat/ads] Failed to execute ad script
    forum.js?v=a8b8d418:460 An exception occurred while evaluating the ad script for location "header".
    
    To prevent your forum frontend breaking, we caught the error. Please be aware, however, that this may prevent your ads functioning in some cases.
    forum.js?v=a8b8d418:460 The stacktrace will be logged below to help you identify the issue. This may reference the ads extension, but the likelihood that the issue lies in there is extraordinarily miniscule.
    forum.js?v=a8b8d418:460 TypeError: googletag.pubads is not a function
        at eval (eval at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893), <anonymous>:9:11)
        at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893)
        at e.<anonymous> (forum.js?v=a8b8d418:460:406806)
        at forEach.t.<computed> (forum.js?v=a8b8d418:1:390371)
        at forEach.t.<computed> [as onupdate] (forum.js?v=a8b8d418:1:390341)
        at Function.a (forum.js?v=a8b8d418:1:135101)
        at forum.js?v=a8b8d418:1:147879
        at a (forum.js?v=a8b8d418:1:123381)
        at forum.js?v=a8b8d418:1:123467
    safelyEvalAdScript @ forum.js?v=a8b8d418:460
    (anonymous) @ forum.js?v=a8b8d418:460
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    requestAnimationFrame (async)
    u @ forum.js?v=a8b8d418:1
    e.clear @ forum.js?v=a8b8d418:1
    n.clear @ forum.js?v=a8b8d418:1
    e.refresh @ forum.js?v=a8b8d418:1
    e.refreshParams @ forum.js?v=a8b8d418:1
    n.oninit @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    M @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    c @ forum.js?v=a8b8d418:1
    l @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    c @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    p @ forum.js?v=a8b8d418:1
    f @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    m @ forum.js?v=a8b8d418:1
    Promise.then (async)
    t @ forum.js?v=a8b8d418:1
    k @ forum.js?v=a8b8d418:1
    a @ forum.js?v=a8b8d418:1
    (anonymous) @ forum.js?v=a8b8d418:1
    mount @ forum.js?v=a8b8d418:1
    y @ forum.js?v=a8b8d418:1
    e.mount @ forum.js?v=a8b8d418:1
    n.mount @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    forEach.t.<computed> @ forum.js?v=a8b8d418:1
    e.boot @ forum.js?v=a8b8d418:1
    (anonymous) @ (index):238
    pubads_impl.js:10 [GPT] Error in googletag.defineSlot: Cannot create slot /21857590943,22677312591/hacksnat_300x250_4. Div element "div-gpt-ad-1677499259576-0" is already associated with another slot: /21857590943,22677312591/hacksnat_300x250_4.
    (anonymous) @ pubads_impl.js:10
    oG.log @ pubads_impl.js:10
    oG.error @ pubads_impl.js:10
    NK @ pubads_impl.js:18
    MK.add @ pubads_impl.js:18
    Nk @ pubads_impl.js:18
    MK.defineSlot @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:10
    eval @ VM1406:3
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 Exception in queued GPT command TypeError: Cannot read properties of null (reading 'addService')
        at eval (eval at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893), <anonymous>:3:170)
        at hG.push (pubads_impl.js:10:253235)
        at pubads_impl.js:18:18531
        at pubads_impl.js:10:32259
        at pubads_impl.js:18:18653
        at pubads_impl.js:18:19093
        at pubads_impl.js:18:20459
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 [GPT] Exception in googletag.cmd function: TypeError: Cannot read properties of null (reading 'addService').
    (anonymous) @ pubads_impl.js:10
    oG.log @ pubads_impl.js:10
    oG.error @ pubads_impl.js:10
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 [GPT] Error in googletag.defineSlot: Cannot create slot /21857590943,22677312591/hacksnat_300x600. Div element "div-gpt-ad-1677499269716-0" is already associated with another slot: /21857590943,22677312591/hacksnat_300x600.
    (anonymous) @ pubads_impl.js:10
    oG.log @ pubads_impl.js:10
    oG.error @ pubads_impl.js:10
    NK @ pubads_impl.js:18
    MK.add @ pubads_impl.js:18
    Nk @ pubads_impl.js:18
    MK.defineSlot @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:10
    eval @ VM1407:3
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 Exception in queued GPT command TypeError: Cannot read properties of null (reading 'addService')
        at eval (eval at safelyEvalAdScript (forum.js?v=a8b8d418:460:403893), <anonymous>:3:205)
        at hG.push (pubads_impl.js:10:253235)
        at pubads_impl.js:18:18531
        at pubads_impl.js:10:32259
        at pubads_impl.js:18:18653
        at pubads_impl.js:18:19093
        at pubads_impl.js:18:20459
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 [GPT] Exception in googletag.cmd function: TypeError: Cannot read properties of null (reading 'addService').
    (anonymous) @ pubads_impl.js:10
    oG.log @ pubads_impl.js:10
    oG.error @ pubads_impl.js:10
    hG.push @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    pubads_impl.js:10 [GPT] Attempted to load GPT multiple times.
    (anonymous) @ pubads_impl.js:10
    oG.log @ pubads_impl.js:10
    O @ pubads_impl.js:10
    (anonymous) @ pubads_impl.js:18
    setTimeout (async)
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    (anonymous) @ pubads_impl.js:18
    • Yolo how can i activate this menu item only for registered members? is that somehow possible?

      @davwheat ๐Ÿค”
      we would also like to disable this for the guests.

    • @davwheat
      Hi,
      I'm on v0.6.5 and when i want to update it to latest version this is what i got:
      https://s8.uupload.ir/files/screenshot_1_4yve.jpg
      So what should i do to update?

      • v1.8.0 - Quoll


        ๐Ÿ“ฃ The Release


        We are delighted to announce the release of the final scheduled installment in the 1.x series, marking the culmination of an extensive period of development and refinement. This release is primarily dedicated to addressing various bugs and bolstering performance, ensuring a smoother and more reliable experience for our users. As we bid farewell to the 1.x series, we would like to express our gratitude to our loyal users for their invaluable support and collaboration. Now, let's delve into the key highlights of this release:

        This release closes the successfully funded bounty for mentioning tags, as well as a high-voted proposal for the new permission added in this release. We want to highlight this to make you consider posting your idea in depth inProposals so it maybe gets picked up either as aBounty or as a high-voted proposal - you can see this here: https://discuss.flarum.org/t/proposals?sort=votes

        ๐Ÿ‘จโ€๐Ÿ’ป For Developers


        Extensions compatible with 1.7 should still operate on Flarum 1.8 without any changes. However, depending on what JavaScript changes your extension makes and how it makes them, we recommend looking through some of the frontend facing changes made: https://github.com/flarum/framework/issues?q=is%3Aopen+is%3Aissue+label%3Ajavascript.

        Additionally, this release introduces conditional extenders, which allow you to add extenders based on a condition, such as whether an extension is enabled: flarum/framework3759.

        Checkout the full upgrade guide. Feel free to provide feedback or report any encountered issues!

        โคด๏ธ Upgrading


        Before you upgrade, make sure to create a backup of your public/assets directory, your composer.json and your database!

        Before starting the upgrade process, ensure you are on Flarum 1.0.0 or above in your Admin Dashboard or by typing php flarum info. If you're not, use the previous release announcement for upgrading from an earlier version.

        To upgrade from 1.0 or 1.7 to 1.8, take a look at our upgrade guide documentation. The process should be much easier compared to previous major version upgrades, due to the lack of breaking changes.

        If you run into any issues, please open a new discussion under the tagUpgrading. Ignore similar discussions and open a new one anyhow. Make sure to mention the output of php flarum info, composer why-not flarum/core v1.8.0, and any errors to their fullest.

        ๐Ÿ˜‡ Thanks to our Sponsors


        Financial donations keep Flarum alive and kicking. The following companies and people deserve credit for making Flarum sustainable:

        • Glowing Blue AG.
        • Sridhar Kamma.
        • Lincoln Russell.
        • Bart van Bragt.
        • Circuit Dojo.
        • David Wheatley.
        • Rad Web Hosting.
        • Seaborn.
        • Timotheus Pokorra.
        • JrdnHnz.
        • Jai Gupta.
        • Guoqing Zou.
        • Miguel A. Lago.
        • Alexander Skvortsov.
        • Jeannes Bryan.

        Thank you to all the Supporters, backing us through Discuss:
        @v17development and @waca !

        Thanks for being awesome ๐Ÿ˜ !

        ๐Ÿ™‡โ€โ™€๏ธ Acknowledgements


        Flarum wouldn't be the same without our over one hundred contributors, along with their generous time commitments! For this release we specifically thank these wonderful people:

        ๐Ÿ†˜ Support the Project


        We need your support to:

        • Guarantee continued development on the software.
        • Create a valuable ecosystem around the project.
        • Ensure healthy extensions are available.

        You can support us:

        For installation instructions check our installation documentation. If you are interested in developing extensions for Flarum, check the extend section there.

        • @davwheat Could it be possibile to create a new zone in order to split the "between posts" into desktop and mobile view? It could be useful for non-responsive ads, in order to serve, for example, square ads on mobile and leaderboards on desktop. That would save adding a rule to the adserver and checking for useragent or resolution.

        • @davwheat This extension is DDOSing my forum. IDK what happened, but a day after activation it started sending thousands of requests per second


          • times You can try the following. I have not been able to test it well, but it may work. Use this code with your parameters before the </head>, you can use this extension: https://discuss.flarum.org/d/25907-html-head-items

            <script type="text/javascript">
                // Carga el script de AdSense
                const script = document.createElement('script');
                script.type = 'text/javascript';
                script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-0000000000000001';
                script.async = true;
                script.crossorigin = 'anonymous';
                document.head.appendChild(script);
            
                // Espera a que el script se cargue y muestre el anuncio en el contenedor
                script.onload = function() {
                  const adContainer = document.getElementById('ad-container');
                  if (adContainer) {
                    adContainer.innerHTML = '<ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-0000000000000001" data-ad-slot="0000000002" data-ad-format="auto" data-full-width-responsive="true"></ins>';
                    (adsbygoogle = window.adsbygoogle || []).push({});
                  }
                };
              </script>

            Then include this in the HTML block where you want to display your code:

            <div id="ad-container"></div>

            mueenulit Sorry for the delay in responding to this, but maybe it will help other visitors. For Ads Terra, this is what works for me if I use Native Banner.

            Place the script in the header with the extension: https://discuss.flarum.org/d/25907-html-head-items Like This

            <script async="async" data-cfasync="false" src="//pl19047007.highrevenuegate.com/YOUR-ID/invoke.js"></script>

            In the HTML part place just the ID code, similar to this:

            <div id="container-YOUR-ID"></div>

            Edit: @davwheat Maybe it would be interesting to use this as part of a help guide in the main post for new users to avoid redundant questions.

          • @davwheat how can i activate this menu item only for registered members? is that somehow possible?

            • Trc4 replied to this.
            • 1.3.0

              Updating
              composer require ianm/follow-users
              php flarum cache:clear

              Thanks to @davwheat for his assistance ๐Ÿ‘๏ธ

              • v1.7.0 - Tasmanian Devil


                Tasmanian Devil

                ๐Ÿ“ฃ The Release


                Hey folks, the moment we've been waiting for is finally here! Flarum v1.7 is now live, and it's packed with some awesome new features and enhancements. Here are some highlights:

                • ๐Ÿ‘จโ€๐Ÿ’ป Introduced support for PHP 8.2!
                • ๐Ÿšช New access tokens user management UI.
                • ๐Ÿ”“ Added a global logout to clear all sessions, access tokens, email tokens, and password tokens.
                • ๐Ÿ› ๏ธ Fixed notifications not being sent out on post approval.
                • ๐Ÿ” SEO improvements relating to document headers
                • ๐Ÿงช Created a Jest configuration package for frontend tests unit and component testing.
                • ๐Ÿ–Œ๏ธ Improved tag text color contrast for accessibility.
                • ๐Ÿš€ Introduced frontend extenders.
                • ๐Ÿงฐ Introduced PHPStan support for extensions through a new package.
                • ๐Ÿ” Admins can now search users in the admin users list.
                • ๐Ÿ‘ฅ Added display name column to admin users list.
                • ๐Ÿ“„ Improved page navigation in the admin users list.
                • ๐Ÿ†— Added UTF8 tag slug support.
                • ๐Ÿ”’๏ธ Security patch.
                • ๐Ÿง‘โ€๐Ÿ’ป And much much more...

                ๐Ÿ‘จโ€๐Ÿ’ป For Developers


                Extensions compatible with 1.6 should still operate on Flarum 1.7 without any changes. However, this release introduces some developer-facing changes, we recommend updating your code accordingly:

                Additionally, this release comes with nice new features:

                Checkout the full upgrade guide. Feel free to provide feedback or report any encountered issues!

                โคด๏ธ Upgrading


                Before you upgrade, make sure to create a backup of your public/assets directory, your composer.json and your database!

                Before starting the upgrade process, ensure you are on Flarum 1.0.0 or above in your Admin Dashboard or by typing php flarum info. If you're not, use the previous release announcement for upgrading from an earlier version.

                To upgrade from 1.0 or 1.6 to 1.7, take a look at our upgrade guide documentation. The process should be much easier compared to previous major version upgrades, due to the lack of breaking changes.

                If you run into any issues, please open a new discussion under the Support tag. Ignore similar discussions and open a new one anyhow. Make sure to mention the output of php flarum info, composer why-not flarum/core v1.7.0, and any errors to their fullest.

                ๐Ÿ˜‡ Thanks to our Sponsors


                Financial donations keep Flarum alive and kicking. The following companies and people deserve credit for making Flarum sustainable:

                • Glowing Blue AG
                • Sridhar Kamma
                • Nathan Sweet
                • Lincoln Russell
                • Bart van Bragt
                • Circuit Dojo
                • David Wheatley
                • Rad Web Hosting
                • Seaborn
                • Timotheus Pokorra
                • Pep Oliveras
                • Edmilerad
                • JrdnHnz
                • S4 Hosting
                • Alexander Skvortsov
                • Paulina
                • Jai Gupta
                • Guoqing
                • Miguel A. Lago
                • b0ring

                Thank you to all the Supporters, backing us through Discuss:
                @v17development and @waca !

                Thanks for being awesome ๐Ÿ˜ !

                ๐Ÿ™‡โ€โ™€๏ธ Acknowledgements


                Flarum wouldn't be the same without our over one hundred contributors, along with their generous time commitments! For this release we specifically thank these wonderful people:

                ๐Ÿ†˜ Support the Project


                We need your support to:

                • Guarantee continued development on the software.
                • Create a valuable ecosystem around the project.
                • Ensure healthy extensions are available.

                You can support us:

                For installation instructions check our installation documentation. If you are interested in developing extensions for Flarum, check the extend section there.

                • @davwheat i've installed an extension from workbench folder....its enabled but i can't see any effect on the frontend. there's something that i need to do?

                  all is correctly transpiled

                  and also i need to clear cache every time that i change something.....why?

                • The users area in the admin panel looks pretty dysfunctional.

                  Can you add a search box or filtering box in the Users area where we can search for users? If I'm not mistaken about this topic, @davwheat had work. In forums with a large number of members, it becomes very difficult to find some users.

                  • v1.6.0 - Kookaburra


                    Kookaburra

                    ๐Ÿ“ฃ The Release


                    We are happy to announce the release of v1.6, not the biggest release but sizeable and important regardless:

                    ๐Ÿ‘จโ€๐Ÿ’ป For Developers


                    Extensions compatible with 1.5 should still operate on Flarum 1.6 without any changes.

                    โคด๏ธ Upgrading


                    Before you upgrade, make sure to create a backup of your public/assets directory, your composer.json and your database!

                    Before starting the upgrade process, ensure you are on Flarum 1.0.0 or above in your Admin Dashboard or by typing php flarum info. If you're not, use the previous release announcement for upgrading from an earlier version.

                    To upgrade from 1.0 or 1.5 to 1.6, take a look at our upgrade guide documentation. The process should be much easier compared to previous major version upgrades, due to the lack of breaking changes.

                    If you run into any issues, please open a new discussion under the Support tag. Ignore similar discussions and open a new one anyhow. Make sure to mention the output of php flarum info, composer why-not flarum/core v1.6.0, and any errors to their fullest.

                    ๐Ÿ˜‡ Thanks to our Sponsors


                    Financial donations keep Flarum alive and kicking. The following companies and people deserve credit for making Flarum sustainable:

                    • Glowing Blue AG
                    • Sridhar Kamma
                    • Lincoln Russell
                    • Bart van Bragt
                    • Lurker
                    • Circuit Dojo
                    • David Wheatley
                    • Timotheus Pokorra
                    • Edmilerad
                    • ange1k
                    • S4 Hosting
                    • Seaborn
                    • Alexander Skvortsov
                    • Paulina
                    • Jai Gupta
                    • Matt Kilgore
                    • Guoqing
                    • Miguel A. Lago
                    • LianSheng
                    • Soobin Rho
                    • PapaFig1
                    • Nsustain

                    Thank you to all the Supporters, backing us through Discuss:
                    @v17development and @waca !

                    Special thanks for all the Devotees (people pledging to our bounties in the Proposals tag), you are driving a lot of new features! These people have helped ship a new feature in this release with their pledge:
                    @datlechin @Darkle @SKevo @GreXXL @pkernstock @Lurker @CyberGene @meihuak .

                    Thanks for being awesome ๐Ÿ˜ !

                    ๐Ÿ™‡โ€โ™€๏ธ Acknowledgements


                    Flarum wouldn't be the same without our over one hundred contributors, along with their generous time commitments! For this release we specifically thank these wonderful people:

                    • The non-team contributors that usually tackle unplanned, but extremely welcomed bugs or overhauls. We absolutely love contributions that help us move forward, so thank you very much:
                      @datlechin @ornanovitch @iPurpl3x.
                    • The core and staff team contributors, people that have vast knowledge of the code base who sacrifice their free time to bring the awesome Flarum software to you, for free. Thank you so much:
                      @askvortsov @SychO @davwheat @luceos @IanM @clarkwinkelmann
                    • The community staff is the foundation to a warm and welcoming community. Many cheers for all you do:
                      @jordanjay29 @Prosperous @GreXXL
                    • The well-oiled machine that is the translation team, keeping up with new languages, their maintainers and the translations perfectly well. Very, very much appreciated:
                      @GreXXL @Justoverclock @rob006
                    • All our additional staff who all help us where we need it most:
                      @tankerkiller125 @Deebug @katos @victorparedes.
                    • A great shout out to everyone who's submitted carefully described issues and suggestions, especially:
                      @ornanovitch @orschiro.
                    • And the whole community sharing their passion for Flarum, urging us on!

                    ๐Ÿ†˜ Support the Project


                    We need your support to:

                    • Guarantee continued development on the software.
                    • Create a valuable ecosystem around the project.
                    • Ensure healthy extensions are available.

                    You can support us:

                    For installation instructions check our installation documentation. If you are interested in developing extensions for Flarum, check the extend section there.