Discourse Embed - HTTP 500 error

AI-generated summary

cptmedic reported an HTTP 500 error when embedding a Hugo blog post into their Docker-based Discourse forum. The error stemmed from a PostgreSQL integer range issue in topic_view.rb, specifically during post filtering, which caused the embed endpoint to crash. Although the topic was created correctly (with proper title and author), the embed page failed to load. cptmedic later resolved the 500 error but still couldn’t save changes to two specific settings: “Truncate the embedded posts” and “Imported topics will be unlisted until there is a reply.” These settings appear to be non-functional despite other settings saving correctly. The issue may relate to a deeper configuration or bug in Discourse’s embed handling or settings persistence.

Good morning/evening all,

I recently setup the docker version of discourse and attempted to embed my first blog post using Hugo with the newly setup Discourse forum.

Of note, if I uncheck “Truncate the embedded posts” and “Imported topics will be unlisted until there is a reply.” The changes do not seem to save. But any other changes save.

This is what is logged in production.log:

Started GET "/embed/comments?embed_url=https%3A%2F%2F(REDACTED).com%2Farticle%2Fwelcome%2F" for IP-Redacted at 2023-06-09 06:19:00 +0000
Processing by EmbedController#comments as HTML
  Parameters: {"embed_url"=>"https://(REDACTED).com/article/welcome/"}
Completed 500 Internal Server Error in 40ms (ActiveRecord: 0.0ms | Allocations: 11449)
ActiveRecord::ConnectionAdapters::PostgreSQL::Quoting::IntegerOutOf64BitRange (Provided value outside of the range of a signed 64bit integer.

PostgreSQL will treat the column type in question as a numeric.
This may result in a slow sequential scan due to a comparison
being performed between an integer or bigint value and a numeric value.

To allow for this potentially unwanted behavior, set
ActiveRecord.raise_int_wider_than_64bit to false.
)
lib/freedom_patches/fast_pluck.rb:39:in `select_raw'
lib/freedom_patches/fast_pluck.rb:60:in `pluck'
lib/topic_view.rb:378:in `filter_posts_paged'
lib/topic_view.rb:317:in `filter_posts'
lib/topic_view.rb:133:in `initialize'
app/controllers/embed_controller.rb:97:in `new'
app/controllers/embed_controller.rb:97:in `comments'
app/controllers/application_controller.rb:418:in `block in with_resolved_locale'
app/controllers/application_controller.rb:418:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

On the Discourse side, the topic is created in the correct category and overall seems to do correct with title, and author as seen below. But calling the embed page yields a 500.

Any help would be appreciated

And just like that, I managed to figure out the http 500 error. However, I am still unable to untick those two settings mentioned in the post