Skip to content

Conversation

@TatevikGr
Copy link
Contributor

@TatevikGr TatevikGr commented Sep 10, 2025

Summary

  • create/update usermessage statuses
  • add maintenance mode check
  • add rate limiter
  • add time limiter

Unit test

vendor/bin/phpunit tests/

Thanks for contributing to phpList!

@TatevikGr TatevikGr changed the base branch from main to dev September 10, 2025 09:36
@TatevikGr TatevikGr merged commit fa42258 into dev Sep 17, 2025
6 checks passed
@TatevikGr TatevikGr deleted the message-processor branch September 17, 2025 08:19
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 <tatevikg1@gmail.com>

* Subscribepage (#353)

* subscriber page manager

* owner entity

* test

* ci fix

* getByPage data

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* Bounceregex manager (#354)

* BounceRegexManager

* Fix manager directory

* Prop name update admin -> adminId

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* Access level check (#358)

* OwnableInterface

* PermissionChecker

* Check related

* Register service + test

* Style fix

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* 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 <tatevikg1@gmail.com>

* rename template

* After review 0

* After review 1

* Fix MySql migrations

* After review 2

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* Import by foreign key (#367)

* Import with a foreign key

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* Insert initial admin command (#368)

* Update: codeRabbit configs

* Update: Use command for initial admin insert


---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>

* Update pull request template

---------

Co-authored-by: Tatevik <tatevikg1@gmail.com>
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