• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kibertoad / layered-loader / 27675885759
98%

Build:
DEFAULT BRANCH: main
Ran 17 Jun 2026 08:25AM UTC
Jobs 1
Files 28
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Jun 2026 08:25AM UTC coverage: 98.313% (-0.1%) from 98.413%
27675885759

push

github

web-flow
feat(sqs): triggers own subscription config so spread needs no workarounds (#405)

* feat(sqs): triggers own subscription config so spread needs no workarounds

A trigger is not a plain consumer: it owns its handlers, its subscription
filtering, and its lifecycle. Spreading a pre-resolved consumer-options object
(e.g. @lokalise/aws-config resolveConsumerOptions) into a trigger source forced
callers to hand-unset fields the resolver computed for a real consumer.

Two fixes remove those workarounds:

- AbstractSqsTrigger: only call the underlying consumer start() (which inits
  internally) instead of init() then start(). The previous double-init
  re-subscribed each queue, conflicting with subscription attributes (filter
  policy, redrive policy) applied on the first pass.

- buildSnsTriggerConsumerOptions: centrally strip the fields a trigger owns from
  the spread, instead of trusting callers to override them at every call site:
  the handler-derived subscription filter policy (subscriptionConfig.Attributes,
  defaults to accept-all) and a spread-in subscriptionDeadLetterQueue (trigger
  manages failures via the queue-level deadLetterQueue). Shared by the flat and
  group SNS triggers; exported for reuse.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(sqs): preserve subscription-level DLQ instead of dropping it

The double-init fix means a subscription DLQ no longer conflicts with the
trigger lifecycle, so there is no reason to strip it. Narrow the trigger's
subscription ownership to just the handler-derived filter policy:

- Strip only Attributes.FilterPolicy / FilterPolicyScope (the reject-all policy
  resolveConsumerOptions derives from empty handlers), preserving every other
  subscription attribute — notably Attributes.RedrivePolicy, the SNS
  subscription-level DLQ in the installed toolkit.
- Stop stripping a spread-in subscriptionDeadLetterQueue; let it flow through to
  the consumer (used by resolveConsumerOption... (continued)

347 of 364 branches covered (95.33%)

Branch coverage included in aggregate %.

644 of 644 relevant lines covered (100.0%)

123.16 hits per line

Jobs
ID Job ID Ran Files Coverage
1 27675885759.1 17 Jun 2026 08:25AM UTC 28
98.31
GitHub Action Run
Source Files on build 27675885759
  • Tree
  • List 28
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #27675885759
  • f2420376 on github
  • Prev Build on main (#27613166400)
  • Next Build on main (#27754524553)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc