Topic List Previews (TLP)

yes indeed, I was being a bit succint.

that browser supports grid-lanes but it’s behind a “experimental” flag.

the warning is harmless and once they move that feature to their main line it will go away.

currently the only browser that supports it without setting an experimental feature flag is …

… Safari! (who would have thought Apple to be first with a standard? :rofl: )

1 Like

If Horizon was less opinionated and less monolithic, you would end up with something like this:

This is a very rough fork of Horizon without the overbearing elements and CSS with TLP and Bars! so that the latter two can do their thing unimpeded.

Obviously this needs a bit of refinement …

2 Likes

early in the morning today we noticed avatars can’t be changed.
Logs tell me this: no implicit conversion of Hash into String:


hostname	web1-app, [web2-app]
process_id	815
application_version	bfe7896ce82d26b70b70d8e6470330331eacd0ab
HTTP_HOST	redacted
REQUEST_URI	/posts
REQUEST_METHOD	POST
HTTP_USER_AGENT	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:153.0) Gecko/20100101 Firefox/153.0
HTTP_ACCEPT	*/*
HTTP_REFERER	https://redacted/
HTTP_X_FORWARDED_FOR	redacted
username	VladSv
error_message	no implicit conversion of Hash into String
instructions	convert, [png:/var/www/discourse/tmp/download_cache/dfae3db8fee87a3abc7ad00830e917bab294253e.png[0], -auto-orient, -gravity, center, -background, transparent, -thumbnail, 1024x576^, -extent, 1024x576, -interpolate, catrom, -unsharp, 2x0.5+0.7+0, -interlace, none, -profile, /var/www/discourse/vendor/data/RT_sRGB.icm, png:/tmp/discourse-thumbnail20260808-815-ftpz9a.png]
time	11:26 am
location	
upload_id	538657

Message (16783 copies reported)

Failed to optimize image: unknown reason

Backtrace

/var/www/discourse/lib/discourse.rb:1115:in 'block in Discourse.warn'
/var/www/discourse/lib/discourse.rb:1109:in 'Array#each'
/var/www/discourse/lib/discourse.rb:1109:in 'Discourse.warn'
/var/www/discourse/app/models/optimized_image.rb:362:in 'OptimizedImage.convert_with'
/var/www/discourse/plugins/discourse-topic-previews-sidecar/lib/topic_previews/optimized_image_extension.rb:24:in 'TopicPreviews::OptimizedImageExtension#optimize'
/var/www/discourse/app/models/optimized_image.rb:317:in 'OptimizedImage.resize'
/var/www/discourse/app/models/optimized_image.rb:114:in 'block in OptimizedImage.create_for'
/var/www/discourse/app/models/optimized_image.rb:19:in 'block (2 levels) in OptimizedImage.lock'
/var/www/discourse/lib/distributed_mutex.rb:53:in 'block in DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'Thread::Mutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in 'DistributedMutex.synchronize'
/var/www/discourse/app/models/optimized_image.rb:19:in 'block in OptimizedImage.lock'
/var/www/discourse/lib/distributed_mutex.rb:53:in 'block in DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'Thread::Mutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in 'DistributedMutex#synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in 'DistributedMutex.synchronize'
/var/www/discourse/app/models/optimized_image.rb:18:in 'OptimizedImage.lock'
/var/www/discourse/app/models/optimized_image.rb:82:in 'OptimizedImage.create_for'
/var/www/discourse/app/models/upload.rb:162:in 'Upload#get_optimized_image'
/var/www/discourse/app/controllers/user_avatars_controller.rb:238:in 'UserAvatarsController#get_optimized_image'
/var/www/discourse/app/controllers/user_avatars_controller.rb:138:in 'UserAvatarsController#show_in_site'
/var/www/discourse/app/controllers/user_avatars_controller.rb:91:in 'block (2 levels) in UserAvatarsController#show'
/var/www/discourse/lib/hijack.rb:68:in 'BasicObject#instance_eval'
/var/www/discourse/lib/hijack.rb:68:in 'block (2 levels) in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale'
/var/www/discourse/lib/hijack.rb:68:in 'block in Hijack#hijack'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:911:in 'Concurrent::Promises::Event#callback_on_resolution'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:797:in 'Concurrent::Promises::AbstractEventFuture#call_callback'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:803:in 'Concurrent::Promises::AbstractEventFuture#call_callbacks'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:692:in 'Concurrent::Promises::AbstractEventFuture#resolve_with'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.7/lib/concurrent-ruby/concurrent/promises.rb:1325:in 'Concurrent::Promises::ResolvableEvent#resolve'
/var/www/discourse/lib/scheduler/defer.rb:135:in 'block in Scheduler::Deferrable#do_work'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in 'RailsMultisite::ConnectionManagement::NullInstance#with_connection'
/var/www/discourse/vendor/bundle/ruby/3.4.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in 'RailsMultisite::ConnectionManagement.with_connection'
/var/www/discourse/lib/scheduler/defer.rb:130:in 'Scheduler::Deferrable#do_work'
/var/www/discourse/lib/scheduler/defer.rb:116:in 'block (2 levels) in Scheduler::Deferrable#start_thread'

2 Likes

This looks like an issue with the TLP sidecar I’ll take a look

1 Like

This looks like a compatibility issue with core … I’ll fix it for the pro version of the sidecar

1 Like

This should be resolved by https://github.com/merefield/discourse-topic-previews-sidecar-pro/pull/183

@Eviepayne

2 Likes

Thanks, this fixed the issue.

1 Like