That looks pretty legit! Thanks for sharing back!
Forum Discourse Meta
meta.discourse.org ↗Forum Discourse in inglese. 10 sezioni seguite: Community Building, Bug, Feature, Site feedback, UX, Plugin, Developer Guides, Announcements, Support e Self-hosting.
- Discussioni al giorno
- 19
- Discussioni raccolte
- 558
- Messaggi al giorno
- 85
- Sezioni
- 10
- Fonti seguite
- 12
- Motore
- Discourse
Ultime discussioni
Raccolte ogni 4 ore dal feed pubblico del forum. Riproduciamo solo il titolo, il link e l'inizio del messaggio; ogni link rimanda alla fonte.
Today on meta.discourse.org … Key Stats In the last 24 hours, there have been 58 new posts across 30 active topics , with 51 likes given on those posts. Here are the top contributing users by likes received: User New Posts Likes Tgxworld 3 17 Awesomerobot 5 7 Terraboss 4 6 Burke 4 3 Editor0732 1 3 Merefield 5 2 NateDhaliwal 3 2 Squidgemonster 2 2 Agemo 7 1 Satonotdead 3 1 Interesting Topics #Announcements Terraglass — a frosted-glass theme with considered light/dark palettes gained attention as Terraboss shared examples and tips, including a gentle reminder to refresh the browser after applying the theme. Heliosurge had trouble seeing effects at first, while NateDhaliwal pointed the theme author toward the theme_authors group. Experimental user sidebar navigation is getting design feedback. Luna_Mora explained that sites using the dropdown navigation menu would need a separate sidebar option, while Satonotdead asked for fewer overlapping profile and settings submenus. Help Us Test the Composer Redesign continues to collect detailed UX feedback. Agemo described the redesign as visually nice but less pleasant to use, calling out the share-style icon in the composer header and the crowded bottom row as areas that feel unfinished. Voice: Discord-style voice and video rooms, now bundled with Discourse saw users sharing their experiences with self-hosted LiveKit setups. Thomas_Rother asked for documentation on running LiveKit separately with Docker Compose, while Terraboss gave the
The Discourse fix makes sense, but I’d be careful about treating multiple H1s as an automatic ranking penalty. The bigger concern is whether the page has a clear primary heading and whether the heading structure accurately reflects the content. Google also considers heading elements and the main visual title when understanding pages and generating search result titles. For sites with lots of topic, category, and tag templates, I’d audit the rendered HTML after the update rather than assuming the template change solved everything. Checking the actual output is useful because theme components or plugins can sometimes introduce another heading unexpectedly. I usually check heading structure alongside title tags, meta descriptions, canonicals, internal links, and other on-page elements. A tool I’ve been using for this kind of quick audit is Website SEO Checker & Analyzer on Android. It includes dedicated H1-H6 checks and can scan an individual page, which makes it convenient for comparing a few URLs before and after a template change. If anyone wants to inspect those elements from a phone, visit now . The most useful test here would probably be to compare a sample of topic, category, and tag pages after the Discourse update, then watch Search Console over the following weeks. That would give a much clearer picture of whether the template change had a measurable effect rather than attributing a traffic change to H1 count alone.
Love it Video chat / conferencing add-ons? Feature Are there any WebRTC-based video chat / conferencing plugin’s currently available for Discourse? Which cross-platform tools, except for SaaS providers, are you currently using? Best Markus
11.8G → 10.5G
Hello! We created a plugin redefining the post-event-builder plugin outlet: every event created on our instance needs their custom fields filled, and our form completes the proposed values with data from an external source. We only use ESR versions of Discourse, so everything was fine on 2026.1.x, and I’m now in the process of upgrading to 2026.7.x, so I’m discovering the new form and the advanced one now. As our users must fill all the custom fields, we’d like to use the “advanced” form instead of the compact one, with no option to switch forms. I initially thought about one site setting to use the advanced form by default (and disabling the possibility to switch to the compact one, as everything is in the advanced form anyway), or two settings (use the advanced form by default, prevent switching forms). A plugin outlet to replace the compact form could be good too, as long as it includes the switch to advanced form so we can get rid of it. The new behavior is really blocking us in the upgrade process, and we can’t stay on the old, unmaintained 2026.1.x. What would be the best approach? How can I help?
This was much needed, thank you!
We are using the voice rooms for a couple of weeks now, with limited group sizes(max. 5 people). Up to now, all works fine - congratulations! I would like to have the technical backend separated from the Discourse web app and database. Is there some good documentation on how to set up a livekit server with Docker compose (Before I ask claude )?
Hi everyone, As a self-hoster, I recently caught the “digital OCD” bug. I had some deleted categories and tags from my early testing days, and I really wanted to reclaim those clean, single-digit IDs (like Category ID 2 and Tag ID 3) instead of leaving gaps in my database. I know the UI doesn’t support this, so I went into the Rails console ( ./launcher enter app → rails c ) to manually piece things back together. Everything looks and works perfectly on the frontend right now, but I am curious if the database experts here see any hidden dangers or long-term landmines in doing this. Here is the exact, detailed workflow I ran: 1. Recreating the deleted Category using its old ID with full attributes: Instead of just forcing an ID, I provided the essential attributes so the record is complete. Ruby Category.create!( id: 2, name: "Site Feedback", color: "0088CC", text_color: "FFFFFF", user_id: -1 # System user ) 2. Recovering the original topic and linking it as the category description: Ruby Topic.with_deleted.find(1).recover! Category.find(2).update!(topic_id: 1) 3. Cleaning up the topic subtype (restoring to vanilla default): I checked other default categories and noticed their description topics just use nil , so I reverted it to the factory state. Ruby Topic.find(1).update!(subtype: nil) 4. Bulk-recreating old tags to fill the ID gaps: Ruby Tag.create!([ { id: 3, name: "private-school" }, { id: 7, name: "tennis" } ]) My main question: I completely understand there is no pract
Today on meta.discourse.org … Key Stats In the last 24 hours, the community produced 53 new posts across 26 topics , collecting 30 likes along the way. The top users by likes received were: Awesomerobot — 5 posts, 7 likes Terraboss — 3 posts, 5 likes Burke — 4 posts, 3 likes Tgxworld — 3 posts, 3 likes NateDhaliwal — 3 posts, 2 likes Squidgemonster — 2 posts, 2 likes Agemo — 7 posts, 1 like Satonotdead — 3 posts, 1 like RGJ — 2 posts, 1 like Adamengst — 1 post, 1 like Interesting Topics #Announcements Tgxworld invited self-hosters to rebuild Discourse to take advantage of improved memory sharing inside the container, noting that one internal instance dropped from roughly 1.9 GB to 1.3 GB of RAM. The improvement is available on main and the 2026.9, 2026.8, and 2026.7 branches. The experimental user sidebar navigation continued to collect feedback. Luna_Mora asked for a native option that keeps a separate sidebar when using the dropdown navigation menu, while Satonotdead hoped the overlapping profile and preferences submenu options would be unified and simplified. Agemo weighed in again on the composer redesign , describing it as “nice to look at, but not as nice to use,” and calling out the share-type icon used for the “Reply as/to…” button as a UX mistake. bug Tgxworld confirmed that the ESR 1 404 error has been fixed and backported to 2026.7, after NateDhaliwal wondered whether he had seen the same behaviour in his dev instance. Manut plans to verify on the next 2026.7.x r
We’ve improved how Discourse shares memory between the processes running inside its container, reducing the amount of RAM it needs. Here’s an example from one of our internal containers. Before the change, memory usage reached around 1.9 GB . After deploying the improvement, it has generally stayed around the baseline of 1.3 GB . The improvement is available on main and the 2026.9 , 2026.8 , and 2026.7 release branches. Savings will vary between sites. Once you’ve rebuilt, let us know how your RAM usage changes!
I created a code step to calculate a signature. There’s a Web Crypto API that can calculate an HMAC-SHA256 much more easily, but it uses a promise and that won’t work inside an eval. So, I asked AI to whip up a native javascript method to calculate HMAC-SHA256, added a variable with the key secret and the secret as its value (, and ended up with a Code script like this: // Available variables: // $input.item.json - current item's JSON data // $input.all() - array of all input items // $json - shortcut for $input.item.json // $("NodeName").item - access the paired item from another node // $vars.KEY - workflow variables // $site_settings.NAME - site settings // $execution - execution metadata (id, workflow_name, ...) // $current_user - user running the workflow // $helpers.absoluteUrl(path) - convert a relative path to an absolute URL // console.log/warn/error - logging function hmacSha256(message, key) { function utf8Bytes(str) { const bytes = []; for (let i = 0; i = 0xd800 && code = 0xdc00 && next > 6), 0x80 | (code & 0x3f) ); } else if (code > 12), 0x80 | ((code >> 6) & 0x3f), 0x80 | (code & 0x3f) ); } else { bytes.push( 0xf0 | (code >> 18), 0x80 | ((code >> 12) & 0x3f), 0x80 | ((code >> 6) & 0x3f), 0x80 | (code & 0x3f) ); } } return bytes; } function rotr(x, n) { return (x >>> n) | (x >> 0; data.push( (high >>> 24) & 0xff, (high >>> 16) & 0xff, (high >>> 8) & 0xff, high & 0xff, (low >>> 24) & 0xff, (low >>> 16) & 0xff, (low >>> 8) & 0xff, low & 0xff ); const w = new Array(
558 discussioni raccolte dal 11 settembre 2026. Segui questo forum con una parola chiave →