# Tag Intersection Navigator

**URL:** <https://meta.discourse.org/t/tag-intersection-navigator/368815>\
**Category:** Plugin\
**Created:** [June 4, 2025, 9:20am UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815 "2025-06-04T09:20:40Z")\
**Posts on this page:** 1\
**Showing post:** 24

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [February 11, 2026, 6:35pm UTC](https://meta.discourse.org/t/tag-intersection-navigator/368815/24 "2026-02-11T18:35:02Z")

</div>

I upgraded forum and now clicking tags give error 500.

Just FYI: The log shows these

> **info**
>
> NoMethodError (undefined method ‘force\_encoding’ for nil)  
> app/controllers/application\_controller.rb:442:in ‘block in ApplicationController#with\_resolved\_locale’  
> app/controllers/application\_controller.rb:442:in ‘ApplicationController#with\_resolved\_locale’  
> app/controllers/application\_controller.rb:1088:in ‘ApplicationController#ensure\_dont\_cache\_page’  
> lib/middleware/omniauth\_bypass\_middleware.rb:35:in ‘Middleware::OmniauthBypassMiddleware#call’  
> lib/middleware/crawler\_hooks.rb:11:in ‘Middleware::CrawlerHooks#call’  
> lib/content\_security\_policy/middleware.rb:12:in ‘ContentSecurityPolicy::Middleware#call’  
> lib/middleware/anonymous\_cache.rb:418:in ‘Middleware::AnonymousCache#call’  
> lib/middleware/csp\_script\_nonce\_injector.rb:12:in ‘Middleware::CspScriptNonceInjector#call’  
> config/initializers/008-rack-cors.rb:14:in ‘Discourse::Cors#call’  
> lib/middleware/default\_headers.rb:13:in ‘Middleware::DefaultHeaders#call’  
> config/initializers/100-quiet\_logger.rb:20:in ‘DiscourseRackQuietAssetsLogger#call’  
> config/initializers/100-silence\_logger.rb:29:in ‘SilenceLogger#call’  
> lib/middleware/enforce\_hostname.rb:23:in ‘Middleware::EnforceHostname#call’  
> lib/middleware/request\_tracker.rb:321:in ‘Middleware::RequestTracker#call’  
> lib/middleware/overload\_protections.rb:22:in ‘Middleware::OverloadProtections#call’  
> lib/middleware/processing\_request.rb:14:in ‘Middleware::ProcessingRequest#call’

> **backtrace**
>
> plugins/discourse-tag-intersection-navigator/lib/discourse\_tag\_intersection\_navigator/tags\_controller\_extension.rb:17:in ‘block (2 levels) in module:TagsControllerExtension’
> 
> plugins/discourse-tag-intersection-navigator/lib/discourse\_tag\_intersection\_navigator/tags\_controller\_extension.rb:10:in ‘DiscourseTagIntersectionNavigator::TagsControllerExtension#show’
> 
> actionpack (8.0.4) lib/action\_controller/metal/basic\_implicit\_render.rb:8:in ‘ActionController::BasicImplicitRender#send\_action’
> 
> actionpack (8.0.4) lib/abstract\_controller/base.rb:215:in ‘AbstractController::Base#process\_action’
> 
> actionpack (8.0.4) lib/action\_controller/metal/rendering.rb:193:in ‘ActionController::Rendering#process\_action’
> 
> actionpack (8.0.4) lib/abstract\_controller/callbacks.rb:261:in ‘block in AbstractController::Callbacks#process\_action’
> 
> activesupport (8.0.4) lib/active\_support/callbacks.rb:120:in ‘block in ActiveSupport::Callbacks#run\_callbacks’
> 
> app/controllers/application\_controller.rb:442:in ‘block in ApplicationController#with\_resolved\_locale’
> 
> i18n (1.14.7) lib/i18n.rb:353:in ‘I18n::Base#with\_locale’
> 
> app/controllers/application\_controller.rb:442:in ‘ApplicationController#with\_resolved\_locale’
> 
> activesupport (8.0.4) lib/active\_support/callbacks.rb:129:in ‘block in ActiveSupport::Callbacks#run\_callbacks’
> 
> app/controllers/application\_controller.rb:1088:in ‘ApplicationController#ensure\_dont\_cache\_page’
> 
> activesupport (8.0.4) lib/active\_support/callbacks.rb:129:in ‘block in ActiveSupport::Callbacks#run\_callbacks’
> 
> activesupport (8.0.4) lib/active\_support/callbacks.rb:140:in ‘ActiveSupport::Callbacks#run\_callbacks’
> 
> actionpack (8.0.4) lib/abstract\_controller/callbacks.rb:260:in ‘AbstractController::Callbacks#process\_action’
> 
> actionpack (8.0.4) lib/action\_controller/metal/rescue.rb:27:in ‘ActionController::Rescue#process\_action’
> 
> actionpack (8.0.4) lib/action\_controller/metal/instrumentation.rb:76:in ‘block in ActionController::Instrumentation#process\_action’
> 
> activesupport (8.0.4) lib/active\_support/notifications.rb:210:in ‘block in ActiveSupport::Notifications.instrument’
> 
> activesupport (8.0.4) lib/active\_support/notifications/instrumenter.rb:58:in ‘ActiveSupport::Notifications::Instrumenter#instrument’
> 
> activesupport (8.0.4) lib/active\_support/notifications.rb:210:in ‘ActiveSupport::Notifications.instrument’
> 
> actionpack (8.0.4) lib/action\_controller/metal/instrumentation.rb:75:in ‘ActionController::Instrumentation#process\_action’
> 
> actionpack (8.0.4) lib/action\_controller/metal/params\_wrapper.rb:259:in ‘ActionController::ParamsWrapper#process\_action’
> 
> activerecord (8.0.4) lib/active\_record/railties/controller\_runtime.rb:39:in ‘ActiveRecord::Railties::ControllerRuntime#process\_action’
> 
> actionpack (8.0.4) lib/abstract\_controller/base.rb:152:in ‘AbstractController::Base#process’
> 
> actionview (8.0.4) lib/action\_view/rendering.rb:40:in ‘ActionView::Rendering#process’
> 
> actionpack (8.0.4) lib/action\_controller/metal.rb:252:in ‘ActionController::Metal#dispatch’
> 
> actionpack (8.0.4) lib/action\_controller/metal.rb:335:in ‘ActionController::Metal.dispatch’
> 
> actionpack (8.0.4) lib/action\_dispatch/routing/route\_set.rb:67:in ‘ActionDispatch::Routing::RouteSet::Dispatcher#dispatch’
> 
> actionpack (8.0.4) lib/action\_dispatch/routing/route\_set.rb:50:in ‘ActionDispatch::Routing::RouteSet::Dispatcher#serve’
> 
> actionpack (8.0.4) lib/action\_dispatch/journey/router.rb:53:in ‘block in ActionDispatch::Journey::Router#serve’
> 
> actionpack (8.0.4) lib/action\_dispatch/journey/router.rb:133:in ‘block in ActionDispatch::Journey::Router#find\_routes’
> 
> actionpack (8.0.4) lib/action\_dispatch/journey/router.rb:126:in ‘Array#each’
> 
> actionpack (8.0.4) lib/action\_dispatch/journey/router.rb:126:in ‘ActionDispatch::Journey::Router#find\_routes’
> 
> actionpack (8.0.4) lib/action\_dispatch/journey/router.rb:34:in ‘ActionDispatch::Journey::Router#serve’
> 
> actionpack (8.0.4) lib/action\_dispatch/routing/route\_set.rb:908:in ‘ActionDispatch::Routing::RouteSet#call’
> 
> lib/middleware/omniauth\_bypass\_middleware.rb:35:in ‘Middleware::OmniauthBypassMiddleware#call’
> 
> plugins/discourse-reach-and-rights/lib/discourse\_reach\_and\_rights/request\_cache\_middleware.rb:10:in ‘DiscourseReachAndRights::RequestCacheMiddleware#call’
> 
> lib/middleware/crawler\_hooks.rb:11:in ‘Middleware::CrawlerHooks#call’
> 
> rack (2.2.21) lib/rack/tempfile\_reaper.rb:15:in ‘Rack::TempfileReaper#call’
> 
> rack (2.2.21) lib/rack/conditional\_get.rb:27:in ‘Rack::ConditionalGet#call’
> 
> rack (2.2.21) lib/rack/head.rb:12:in ‘Rack::Head#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/http/permissions\_policy.rb:38:in ‘ActionDispatch::PermissionsPolicy::Middleware#call’
> 
> lib/content\_security\_policy/middleware.rb:12:in ‘ContentSecurityPolicy::Middleware#call’
> 
> lib/middleware/anonymous\_cache.rb:418:in ‘Middleware::AnonymousCache#call’
> 
> lib/middleware/csp\_script\_nonce\_injector.rb:12:in ‘Middleware::CspScriptNonceInjector#call’
> 
> config/initializers/008-rack-cors.rb:14:in ‘Discourse::Cors#call’
> 
> rack (2.2.21) lib/rack/session/abstract/id.rb:266:in ‘Rack::Session::Abstract::Persisted#context’
> 
> rack (2.2.21) lib/rack/session/abstract/id.rb:260:in ‘Rack::Session::Abstract::Persisted#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/cookies.rb:706:in ‘ActionDispatch::Cookies#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/callbacks.rb:31:in ‘block in ActionDispatch::Callbacks#call’
> 
> activesupport (8.0.4) lib/active\_support/callbacks.rb:100:in ‘ActiveSupport::Callbacks#run\_callbacks’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/callbacks.rb:30:in ‘ActionDispatch::Callbacks#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/debug\_exceptions.rb:31:in ‘ActionDispatch::DebugExceptions#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/show\_exceptions.rb:32:in ‘ActionDispatch::ShowExceptions#call’
> 
> logster (2.20.1) lib/logster/middleware/reporter.rb:40:in ‘Logster::Middleware::Reporter#call’
> 
> lib/middleware/default\_headers.rb:13:in ‘Middleware::DefaultHeaders#call’
> 
> railties (8.0.4) lib/rails/rack/logger.rb:41:in ‘Rails::Rack::Logger#call\_app’
> 
> railties (8.0.4) lib/rails/rack/logger.rb:29:in ‘Rails::Rack::Logger#call’
> 
> config/initializers/100-quiet\_logger.rb:20:in ‘DiscourseRackQuietAssetsLogger#call’
> 
> config/initializers/100-silence\_logger.rb:29:in ‘SilenceLogger#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/request\_id.rb:34:in ‘ActionDispatch::RequestId#call’
> 
> lib/middleware/enforce\_hostname.rb:23:in ‘Middleware::EnforceHostname#call’
> 
> rack (2.2.21) lib/rack/method\_override.rb:24:in ‘Rack::MethodOverride#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/executor.rb:16:in ‘ActionDispatch::Executor#call’
> 
> rack (2.2.21) lib/rack/sendfile.rb:127:in ‘Rack::Sendfile#call’
> 
> message\_bus (4.4.1) lib/message\_bus/rack/middleware.rb:60:in ‘MessageBus::Rack::Middleware#call’
> 
> lib/middleware/request\_tracker.rb:321:in ‘Middleware::RequestTracker#call’
> 
> actionpack (8.0.4) lib/action\_dispatch/middleware/remote\_ip.rb:96:in ‘ActionDispatch::RemoteIp#call’
> 
> lib/middleware/overload\_protections.rb:22:in ‘Middleware::OverloadProtections#call’
> 
> lib/middleware/processing\_request.rb:14:in ‘Middleware::ProcessingRequest#call’
> 
> railties (8.0.4) lib/rails/engine.rb:535:in ‘Rails::Engine#call’
> 
> railties (8.0.4) lib/rails/railtie.rb:226:in ‘Kernel#public\_send’
> 
> railties (8.0.4) lib/rails/railtie.rb:226:in ‘Rails::Railtie.method\_missing’
> 
> rack (2.2.21) lib/rack/urlmap.rb:74:in ‘block in Rack::URLMap#call’
> 
> rack (2.2.21) lib/rack/urlmap.rb:58:in ‘Array#each’
> 
> rack (2.2.21) lib/rack/urlmap.rb:58:in ‘Rack::URLMap#call’
> 
> rack (2.2.21) lib/rack/tempfile\_reaper.rb:15:in ‘Rack::TempfileReaper#call’
> 
> pitchfork (0.18.1) lib/pitchfork/chunked.rb:105:in ‘Pitchfork::Chunked#call’
> 
> rack (2.2.21) lib/rack/content\_length.rb:17:in ‘Rack::ContentLength#call’
> 
> pitchfork (0.18.1) lib/pitchfork/http\_server.rb:867:in ‘Pitchfork::HttpServer#process\_client’
> 
> pitchfork (0.18.1) lib/pitchfork/http\_server.rb:1015:in ‘Pitchfork::HttpServer#worker\_loop’
> 
> pitchfork (0.18.1) lib/pitchfork/http\_server.rb:616:in ‘block in Pitchfork::HttpServer#spawn\_worker’
> 
> pitchfork (0.18.1) lib/pitchfork/http\_server.rb:1219:in ‘block in Pitchfork::HttpServer#fork\_sibling’
> 
> pitchfork (0.18.1) lib/pitchfork.rb:174:in ‘block in Pitchfork.clean\_fork’
> 
> pitchfork (0.18.1) lib/pitchfork.rb:172:in ‘Kernel#catch’
> 
> pitchfork (0.18.1) lib/pitchfork.rb:172:in ‘Pitchfork.clean\_fork’
> 
> pitchfork (0.18.1) lib/pitchfork/http\_server.rb:690:in 'Pitchfork::HttpServer#sp

---

_[View the full topic](https://meta.discourse.org/t/tag-intersection-navigator/368815)._
