From 0856340267086ab03732068f137450159bc94243 Mon Sep 17 00:00:00 2001 From: Legion Date: Thu, 16 Apr 2026 19:50:40 -0500 Subject: [PATCH 1/5] fix remove invalid pattern DSL call from IssuesActor --- CHANGELOG.md | 4 ++++ lib/legion/extensions/github/absorbers/actor.rb | 1 - lib/legion/extensions/github/version.rb | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2841108..22c08f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +## [0.3.9] - 2026-04-17 +### Fixed +- Remove invalid `pattern 'github.issues.*'` DSL call from `IssuesActor` — `Actors::Subscription` subclasses do not have a `pattern` class method; the call raised `NoMethodError` every tick and spammed logs + ## [0.3.8] - 2026-04-15 ### Fixed diff --git a/lib/legion/extensions/github/absorbers/actor.rb b/lib/legion/extensions/github/absorbers/actor.rb index c9e5bf8..3c72c20 100644 --- a/lib/legion/extensions/github/absorbers/actor.rb +++ b/lib/legion/extensions/github/absorbers/actor.rb @@ -17,7 +17,6 @@ module Absorbers # Per Wire Protocol section 17, absorber queues follow the pattern: # lex.{lex_name}.absorbers.{absorber_name}.absorb class IssuesActor < Legion::Extensions::Actors::Subscription - pattern 'github.issues.*' def absorb(payload:, **) Legion::Extensions::Github::Absorbers::Issues.absorb(payload: payload) diff --git a/lib/legion/extensions/github/version.rb b/lib/legion/extensions/github/version.rb index f752b92..60f9e9c 100644 --- a/lib/legion/extensions/github/version.rb +++ b/lib/legion/extensions/github/version.rb @@ -3,7 +3,7 @@ module Legion module Extensions module Github - VERSION = '0.3.8' + VERSION = '0.3.9' end end end From c52ed8bc77393a2cce0ea3ef08659da5f9c19a10 Mon Sep 17 00:00:00 2001 From: Legion Date: Thu, 16 Apr 2026 19:56:58 -0500 Subject: [PATCH 2/5] fix remove orphan blank line causing RuboCop EmptyLinesAroundClassBody offense --- lib/legion/extensions/github/absorbers/actor.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/legion/extensions/github/absorbers/actor.rb b/lib/legion/extensions/github/absorbers/actor.rb index 3c72c20..bba2ac8 100644 --- a/lib/legion/extensions/github/absorbers/actor.rb +++ b/lib/legion/extensions/github/absorbers/actor.rb @@ -17,7 +17,6 @@ module Absorbers # Per Wire Protocol section 17, absorber queues follow the pattern: # lex.{lex_name}.absorbers.{absorber_name}.absorb class IssuesActor < Legion::Extensions::Actors::Subscription - def absorb(payload:, **) Legion::Extensions::Github::Absorbers::Issues.absorb(payload: payload) end From 474c2c573ca1a0f63bb5019356c2ab2c8f3b56fd Mon Sep 17 00:00:00 2001 From: Legion Date: Thu, 16 Apr 2026 20:03:44 -0500 Subject: [PATCH 3/5] fix use correct two-arg pattern DSL in IssuesActor --- lib/legion/extensions/github/absorbers/actor.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/legion/extensions/github/absorbers/actor.rb b/lib/legion/extensions/github/absorbers/actor.rb index bba2ac8..18c7e2d 100644 --- a/lib/legion/extensions/github/absorbers/actor.rb +++ b/lib/legion/extensions/github/absorbers/actor.rb @@ -17,6 +17,8 @@ module Absorbers # Per Wire Protocol section 17, absorber queues follow the pattern: # lex.{lex_name}.absorbers.{absorber_name}.absorb class IssuesActor < Legion::Extensions::Actors::Subscription + pattern :routing_key, 'github.issues.*' + def absorb(payload:, **) Legion::Extensions::Github::Absorbers::Issues.absorb(payload: payload) end From ac1ea19db1e3073080a6c08f969174cf081cb01a Mon Sep 17 00:00:00 2001 From: Legion Date: Thu, 16 Apr 2026 20:14:47 -0500 Subject: [PATCH 4/5] fix pattern call uses single-arg form matching Subscription DSL --- lib/legion/extensions/github/absorbers/actor.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/legion/extensions/github/absorbers/actor.rb b/lib/legion/extensions/github/absorbers/actor.rb index 18c7e2d..c9e5bf8 100644 --- a/lib/legion/extensions/github/absorbers/actor.rb +++ b/lib/legion/extensions/github/absorbers/actor.rb @@ -17,7 +17,7 @@ module Absorbers # Per Wire Protocol section 17, absorber queues follow the pattern: # lex.{lex_name}.absorbers.{absorber_name}.absorb class IssuesActor < Legion::Extensions::Actors::Subscription - pattern :routing_key, 'github.issues.*' + pattern 'github.issues.*' def absorb(payload:, **) Legion::Extensions::Github::Absorbers::Issues.absorb(payload: payload) From 96d5e6ba0d7e1604173ed849b0d7ebb947ff5ee6 Mon Sep 17 00:00:00 2001 From: Legion Date: Thu, 16 Apr 2026 20:15:45 -0500 Subject: [PATCH 5/5] fix update changelog entry to reflect actual fix --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22c08f9..1bef118 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ## [0.3.9] - 2026-04-17 ### Fixed -- Remove invalid `pattern 'github.issues.*'` DSL call from `IssuesActor` — `Actors::Subscription` subclasses do not have a `pattern` class method; the call raised `NoMethodError` every tick and spammed logs +- Fix `IssuesActor` pattern call to use the single-argument form `pattern 'github.issues.*'` — the two-argument form `pattern :routing_key, value` is only valid on `Absorbers::Base` subclasses; on `Actors::Subscription` subclasses the method accepts a single routing key string ## [0.3.8] - 2026-04-15