Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@muhammad-asghar-ali
Copy link
Contributor

@muhammad-asghar-ali muhammad-asghar-ali commented Oct 11, 2025

  • Added generic base package for all sender plugins to share common code
  • Plugins now only need to write their unique business logic, rest is handled by base
  • Upgrade Go version from 1.23 to 1.24 to support pubsub v2 dependency
  • Implement PubSub plugin to use this new base package
  • All common stuff like aio, workers, queues, metrics, start/stop moved to base
  • Each plugin just implements one Process() method for their specific work
  • Added tests for base package to ensure everything works properly
  • Makes adding new plugins much easier and faster

NOTE:

  • Migrate NATS plugin to use base package
  • Migrate SQS plugin to use base package

@codecov
Copy link

codecov bot commented Oct 11, 2025

Codecov Report

❌ Patch coverage is 67.39130% with 45 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.07%. Comparing base (16d4f72) to head (763ef32).

Files with missing lines Patch % Lines
internal/app/plugins/pubsub/pubsub.go 25.00% 36 Missing ⚠️
cmd/config/config.go 0.00% 6 Missing ⚠️
internal/app/subsystems/aio/sender/sender.go 78.57% 2 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #853      +/-   ##
==========================================
+ Coverage   49.90%   50.07%   +0.17%     
==========================================
  Files         126      128       +2     
  Lines       14487    14625     +138     
==========================================
+ Hits         7230     7324      +94     
- Misses       6774     6820      +46     
+ Partials      483      481       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dfarr
Copy link
Member

dfarr commented Oct 13, 2025

Once again thank you so much @muhammad-asghar-ali! This is going to help a lot, we actually want to move these plugins (pubsub, nats, sqs) into separate repos/packages to keep the dependencies in core resonate light.

I am going to look into how core resonate can import stuff dynamically, once I figure that out would be down to move the pubsub and nats PRs to independent repos? I can create those repos and then you can open up PRs.

@muhammad-asghar-ali
Copy link
Contributor Author

nce I figure that out w

Thanks for reviewing the PR and please let me know once you setup the independent repo

@dfarr
Copy link
Member

dfarr commented Oct 21, 2025

Hey @muhammad-asghar-ali, we have decided to hold off on merging additional plugins until we have the chance to implement #886.

Would it be possible for you to separate the generic base from the pubsub implementation? If so we could merge the generic base (and apply it poll, http, and sqs) right away, and only the pubsub implementation would be delayed until we have the plugin architecture in place.

@muhammad-asghar-ali
Copy link
Contributor Author

Hey @muhammad-asghar-ali, we have decided to hold off on merging additional plugins until we have the chance to implement #886.

Would it be possible for you to separate the generic base from the pubsub implementation? If so we could merge the generic base (and apply it poll, http, and sqs) right away, and only the pubsub implementation would be delayed until we have the plugin architecture in place.

Hey @dfarr thanks for reviewing, and yes we can separate the generic base from pubsub and also conversation of http, poll and sqs.

@dfarr dfarr changed the title Generic Base Plugin and Pubsub plugin Sender plugin: Pubsub Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants