Skip to content

Conversation

@TatevikGr
Copy link
Contributor

@TatevikGr TatevikGr commented Oct 13, 2025

Summary

  • move bounce processing logic (which is saving to DB in services too) out of domain folder
  • move all DB flushes into command and workers only

Unit test

Are your changes covered with unit tests, and do they not break anything?

You can run the existing unit tests using this command:

vendor/bin/phpunit tests/

Code style

Have you checked that you code is well-documented and follows the PSR-2 coding
style?

You can check for this using this command:

vendor/bin/phpcs --standard=PSR2 src/ tests/

Other Information

If there's anything else that's important and relevant to your pull
request, mention that information here. This could include benchmarks,
or other information.

If you are updating any of the CHANGELOG files or are asked to update the
CHANGELOG files by reviewers, please add the CHANGELOG entry at the top of the file.

Thanks for contributing to phpList!

@TatevikGr TatevikGr force-pushed the em-flush branch 5 times, most recently from 8e63f1a to e1e9471 Compare October 14, 2025 12:51
@TatevikGr TatevikGr merged commit 6932106 into dev Oct 22, 2025
7 checks passed
@TatevikGr TatevikGr deleted the em-flush branch October 22, 2025 09:44
TatevikGr added a commit that referenced this pull request Nov 5, 2025
…essor (#357)

* Blacklist (#352)

* Blacklisted

* user repository methods

* fix configs

* add test

* fix: phpmd

* fix: repo configs

* return a created resource

---------

Co-authored-by: Tatevik <[email protected]>

* Subscribepage (#353)

* subscriber page manager

* owner entity

* test

* ci fix

* getByPage data

---------

Co-authored-by: Tatevik <[email protected]>

* Bounceregex manager (#354)

* BounceRegexManager

* Fix manager directory

* Prop name update admin -> adminId

---------

Co-authored-by: Tatevik <[email protected]>

* Bounce processing command (#355)

* BounceManager

* Add bounce email

* Move to the processor dir

* SendProcess lock service

* ClientIp + SystemInfo

* ProcessBouncesCommand

* ProcessBouncesCommand all methods

* BounceProcessingService

* AdvancedBounceRulesProcessor

* UnidentifiedBounceReprocessor

* ConsecutiveBounceHandler

* Refactor

* BounceDataProcessor

* ClientFactory + refactor

* BounceProcessorPass

* Register services + phpstan fix

* PhpMd

* PhpMd CyclomaticComplexity

* PhpCodeSniffer

* Tests

* Refactor

* Add tests

* More tests

* Fix tests

---------

Co-authored-by: Tatevik <[email protected]>

* EventLog + translator (#356)

* EventLogManager

* Log failed logins + translate messages

* weblate

* test fix

* Use translations

* Fix pipeline

* Weblate

* Deprecate DB translation table

---------

Co-authored-by: Tatevik <[email protected]>

* Access level check (#358)

* OwnableInterface

* PermissionChecker

* Check related

* Register service + test

* Style fix

---------

Co-authored-by: Tatevik <[email protected]>

* Message processor (#359)

* MessageStatusEnum

* Status validate

* Embargo check

* IspRestrictions

* IspRestrictions

* SendRateLimiter

* UserMessageStatus

* Refactor

* RateLimitedCampaignMailer

* RateLimitedCampaignMailerTest

* Rate limit initialized from history

* Check maintenance mode

* Max processing time limiter

---------

Co-authored-by: Tatevik <[email protected]>

* Exceptions + translations (#361)

* MissingMessageIdException

* MailboxConnectionException

* BadMethodCallException (style fix)

* Translate user facing messages

* Translate

* Translate PasswordResetMessageHandler texts

* Translate SubscriberConfirmationMessageHandler texts

* MessageBuilder exceptions

* BlacklistEmailAndDeleteBounceHandler

* BlacklistEmailHandler - AdvancedBounceRulesProcessor

* AdvancedBounceRulesProcessor

* BounceStatus

* CampaignProcessor

* UnidentifiedBounceReprocessor

* Style fix

* Test fix

* ConsecutiveBounceHandler

---------

Co-authored-by: Tatevik <[email protected]>

* Fix autowiring

* Reset subscriber bounce count

* Install RssFeedBundle

* Update import logic, add dynamic attribute repository (#362)

* Skip password and modified fields while import, do not subscribe blacklisted users

* DefaultConfigProvider

* Use ConfigProvider in ProcessQueueCommand

* Use ConfigProvider in SubscriberCsvImporter + send email

* Rename paramProvider

* Test fix

* AttributeValueProvider for dynamic tables

* Update: config provider

* Translations in default configs

* Email with messageHandler

* Style fix

* PhpCs fix

* Fix configs

* replace list names

* Add tests + fix

* Add more tests + fix handler

---------

Co-authored-by: Tatevik <[email protected]>

* Refactor import add subscriber history (#363)

* Add blacklisted stat to import result

* Add history

* Add translations

* addHistory for unconfirmed

* Refactor

* Add changeSetDto

* Do not send email on creating without any list

* Flush in controller

* Add test

---------

Co-authored-by: Tatevik <[email protected]>

* Em flush (#364)

* createSubscriberList

* ProcessQueueCommand

* Dispatch CampaignProcessorMessage for processing

* Fix tests

* Fix style

* CleanUpOldSessionTokens

* Move bounce processing into the Bounce folder

* delete/remove

* Remove hardcoded TatevikGrRssBundle mapping

* Fix configs

* Add sync

* Fix: DQL in MessageRepository.php

* PhpMD

* SubscriberBlacklistService, SubscriberBlacklistManager

* AdministratorManager

* BounceManager

* SendProcessManager

* TemplateManager

* SubscribePageManager

* Fix: tests

* BounceManager

* rest of flushes

* save

* fix test

* CouplingBetweenObjects 15

---------

Co-authored-by: Tatevik <[email protected]>

* Add test

* Update: docs

* Migrations (mysql psql) (#366)

* OnlyOrmTablesFilter

* Current

* Admin

* Init migration

* In progress

* Fix mapping

* Fix tests

* Migrate

* Separate MySql

* Use psql

* Rename indexes

* PostgreSqlPlatform

* MySqlSqlPlatform rename indexes

* Fix: cs

* Fix: test configs

* Add migration template

* PR agent (#365)

* .coderabbit.yaml

This reverts commit 2246e49.

---------

Co-authored-by: Tatevik <[email protected]>

* rename template

* After review 0

* After review 1

* Fix MySql migrations

* After review 2

---------

Co-authored-by: Tatevik <[email protected]>

* Import by foreign key (#367)

* Import with a foreign key

---------

Co-authored-by: Tatevik <[email protected]>

* Insert initial admin command (#368)

* Update: codeRabbit configs

* Update: Use command for initial admin insert


---------

Co-authored-by: Tatevik <[email protected]>

* Update pull request template

---------

Co-authored-by: Tatevik <[email protected]>
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.

3 participants