# Development

**URL:** https://meta.discourse.org/c/dev/7.md?page=11

[Latest](https://meta.discourse.org/latest.md) · [Categories](https://meta.discourse.org/categories.md) · [Tags](https://meta.discourse.org/tags.md)

**Page:** 12

---

## [Changes to /admin/users/list/all.json API response structure?](https://meta.discourse.org/t/changes-to-admin-users-list-all-json-api-response-structure/365629)

<div class="topic-metadata">

**Author:** [@Richie](https://meta.discourse.org/u/Richie)\
**Replies:** 22\
**Last updated:** [May 22, 2025, 3:09pm UTC](https://meta.discourse.org/t/changes-to-admin-users-list-all-json-api-response-structure/365629 "2025-05-22T15:09:15Z")

</div>

Currently running Discourse 3.5.0.beta5-dev (eff31e0d42). Would anyone know if the API response from the /admin/users/list/all.json endpoint has changed in the last week or so? :thinking: Specifically: GET /admin/user…

---

## [Custom data from GJS composer form not in \`opts\` for \`:topic\_created\` event](https://meta.discourse.org/t/custom-data-from-gjs-composer-form-not-in-opts-for-topic-created-event/366809)

<div class="topic-metadata">

**Author:** [@SubStrider](https://meta.discourse.org/u/SubStrider)\
**Replies:** 4\
**Last updated:** [May 21, 2025, 4:18am UTC](https://meta.discourse.org/t/custom-data-from-gjs-composer-form-not-in-opts-for-topic-created-event/366809 "2025-05-21T04:18:21Z")

</div>

This is in continuation to this- Custom topic fields per category or custom topic entry form per category? I decided to create the plugin. Form component itself is rendering correctly via \`api.renderInOutlet\`. However t…

---

## [Form toolkit -- can't get tooltip to work with component as described in doc topic or in tests](https://meta.discourse.org/t/form-toolkit-cant-get-tooltip-to-work-with-component-as-described-in-doc-topic-or-in-tests/366561)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 2\
**Last updated:** [May 20, 2025, 10:29pm UTC](https://meta.discourse.org/t/form-toolkit-cant-get-tooltip-to-work-with-component-as-described-in-doc-topic-or-in-tests/366561 "2025-05-20T22:29:33Z")

</div>

Continuing the discussion from Discourse toolkit to render forms: I can’t get this to work. It just refuses to render a tooltip. I copied the exact @tooltip={{component DTooltip content="component"}} that…

---

## [Categories Missing from \`categories.json\` Despite Existing in the System (Custom Theme)](https://meta.discourse.org/t/categories-missing-from-categories-json-despite-existing-in-the-system-custom-theme/365544)

<div class="topic-metadata">

**Author:** [@Steve\_John](https://meta.discourse.org/u/Steve_John)\
**Replies:** 11\
**Last updated:** [May 20, 2025, 12:09am UTC](https://meta.discourse.org/t/categories-missing-from-categories-json-despite-existing-in-the-system-custom-theme/365544 "2025-05-20T00:09:33Z")

</div>

We’ve built a custom Discourse theme where specific categories are displayed on the homepage using JavaScript. The script uses a predefined list of category names (as a comma-separated array) to fetch and render content …

---

## [Problems manually configuring perplexity sonar deep research](https://meta.discourse.org/t/problems-manually-configuring-perplexity-sonar-deep-research/365572)

<div class="topic-metadata">

**Author:** [@aas](https://meta.discourse.org/u/aas)\
**Replies:** 2\
**Last updated:** [May 19, 2025, 8:45am UTC](https://meta.discourse.org/t/problems-manually-configuring-perplexity-sonar-deep-research/365572 "2025-05-19T08:45:12Z")

</div>

After trying to follow the instructions here with both OpenAI and OpenRouter providers, I finally got it to work by disabling streaming. With OpenRouter, I was able to run a test with the Run test button in the LLM manu…

---

## [Development setup hangs when updating client.en.yml](https://meta.discourse.org/t/development-setup-hangs-when-updating-client-en-yml/366555)

<div class="topic-metadata">

**Author:** [@elmuerte](https://meta.discourse.org/u/elmuerte)\
**Replies:** 1\
**Last updated:** [May 18, 2025, 3:11pm UTC](https://meta.discourse.org/t/development-setup-hangs-when-updating-client-en-yml/366555 "2025-05-18T15:11:09Z")

</div>

I have a discourse development setup running within WSL. This works quite ok for working on plugins. But today I noticed something weird, whenever I edit the config/locales/client.en.yml file the systems hangs. I cannot…

---

## [Discourse on Truffleruby](https://meta.discourse.org/t/discourse-on-truffleruby/169919)

<div class="topic-metadata">

**Author:** [@4ong](https://meta.discourse.org/u/4ong)\
**Replies:** 14\
**Last updated:** [May 16, 2025, 9:32am UTC](https://meta.discourse.org/t/discourse-on-truffleruby/169919 "2025-05-16T09:32:57Z")

</div>

Has anyone tried having Discourse on the truffleruby? Does it make sense to look in this direction?

---

## [Does the ‘all-the-themes’ update need updating for theme components?](https://meta.discourse.org/t/does-the-all-the-themes-update-need-updating-for-theme-components/366403)

<div class="topic-metadata">

**Author:** [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Replies:** 4\
**Last updated:** [May 16, 2025, 9:12am UTC](https://meta.discourse.org/t/does-the-all-the-themes-update-need-updating-for-theme-components/366403 "2025-05-16T09:12:58Z")

</div>

Forgive me. :folded\_hands: I can’t remember if we discussed this at the time, but does GitHub - discourse/all-the-themes · GitHub (and all-the-themes/update\_from\_meta.rb at main · discourse/all-the-themes · GitHub in par…

---

## [Vbulletin bulk importer: null value in column "pinned\_globally" of relation "topics" violates not-null constraint](https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 6\
**Last updated:** [May 15, 2025, 6:59pm UTC](https://meta.discourse.org/t/vbulletin-bulk-importer-null-value-in-column-pinned-globally-of-relation-topics-violates-not-null-constraint/366162 "2025-05-15T18:59:23Z")

</div>

I’m trying to do am import with vbulletin bulk importer. I’ve managed to get it to mostly do it. It’s created users and posts, but topics are not getting created. The stuff getting passed to create\_topics(topics) looks …

---

## [How to bind custom fields and sync form data on admin badge page](https://meta.discourse.org/t/how-to-bind-custom-fields-and-sync-form-data-on-admin-badge-page/365723)

<div class="topic-metadata">

**Author:** [@amt](https://meta.discourse.org/u/amt)\
**Replies:** 1\
**Last updated:** [May 15, 2025, 12:52am UTC](https://meta.discourse.org/t/how-to-bind-custom-fields-and-sync-form-data-on-admin-badge-page/365723 "2025-05-15T00:52:42Z")

</div>

I’m writing a plugin to extend badge functionality. When the “Save” button is pressed on the admin badges page, the custom fields are always default value. Discourse PluginOutlet \<PluginOutlet @name="admin-ab…

---

## [Automatic encoding of parsed URL params](https://meta.discourse.org/t/automatic-encoding-of-parsed-url-params/67232)

<div class="topic-metadata">

**Author:** [@mpalmer](https://meta.discourse.org/u/mpalmer)\
**Replies:** 43\
**Last updated:** [May 15, 2025, 12:30am UTC](https://meta.discourse.org/t/automatic-encoding-of-parsed-url-params/67232 "2025-05-15T00:30:22Z")

</div>

The underlying problem which caused this bug is that query parameters, at least, are not being tagged with any particular encoding. Based on some reading, it’s my understanding that modern Rails versions do correctly in…

---

## [Working with different needs in raw/cooked content](https://meta.discourse.org/t/working-with-different-needs-in-raw-cooked-content/46723)

<div class="topic-metadata">

**Author:** [@cappslock](https://meta.discourse.org/u/cappslock)\
**Replies:** 7\
**Last updated:** [May 15, 2025, 12:20am UTC](https://meta.discourse.org/t/working-with-different-needs-in-raw-cooked-content/46723 "2025-05-15T00:20:01Z")

</div>

I’m using only the API of Discourse with a custom UI. I want to support some custom Markdown extensions which I’d like the “cooked” content of a post to honor. I think there are probably a few ways to do this: Get Dis…

---

## [VSCode extension for syntax highlighting discourse-plugin javascript](https://meta.discourse.org/t/vscode-extension-for-syntax-highlighting-discourse-plugin-javascript/147051)

<div class="topic-metadata">

**Author:** [@zcuric](https://meta.discourse.org/u/zcuric)\
**Replies:** 2\
**Last updated:** [April 6, 2020, 9:55pm UTC](https://meta.discourse.org/t/vscode-extension-for-syntax-highlighting-discourse-plugin-javascript/147051 "2020-04-06T21:55:04Z")

</div>

Hi, I made VSCode extension for highlighting javascript in discourse plugin script tags On Marketplace: Discourse JS plugin syntax highlighting (HTML) - Visual Studio Marketplace On Github: GitHub - zcuric/vscode-disc…

---

## [Session/current always returns api\_user](https://meta.discourse.org/t/session-current-always-returns-api-user/72875)

<div class="topic-metadata">

**Author:** [@rodeezy](https://meta.discourse.org/u/rodeezy)\
**Replies:** 3\
**Last updated:** [October 27, 2017, 6:01am UTC](https://meta.discourse.org/t/session-current-always-returns-api-user/72875 "2017-10-27T06:01:20Z")

</div>

/session/current.json gives the current user just fine when entered as url. /session/current.json?api\_key=\[my\_api\_key\]&api\_user=\[my\_user\_name\] always returns me as the current user-- even when I’m logged in as a differe…

---

## [New iOS mobile app beta available for testing](https://meta.discourse.org/t/new-ios-mobile-app-beta-available-for-testing/115912)

<div class="topic-metadata">

**Author:** [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Replies:** 54\
**Last updated:** [February 25, 2025, 10:44am UTC](https://meta.discourse.org/t/new-ios-mobile-app-beta-available-for-testing/115912 "2025-02-25T10:44:48Z")

</div>

Following on Delegated authentication for Discourse Mobile app, we have been working on a new version of the DiscourseHub app for iOS. This new version includes several under-the-hood changes that fix some longstanding i…

---

## [Recent replies takes 2 seconds to display](https://meta.discourse.org/t/recent-replies-takes-2-seconds-to-display/365041)

<div class="topic-metadata">

**Author:** [@David\_Ghost](https://meta.discourse.org/u/David_Ghost)\
**Replies:** 6\
**Last updated:** [May 7, 2025, 4:42pm UTC](https://meta.discourse.org/t/recent-replies-takes-2-seconds-to-display/365041 "2025-05-07T16:42:06Z")

</div>

Is there any way to display the latest replies instantly? Currently, I use this code: api.onPageChange(() =\> { if (window.location.pathname === "/") { const container = document.querySelector(".latest-topic-…

---

## [New Topic button hidden text](https://meta.discourse.org/t/new-topic-button-hidden-text/364902)

<div class="topic-metadata">

**Author:** [@Juan\_Manuel\_Barreto](https://meta.discourse.org/u/Juan_Manuel_Barreto)\
**Replies:** 1\
**Last updated:** [May 7, 2025, 4:07pm UTC](https://meta.discourse.org/t/new-topic-button-hidden-text/364902 "2025-05-07T16:07:10Z")

</div>

Hi! I have been trying to make a style change to the New Post button, but I haven’t been able to figure out a way to do this, and wanted to know if someone could help with ideas on how to solve this. This is the way the…

---

## [Custom fields concurrency issue](https://meta.discourse.org/t/custom-fields-concurrency-issue/364988)

<div class="topic-metadata">

**Author:** [@RGJ](https://meta.discourse.org/u/RGJ)\
**Replies:** 0\
**Last updated:** [May 6, 2025, 12:11pm UTC](https://meta.discourse.org/t/custom-fields-concurrency-issue/364988 "2025-05-06T12:11:11Z")

</div>

Sometimes we run into concurrency issues with custom fields. Example is a webhook handler that does this user\_id = params\[:externalUserId\].split('-')\[1\] user = User.find\_by(id: user\_id) raise Discourse::NotFound unless…

---

## [A Plug-In to convert Discourse Forum Discussions into Clear Proposal Revisions with Community-Sourced Justifications](https://meta.discourse.org/t/a-plug-in-to-convert-discourse-forum-discussions-into-clear-proposal-revisions-with-community-sourced-justifications/364713)

<div class="topic-metadata">

**Author:** [@maets23](https://meta.discourse.org/u/maets23)\
**Replies:** 9\
**Last updated:** [May 5, 2025, 2:49pm UTC](https://meta.discourse.org/t/a-plug-in-to-convert-discourse-forum-discussions-into-clear-proposal-revisions-with-community-sourced-justifications/364713 "2025-05-05T14:49:38Z")

</div>

Our team is proposing a plug-in for this organization. We intend to write a plug-in that Discourse users (not self served) could use. The details of the plug-in and it’s development are below. Is this kind of project …

---

## [How to use a bulk import script (e.g., vbulletin.rb)](https://meta.discourse.org/t/how-to-use-a-bulk-import-script-e-g-vbulletin-rb/364289)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 0\
**Last updated:** [April 30, 2025, 8:02pm UTC](https://meta.discourse.org/t/how-to-use-a-bulk-import-script-e-g-vbulletin-rb/364289 "2025-04-30T20:02:14Z")

</div>

I’m doing what appears to be a vbulletin 4 import with some millions of posts. The server I’m doing it on is very slow (users were importing at about 50/minute when I gave up). Back of the envelope math suggests it’ll ta…

---

## [Is a theme component or plugin best for external API calls?](https://meta.discourse.org/t/is-a-theme-component-or-plugin-best-for-external-api-calls/364145)

<div class="topic-metadata">

**Author:** [@noahl](https://meta.discourse.org/u/noahl)\
**Replies:** 4\
**Last updated:** [April 30, 2025, 1:04pm UTC](https://meta.discourse.org/t/is-a-theme-component-or-plugin-best-for-external-api-calls/364145 "2025-04-30T13:04:43Z")

</div>

We have a certification program and want to allow users to join the certified group after confirming their certification ID. The current idea: Have a button in a plugin outlet On click, open a modal for them to input …

---

## [Cases when admin/users.json?email=foobar or admin/users/list/all.json?email=foobar return empty array](https://meta.discourse.org/t/cases-when-admin-users-json-email-foobar-or-admin-users-list-all-json-email-foobar-return-empty-array/363641)

<div class="topic-metadata">

**Author:** [@Hyan](https://meta.discourse.org/u/Hyan)\
**Replies:** 5\
**Last updated:** [April 29, 2025, 2:59pm UTC](https://meta.discourse.org/t/cases-when-admin-users-json-email-foobar-or-admin-users-list-all-json-email-foobar-return-empty-array/363641 "2025-04-29T14:59:25Z")

</div>

Hi, Per titled, when I run above endpoints I got \[\] response in Postman. Almost all \[\] if users foobar has no topic created, but there’s one user who has just created a topic the above query response with \[\] too, while …

---

## [Fixing digest\_custom\_html to be treated as HTML (was: Overriding digest.html.erb)](https://meta.discourse.org/t/fixing-digest-custom-html-to-be-treated-as-html-was-overriding-digest-html-erb/361988)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 10\
**Last updated:** [April 29, 2025, 2:38pm UTC](https://meta.discourse.org/t/fixing-digest-custom-html-to-be-treated-as-html-was-overriding-digest-html-erb/361988 "2025-04-29T14:38:50Z")

</div>

TL;DR: I’m trying to add some stuff to the digest. I used to override the template, but can’t do that now, for reasons unclear. Because overriding templates is bad, there are some places in the digest that get replaced…

---

## [New plugin outlet for topic timers?](https://meta.discourse.org/t/new-plugin-outlet-for-topic-timers/363833)

<div class="topic-metadata">

**Author:** [@jordan-violet](https://meta.discourse.org/u/jordan-violet)\
**Replies:** 1\
**Last updated:** [April 28, 2025, 4:35pm UTC](https://meta.discourse.org/t/new-plugin-outlet-for-topic-timers/363833 "2025-04-28T16:35:12Z")

</div>

Would it be possible to have a plugin outlet added for topic timers?

---

## [Request for Dynamic Schema.org in Theme Components](https://meta.discourse.org/t/request-for-dynamic-schema-org-in-theme-components/363392)

<div class="topic-metadata">

**Author:** [@Aditya\_Shevle](https://meta.discourse.org/u/Aditya_Shevle)\
**Replies:** 3\
**Last updated:** [April 25, 2025, 12:02pm UTC](https://meta.discourse.org/t/request-for-dynamic-schema-org-in-theme-components/363392 "2025-04-25T12:02:20Z")

</div>

Hi, I’d like to request the ability to add dynamic Schema.org JSON-LD for created topics and their replies in Discourse themes. It would be helpful to automatically generate schema data for: Topic: Title, author, and c…

---

## [Looking up and generating upload short-urls](https://meta.discourse.org/t/looking-up-and-generating-upload-short-urls/363412)

<div class="topic-metadata">

**Author:** [@merefield](https://meta.discourse.org/u/merefield)\
**Replies:** 7\
**Last updated:** [April 25, 2025, 8:27am UTC](https://meta.discourse.org/t/looking-up-and-generating-upload-short-urls/363412 "2025-04-25T08:27:17Z")

</div>

Appears in Post: !\[img-MAVMAbkLhcg3sooqMLUyKIhT\](upload://\>\>\>\>\>yygWIAKKT974aRWzlyDof2O82bL\<\<\<\<\<.jpeg) How can I map it to this (and vice versa): "//127.0.0.1:4200/uploads/default/original/1X/abcafdf0e1d9262d515075420e…

---

## [Announcing Discourse Doctor](https://meta.discourse.org/t/announcing-discourse-doctor/92991)

<div class="topic-metadata">

**Author:** [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Replies:** 13\
**Last updated:** [April 24, 2025, 10:32pm UTC](https://meta.discourse.org/t/announcing-discourse-doctor/92991 "2025-04-24T22:32:10Z")

</div>

Following the example from Discourse-doctor 👩‍⚕️, I’ve created discourse-doctor, now included in discourse\_docker. If you run ./discourse-doctor, you’ll see something like: DISCOURSE DOCTOR Tue Jul 24 08:50:32 UTC 2018 …

---

## [Programmatic way to get all API endpoints for my instance?](https://meta.discourse.org/t/programmatic-way-to-get-all-api-endpoints-for-my-instance/362648)

<div class="topic-metadata">

**Author:** [@jordan-violet](https://meta.discourse.org/u/jordan-violet)\
**Replies:** 11\
**Last updated:** [April 24, 2025, 9:47pm UTC](https://meta.discourse.org/t/programmatic-way-to-get-all-api-endpoints-for-my-instance/362648 "2025-04-24T21:47:17Z")

</div>

I’m looking for a way to get a definitive list of the API endpoints available in my Discourse instance. It can sometimes be difficult to know what APIs are available to me when looking to build an integration into the pl…

---

## [Best API for All First Posts in a Category](https://meta.discourse.org/t/best-api-for-all-first-posts-in-a-category/204883)

<div class="topic-metadata">

**Author:** [@John\_Lehmann](https://meta.discourse.org/u/John_Lehmann)\
**Replies:** 7\
**Last updated:** [April 24, 2025, 6:24pm UTC](https://meta.discourse.org/t/best-api-for-all-first-posts-in-a-category/204883 "2025-04-24T18:24:46Z")

</div>

We want to get all of the first posts in a category (which we are using as wikis but not actually wikis). Preferably, we’d like to avoid having to do one request per topic/post. The best way have so far is using search…

---

## [Send mail and push notifications using ajax method](https://meta.discourse.org/t/send-mail-and-push-notifications-using-ajax-method/293890)

<div class="topic-metadata">

**Author:** [@omppatil](https://meta.discourse.org/u/omppatil)\
**Replies:** 1\
**Last updated:** [April 23, 2025, 8:51am UTC](https://meta.discourse.org/t/send-mail-and-push-notifications-using-ajax-method/293890 "2025-04-23T08:51:11Z")

</div>

Hi!, I’m developing a plugin in which it has a button which can hide and unhide post/topic,now what I want to know is that is there any ajax method using JavaScript to send email and push notifications to all the users/…

[Previous page](https://meta.discourse.org/c/dev/7.md?page=10)

[Next page](https://meta.discourse.org/c/dev/7.md?page=12)
