Pré-visualizações da lista de tópicos (TLP)

sim, realmente, eu fui um pouco conciso.

esse navegador suporta grid-lanes, mas está atrás de uma flag “experimental”.

o aviso é inofensivo e, assim que eles moverem esse recurso para sua linha principal, ele desaparecerá.

atualmente, o único navegador que o suporta sem definir uma flag de recurso experimental é …

… Safari! (quem diria que a Apple seria a primeira com um padrão? :rofl: )

1 Curtiu

Se o Horizon fosse menos opinativo e menos monolítico, você acabaria com algo assim:

Este é um fork muito rudimentar do Horizon, sem os elementos opressivos e com CSS usando TLP e Barras!.

Obviamente, isso precisa de um pouco de refinamento…

2 Curtiram

Cedo esta manhã, notamos que os avatares não podem ser alterados.
Os logs me dizem isso: não há conversão implícita de Hash para 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

Mensagem (16783 cópias relatadas)

Falha ao otimizar a imagem: motivo desconhecido

Rastreamento

/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 Curtiram

Isso parece ser um problema com o sidecar TLP. Vou dar uma olhada.

1 Curtiu

Isso parece ser um problema de compatibilidade com o core … Vou corrigir isso na versão pro do sidecar

1 Curtiu

Isso deve ser resolvido por https://github.com/merefield/discourse-topic-previews-sidecar-pro/pull/183

@Eviepayne

2 Curtiram

Obrigado, isso corrigiu o problema.

1 Curtiu

Agora há uma opção de apresentação de Imagens em Destaque muito aprimorada: “Carrossel”.

Veja uma demonstração em https://www.starzen.space/

3 Curtiram

Eu recebo esse tipo de erro no console (versão mais recente do TLP)

app.js:69 Failed to load theme 30 from https://xxx/theme-javascripts/40a50061299ae50a5bf470c83f9d3db199a93387.js Error: Could not find module `discourse/ui-kit/modifiers/d-pointer-drag` imported from `(require)`
    at fae (loader.js:253:13)
    at Bp (loader.js:266:5)
    at window.requirejs.window.require.window.requireModule (loader.js:24:17)
    at chunk-ln9q81id.digested.js:1:999
    at Object.lookup (app.js:56:5)
    at 40a50061299ae50a5bf470c83f9d3db199a93387.js?__ws=xxxxxxx:1:2134
loadThemeFromModulePreload @ app.js:69
await in loadThemeFromModulePreload
loadThemesAndPlugins @ app.js:127
(anonymous) @ discourse.js:21
await in (anonymous)
(anonymous) @ discourse.js:25
app.js:365 ℹ️ Discourse v2026.7.0-latest — https://github.com/discourse/discourse/commits/f1dcbb24e0 — Ember v6.10.1
client-error-handler.js:109 [THEME 30 'Topic List Previews'] Error: Could not find module `discourse/ui-kit/modifiers/d-pointer-drag` imported from `(require)`
    at fae (loader.js:253:13)
    at Bp (loader.js:266:5)
    at window.requirejs.window.require.window.requireModule (loader.js:24:17)
    at chunk-ln9q81id.digested.js:1:999
    at Object.lookup (app.js:56:5)
    at 40a50061299ae50a5bf470c83f9d3db199a93387.js?__ws=xxx:1:2134
reportToConsole @ client-error-handler.js:109
reportThemeError @ client-error-handler.js:56
(anonymous) @ client-error-handler.js:22
constructor @ client-error-handler.js:22
create @ core.js:583
create @ registry-BJpQx6hv.js:400
instantiateFactory @ registry-BJpQx6hv.js:292
lookup @ registry-BJpQx6hv.js:238
lookup @ registry-BJpQx6hv.js:131
lookup @ container_proxy.js:27
initialize @ boot-services.js:3
(anonymous) @ index.js:375
(anonymous) @ index.js:183
(anonymous) @ index.js:112
(anonymous) @ index.js:59
(anonymous) @ index.js:65
_runInitializer @ index.js:388
runInstanceInitializers @ index.js:373
_bootSync @ instance.js:111
didBecomeReady @ index.js:780
invoke @ index.js:262
flush @ index.js:180
flush @ index.js:334
_end @ index.js:762
(anonymous) @ index.js:499
Promise.then
(anonymous) @ index.js:18
flush @ index.js:29
_scheduleAutorun @ index.js:928
_ensureInstance @ index.js:919
schedule @ index.js:618
schedule @ index.js:343
waitForDOMReady @ index.js:508
init @ index.js:408
initialize @ core.js:97
create @ core.js:599
(anonymous) @ discourse.js:23
await in (anonymous)
(anonymous) @ discourse.js:25

Você precisa estar na versão v2026.8.0 ou superior :slight_smile:

Normalmente, não dou suporte a versões mais antigas, mas vou adicionar um fixador (pin).

1 Curtiu

Pronto, mas como pode ser complicado para você fazer o rollback, o mais simples seria, na minha opinião, atualizar para pelo menos a v2026.8.0 (ou v2026.9.x-latest).

1 Curtiu