tknospdr
(David Muszynski)
Junho 10, 2025, 4:27pm
1
Ao tentar gerenciar um grupo de tags sob uma categoria, recebo uma janela pop-up genérica de Erro Interno do Servidor.
Consigo gerenciar tags sob a categoria e consigo editar grupos de tags no admin normalmente.
O problema ocorre SOMENTE sob QUALQUER categoria, se eu clicar na chave inglesa e depois em tags, recebo o erro ao tentar escolher um grupo de tags em:
Restringir estes grupos de tags a esta categoria:
ou
Exigir que novos tópicos tenham tags de grupos de tags:
Adicionar grupo de tags obrigatório
Não sei onde procurar um log desse erro.
Nós devemos lançar este fórum nos próximos dias, e eu ficaria muito grato se alguém pudesse me ajudar a resolver isso a tempo da estreia.
Nós realmente precisamos poder exigir algumas tags em uma categoria específica antes do lançamento.
2 curtidas
Desculpe por você estar passando por este problema.
Quando você tenta estas coisas com o console javascript aberto, você vê alguma mensagem de erro adicional que possa ajudar no troubleshooting?
Acabei de tentar e não consigo replicar. Ele simplesmente salva corretamente.
Você pode compartilhar uma captura de tela da página “editar grupo de tags” para o grupo de tags que você está tentando usar em sua categoria? Talvez as permissões não correspondam?
tknospdr
(David Muszynski)
Junho 10, 2025, 4:39pm
3
Recebo:
Failed to load resource: the server responded with a status of 500 () ... https://connect.checkinpos.com/tag_groups/filter/search?q=&limit=3
Tenho 3 grupos de tags diferentes disponíveis, mas ele não chega a mostrar os grupos disponíveis. O pop-up acontece assim que clico no botão.
Você tentou isso no modo de segurança? Talvez um plugin ou componente esteja interferindo?
Você atualizou para a versão mais recente do Discourse?
tknospdr
(David Muszynski)
Junho 10, 2025, 4:46pm
5
Sim, acabei de atualizar esta manhã. Pode ser que isso tenha quebrado alguma coisa.
Eu não sabia que o Discourse tinha um modo de segurança, espere…
Sim, ainda acontece no modo de segurança.
1 curtida
tknospdr
(David Muszynski)
Junho 10, 2025, 4:50pm
7
2
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
2 de jun 14:27
Job exception: Unsupported command argument type: FalseClass
Seg 13:47
Job exception: Unsupported command argument type: FalseClass
Seg 15:10
RuntimeError (default :limit is not between 0 and 3) app/controllers/application_controller.rb:1027:in `fetch_int_from_params' app/controllers/application_controller.rb:1020:in `fetch_limit_from_param
9:24
4
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
9:33
2
[DiscourseJsProcessor] DEPRECATION: The parts property on path nodes is deprecated, use head and tail instead
9:33
16
RuntimeError (default :limit is not between 0 and 3) app/controllers/application_controller.rb:1025:in `fetch_int_from_params' app/controllers/application_controller.rb:1018:in `fetch_limit_from_param
Difícil ajudar a solucionar problemas com etapas de reprodução em outro site que não o seu.
Talvez tente excluir seus grupos de tags e recriá-los novamente?
tknospdr
(David Muszynski)
Junho 10, 2025, 4:56pm
9
Vou tentar daqui a pouco. Os outros grupos já estão atribuídos a diferentes categorias e continuam trabalhando, então estou preocupado em não conseguir reatribuí-los após a destruição e recriação.
Você pode reverter para uma versão anterior do Discourse? Eu fiz um backup antes de atualizar hoje de manhã.
Moin
Junho 10, 2025, 5:33pm
10
Você pode me dizer se você alterou a configuração do site max_tag_search_results?
2 curtidas
tknospdr
(David Muszynski)
Junho 10, 2025, 5:38pm
11
Sim, está definido para 3.
1 curtida
Moin
Junho 10, 2025, 5:40pm
12
Eu consigo reproduzir o problema apenas alterando a configuração no meu site para 3 também.
Você poderia tentar mudar de volta para 5?
2 curtidas
tknospdr
(David Muszynski)
Junho 10, 2025, 5:53pm
13
Isso realmente corrige o problema. Parece um bug, não é?
Eu não pensaria que mudar essa configuração deveria afetar a seleção de outra configuração.
2 curtidas
Sim, você descobriu um bug! Obrigado por perseverar para chegar ao fundo dele.
Ótimo trabalho em encontrar a reprodução, @moin !
Vamos investigar isso.
1 curtida
tknospdr
(David Muszynski)
Junho 10, 2025, 6:06pm
16
Fico feliz em ter ajudado, mas eu só fiz o que pessoas mais inteligentes me disseram para fazer…
1 curtida
Moin
Junho 10, 2025, 6:11pm
17
O log que você forneceu me ajudou a encontrá-lo.
Eu procurei por fetch_limit_from_param no código e encontrei uma linha no controlador de grupos de tags que fazia referência à configuração.
matches = TagGroup.includes(:tags).visible(guardian).all
matches = matches.where("lower(name) ILIKE ?", "%#{params[:q].strip}%") if params[:q].present?
if params[:names].present?
matches = matches.where("lower(NAME) in (?)", params[:names].map(&:downcase))
end
matches =
matches.order("name").limit(
fetch_limit_from_params(default: 5, max: SiteSetting.max_tag_search_results),
)
render json: {
results:
matches.map { |x| { name: x.name, tag_names: x.tags.base_tags.pluck(:name).sort } },
}
end
private
mensagem completa e backtrace dos logs
Message
RuntimeError (default :limit is not between 0 and 3)
app/controllers/application_controller.rb:1025:in `fetch_int_from_params'
app/controllers/application_controller.rb:1018:in `fetch_limit_from_params'
app/controllers/tag_groups_controller.rb:95:in `search'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
lib/middleware/default_headers.rb:13: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:23:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
Backtrace
app/controllers/application_controller.rb:1025:in `fetch_int_from_params'
app/controllers/application_controller.rb:1018:in `fetch_limit_from_params'
app/controllers/tag_groups_controller.rb:95:in `search'
actionpack (7.2.2.1) lib/action_controller/metal/basic_implicit_render.rb:8:in `send_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:226:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rendering.rb:193:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:261:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:121:in `block in run_callbacks'
app/controllers/application_controller.rb:428:in `block in with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in `with_locale'
app/controllers/application_controller.rb:428:in `with_resolved_locale'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:130:in `block in run_callbacks'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:141:in `run_callbacks'
actionpack (7.2.2.1) lib/abstract_controller/callbacks.rb:260:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/rescue.rb:27:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:77:in `block in process_action'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `block in instrument'
activesupport (7.2.2.1) lib/active_support/notifications/instrumenter.rb:58:in `instrument'
activesupport (7.2.2.1) lib/active_support/notifications.rb:210:in `instrument'
actionpack (7.2.2.1) lib/action_controller/metal/instrumentation.rb:76:in `process_action'
actionpack (7.2.2.1) lib/action_controller/metal/params_wrapper.rb:259:in `process_action'
activerecord (7.2.2.1) lib/active_record/railties/controller_runtime.rb:39:in `process_action'
actionpack (7.2.2.1) lib/abstract_controller/base.rb:163:in `process'
actionview (7.2.2.1) lib/action_view/rendering.rb:40:in `process'
rack-mini-profiler (3.3.1) lib/mini_profiler/profiling_methods.rb:89:in `block in profile_method'
actionpack (7.2.2.1) lib/action_controller/metal.rb:252:in `dispatch'
actionpack (7.2.2.1) lib/action_controller/metal.rb:335:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:67:in `dispatch'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:50:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:53:in `block in serve'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:133:in `block in find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `each'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:126:in `find_routes'
actionpack (7.2.2.1) lib/action_dispatch/journey/router.rb:34:in `serve'
actionpack (7.2.2.1) lib/action_dispatch/routing/route_set.rb:896:in `call'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
rack (2.2.13) lib/rack/tempfile_reaper.rb:15:in `call'
rack (2.2.13) lib/rack/conditional_get.rb:27:in `call'
rack (2.2.13) lib/rack/head.rb:12:in `call'
actionpack (7.2.2.1) lib/action_dispatch/http/permissions_policy.rb:38:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:415:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:26:in `call'
rack (2.2.13) lib/rack/session/abstract/id.rb:266:in `context'
rack (2.2.13) lib/rack/session/abstract/id.rb:260:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/cookies.rb:704:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
activesupport (7.2.2.1) lib/active_support/callbacks.rb:101:in `run_callbacks'
actionpack (7.2.2.1) lib/action_dispatch/middleware/callbacks.rb:30:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
logster (2.20.1) lib/logster/middleware/reporter.rb:40:in `call'
lib/middleware/default_headers.rb:13:in `call'
lograge (0.14.0) lib/lograge/rails_ext/rack/logger.rb:18:in `call_app'
railties (7.2.2.1) lib/rails/rack/logger.rb:29:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/request_id.rb:33:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
rack (2.2.13) lib/rack/method_override.rb:24:in `call'
rack (2.2.13) lib/rack/sendfile.rb:110:in `call'
plugins/discourse-prometheus/lib/middleware/metrics.rb:14:in `call'
rack-mini-profiler (3.3.1) lib/mini_profiler.rb:191:in `call'
lib/middleware/processing_request.rb:12:in `call'
message_bus (4.4.1) lib/message_bus/rack/middleware.rb:60:in `call'
lib/middleware/request_tracker.rb:385:in `call'
actionpack (7.2.2.1) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
rails_failover (2.2.0) lib/rails_failover/active_record/middleware.rb:67:in `block in call'
activerecord (7.2.2.1) lib/active_record/connection_handling.rb:376:in `with_role_and_shard'
activerecord (7.2.2.1) lib/active_record/connection_handling.rb:147:in `connected_to'
rails_failover (2.2.0) lib/rails_failover/active_record/middleware.rb:64:in `call'
rails_multisite (6.1.0) lib/rails_multisite/middleware.rb:26:in `call'
railties (7.2.2.1) lib/rails/engine.rb:535:in `call'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `public_send'
railties (7.2.2.1) lib/rails/railtie.rb:226:in `method_missing'
rack (2.2.13) lib/rack/urlmap.rb:74:in `block in call'
rack (2.2.13) lib/rack/urlmap.rb:58:in `each'
rack (2.2.13) lib/rack/urlmap.rb:58:in `call'
unicorn (6.1.0) lib/unicorn/http_server.rb:634:in `process_client'
unicorn (6.1.0) lib/unicorn/http_server.rb:739:in `worker_loop'
unicorn (6.1.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'
unicorn (6.1.0) lib/unicorn/http_server.rb:143:in `start'
unicorn (6.1.0) bin/unicorn:128:in `<top (required)>'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `load'
vendor/bundle/ruby/3.3.0/bin/unicorn:25:in `<main>'
3 curtidas