New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add command to unfollow inactive members #214
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Member
thierrymarianne
commented
Dec 8, 2020
•
edited
edited
thierrymarianne
added a commit
that referenced
this pull request
Jun 22, 2022
* Fix path to highlights (#169) * v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms * Serve subscriptions of authenticated member requesting them * Remove .htaccess file * Update permissions * Expose route to refresh the profile of members by providing their usernames * Exclude members marked as suspended or not found * Consider unsubscriptions when listing member subscriptions * Exclude protected members when fetching member subscriptions * Paginate member subscriptions * Cache member subscriptions * Extract method to update total statuses of aggregates * Allow to filter member subscription by list * Fix cache key * Add route to collect member subscription statuses * Prevent absence of records for a given time range to produce timely status messages * Deduplicate records * Fix identifier column * Add model representing publication frequencies * Alter column type (from string to text) * Add Sample entity to group publication frequencies * Revise relationship between members and their publication frequency * Add member identity model * Include screen_name column in index of "weaving_aggregate" * Ensure collation of aggregate table * Add StatusIdentity model * Add foreign keys to status and archived status to status identity * Add shortcut command to build MySQL container * Remove blackfire from PHP script requirement * Fix MySQL container provisioning script * Update database server configuration for replication * Add notes related to fresh server provisioning * Add extra-queries to initialize container * Fix RabbitMQ commands order * Remove extra privileges granting queries * Ensure test database is created when initializing MySQL container * Extract functions from MySQL provisioning commands * Restore test parameters (consumed by circle CI) * Add shortcut commands to run MySQL master or slave server (#5) Add shortcut commands to run MySQL master or slave server Deduce container name from location in filesystem Fix shortcut command executed to remove running database container Fix MySQL slave server configuration Update MySQL Dockerfile and configuration files Use read param on slave server Start maria database instead of mysql Upgrade maria database Fix use of configuration file variable Update configuration file * Decrease innodb buffer pool instances and buffer pool size from slave server (#6) * v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports * Fix extension of monitoring logs * Add datadog tracing extension to php-fpm container (#172) * Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) * Remove decoration configuration file * Let PHP-FPM container write to standard output * Always restart redis container * Ensure that not finding a member would not prevent publication of messages for the following members (#8) * Alter environmemnt variables prefixes * Prevent mounting of optional directory from breaking "docker run" command (PHP-FPM) * Ensure apcu is available as PHP extension * Replace network copied from forked project * Import sane default for xdebug by default * Extract logic to cache response or prevent caching * Add documentation entry about importing network * v1.22.0 (#9) Fix how method can be called Revise how member subscriptions are sorted by default * v1.23.0 (#10) Fix case when no status is found about a topic Add documentation about how to search for statuses related to a topic * Build apache container if not available in development environment * Update Apache/PHP/PHP-FPM dockerfiles for compatibility with PHP 7.3 * Ensure virtual network exists before running web server * Revise default network host * Revise default project directory * Revise default project directory * Fix mistakes detected with shellcheck * Rename PHP FPM configuration file * Revise shortcut command to set up AMQP queues * Revise default network host * Save active directory before running rabbitmq container * Wait for RabbitMQ before make attempt to install application dependencies * Add command to set ACL * Revise ACL * Revise server name (in apache configuration file) * Add function to set ACL * Rename virtualhost name * Fix paths to xdebug extension * Revise xdebug configuration files * Catch exceptions raised when handling HTTP request * Last attempt to fix permissions * Add healthcheck route to prevent being surprised by failing database * Rename functions script to console * Revise how names of docker container and docker image are retrieved * Fix command to run redis server * Add command to clear cache of application backend (API) * Enable navigation from member subscription to aggregate * As a member, I can access highlights related to my subscriptions. (#11) Revise relationship between aggregate and member aggregate subscription Remove unused relationships and properties Revise relationship between aggregate and member aggregate subscription Fix relationship between aggregate and member aggregate subscription (issue related to https://stackoverflow.com/a/47985478/282073) Make attempt to fix tests by upgrading MySQL to 5.7.x Upgrade minimal requirement Fix paths to xdebug Fix design issues Upgrade required version of PHP to 7.3 Upgrade base OS to bionic to inherit from PHP v7.3.x Upgrade base OS to bionic to inherit from PHP v7.3.x Install rabbitmq with apt addon @see https://docs.travis-ci.com/user/reference/bionic/#php-support @see https://travis-ci.community/t/rabbitmq-on-xenial/1827/2 * Deduplicate member aggregates (#12) Ensure no duplicated member aggregates are sent for administrative routes Ignore PHP extension configuration files * Fix front controller (#13) Import DevObs logotype Exit on error from front controller * Remove deprecated picture (#14) * Revise discovery of a member network (#15) Clean code style Apply code style Add shortcut command to import the network of a member Add shortcut command to import the network of a member Fix documentation covering member network import Revise command namespace (having an impact on how log files are handled) Make sourcing of scripts relying on relative paths more explicit Rename functions, files and documentation to better reflect intents Remove misleading comments, fix class imports and method signature Repair CLI entry points sourcing a file, which has been renamed... Revert breaking changes affecting network discovery Replace scheduling of network discovery with network discovery initialization Revise member interface to highlight relationship with microblogging platform (a.k.a. Twitter) Revise docblocks and methods signatures to enforce types Introduce falsum class as a representation of bottom type Revise docblocks and instructions validating types at runtime Fix command executed to purge AMQP queues Revise extension of member interface to reflect specialization Remove unused binaries and add them to git ignore list Add command to rely on Symfony security checker to figure which dependencies are vulnerable Clean function called to run PHP script from container container based on official PHP images Fix Twitter member interface to reflect the signature of its implementations Remove deprecated composer binary Add git to PHP docker image (required by composer) Mount volume matching composer cache directory when running php container Fix format of PHP version (platform config / require sections) Fix function ensuring rabbitmq container is ready Limit consumption of memory to 1Gb when running PHP container Add commands to require a PHP vendor package and another one to remove a PHP vendor package Rename vendor package by using their lowercase counterpart names Implement twitter member interface instead of member interface Ensure member has twitter id before using it as comparison reference Rename command to add PHP dependency Let symfony/symfony be updated by composer Add step for security check to continuous integration build Remove composer.lock Make attempt to disable xdebug extension Make attempt to disable xdebug extension Remove unnecessary PHP extension requirements Remove unnecessary PHP extension requirements Add pdo extension to PHP docker image Increase memory limit to install dependencies after having removed composer.lock Require GitHub personal access token to install PHP dependencies Add verbosity to requirement addition command Update composer.lock to reflect security advisories Fix commamd to check security Remove security checker from version control Increase memory limit to add a dependency Set monolog version explicitly * Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode * As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection * Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore * As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type * As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher * Add unavailable resource handler (#179) * Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile * Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence * Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema * Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization * Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers * Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection * Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface * As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights * As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes * As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile * Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list * As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route * As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts * As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) * As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock * Persist publication list collection event (#195) * As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests * Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id * Fix time limit * Remove sleep command * Add time limit to message handling script * As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends * Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) * Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint * As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists * As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed * Fix dispatch of fetch publication message (#203) * Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor * Guard against token freeze (#205) Type hint publication strategy Guard against token freeze * Remove infinite recursion because of token having fixed frozen date (#206) * Fix infinite recursion (#207) * Fix traversal of publication lists (#208) * Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands * Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around * Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file * Remove Travis badge from README doc * Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list * Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection * Add command to unfollow inactive members (#214) * Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` * Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees * Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members * Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller * Upgrade dependencies * Configure cache warmup script with composer * Add security related dependency * Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency * Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context * Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters * Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations * Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit * Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member * Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit * Ensure fetch news publication messages handler is executed during a minimum time (#228) * Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages * Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages * Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response * Ensure healthcheck route is available to anonymous visitors (#232) * Prevent closing database connection after handling messages (#233) * Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production * Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Overall clean up Import symlinks to vendor console apps Clean up app architecture and configuration Add pdo_pgsql and libpq-dev packages to docker images requiring PHP and its extensions See docker-library/php#221 Deduplicate indices having same names Remove fetch likes amqp messages handling Prevent absence of valid database connection to fail container compilation Remove write database configuration Add missing gitignore files to preserve operational directories Add mkcert as requirement to generate TLS certificates Update dependencies Ensure logs files exists when configuring Apache virtual host Update shortcut commands and documentation (README) Import sample queries to grant access to a test database Fix misleading trait interface Add reverse-proxy to development stack Revise PostgreSQL username and password for continuous integration See https://docs.cloudbees.com/docs/cloudbees-codeship/latest/basic-databases/postgresql Do not require mysqli anymore Remove service and parameters configuration file dedicated to quality assurance Fix command executed to remove database migrations scripts Ensure avatar property is a string (member entity) Fix test compatibility with PostgreSQL Fix implementation of search params interface Add continuous integration badge
thierrymarianne
added a commit
that referenced
this pull request
Jun 23, 2022
… worker branch (#96) * Fix path to highlights (#169) * v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms * v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports * Fix extension of monitoring logs * Add datadog tracing extension to php-fpm container (#172) * Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) * Remove decoration configuration file * Let PHP-FPM container write to standard output * Always restart redis container * Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode * As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection * Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore * As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type * As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher * Add unavailable resource handler (#179) * Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile * Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence * Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema * Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization * Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers * Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection * Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface * As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights * As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes * As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile * Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list * As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route * As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts * As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) * As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock * Persist publication list collection event (#195) * As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests * Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id * Fix time limit * Remove sleep command * Add time limit to message handling script * As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends * Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) * Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint * As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists * As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed * Fix dispatch of fetch publication message (#203) * Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor * Guard against token freeze (#205) Type hint publication strategy Guard against token freeze * Remove infinite recursion because of token having fixed frozen date (#206) * Fix infinite recursion (#207) * Fix traversal of publication lists (#208) * Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands * Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around * Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file * Remove Travis badge from README doc * Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list * Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection * Add command to unfollow inactive members (#214) * Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` * Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees * Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members * Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller * Upgrade dependencies * Configure cache warmup script with composer * Add security related dependency * Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency * Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context * Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters * Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations * Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit * Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member * Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit * Ensure fetch news publication messages handler is executed during a minimum time (#228) * Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages * Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages * Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response * Ensure healthcheck route is available to anonymous visitors (#232) * Prevent closing database connection after handling messages (#233) * Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production * Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports * Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network * Renamed docker compose configuration file * Allowed overriding docker compose configuration file * Added guard condition to exit earlier when project name is missing * Lint shell script with shfmt * Add git exclude rule for run directory * Revise default database logging configuration * Add git exclude rule for log directory * Hardcode project name for additional safety * Remove hardcoded use of external network from main docker compose configuration file * Remove network block from each service definition * Remove ports opened by default from localhost * Replaced docker-compose with docker compose command * Replaced docker-compose with docker compose command * Upgrade base worker image * Disabled xdebug by default * Forward PROJECT_NAME when running php script * Disabled query cache * v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Renamed method Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](guzzle/guzzle@7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Co-authored-by: Thierry Marianne <thierrymarianne@users.noreply.github.com>
thierrymarianne
added a commit
that referenced
this pull request
Jul 6, 2022
Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Bring back fixes applied when merging v3.1.0 into revue de presse.org worker branch (#96) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher Add unavailable resource handler (#179) Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock Persist publication list collection event (#195) As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id Fix time limit Remove sleep command Add time limit to message handling script As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed Fix dispatch of fetch publication message (#203) Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor Guard against token freeze (#205) Type hint publication strategy Guard against token freeze Remove infinite recursion because of token having fixed frozen date (#206) Fix infinite recursion (#207) Fix traversal of publication lists (#208) Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file Remove Travis badge from README doc Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection Add command to unfollow inactive members (#214) Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller Upgrade dependencies Configure cache warmup script with composer Add security related dependency Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit Ensure fetch news publication messages handler is executed during a minimum time (#228) Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response Ensure healthcheck route is available to anonymous visitors (#232) Prevent closing database connection after handling messages (#233) Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network Renamed docker compose configuration file Allowed overriding docker compose configuration file Added guard condition to exit earlier when project name is missing Lint shell script with shfmt Add git exclude rule for run directory Revise default database logging configuration Add git exclude rule for log directory Hardcode project name for additional safety Remove hardcoded use of external network from main docker compose configuration file Remove network block from each service definition Remove ports opened by default from localhost Replaced docker-compose with docker compose command Upgrade base worker image Disabled xdebug by default Forward PROJECT_NAME when running php script Disabled query cache v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Co-authored-by: Thierry Marianne <thierrymarianne@users.noreply.github.com> Remove Doctrine Fixtures Bundle (#97) Removed doctrine/doctrine-fixtures-bundle Prevent log directory from being group-writable Regenerate composer.lock Restore monolog JSON formatter [https://symfony.com/doc/5.4/logging/formatter.html](https://symfony.com/doc/5.4/logging/formatter.html) Rename non-existing property (twitterList) (#98) Renamed aggregate to Twitter list What is an aggregate, anyway? What was I thinking 🤔 Renamed soft-properties properties ℹ Database column renamed would be expected at some point Remove redundant comments Declare join-column for Twitter List Chasing bug affecting how access token are handled (#99) Chase long-lived bug affecting how API access token are handled Prevent log directory from being group-writable Revised from where AMQP messages are dispatched Rename publication to tweet and collect decider to curator Remove unnecessary check Lint yaml section Rename collect decider to curator Remove redundant comments Remove old reference to Sir Tim Berners-Lee book See [Weaving the Web](https://www.w3.org/People/Berners-Lee/Weaving/) Rename services previously deprecated Use logger configured with twitter_api as channel Moved AMQP message handler service definition Fixed MemberRepository service namespace Removed all HTTP controller except for (Twitter) list controller Removed request validation trait Removed list controller, exception and service definition Removed http authenticator class, service definition and related exception class Removed all routes definitions except for highlights and healtcheck routes Removed services, bundles and parameters definition files Configure messenger component via framework bundle Removed highlights and healthcheck HTTP routes definitions Removed parameters which are no more required Lint yaml section Sort services Restore Twitter API services Remove route and route collection interfaces Remove routing-related entity and repository Remove popular publication repository Context class and test was written with bdd (behavior-driven development) in mind at the time of writing. Moved class holding search params Optimize imports Moved search params interface under Twitter API namespace Removed data fixtures class Fixed property typing Remove redundant comments Optimize imports Fixed property typing Use named param instead of unused variable Remove duplicated command Remove duplicated entity Fixed property typing and remove unnecessary comments Rename press media to media shareholders Rename all the things Extract Membership namespace out of Twitter namespace Move command providign basic recommendations Fixed media shareholders namespaceRename console command to import French Media shareholders [Médias français : …
thierrymarianne
added a commit
that referenced
this pull request
Jul 6, 2022
* Merge changes back from upstream (#132) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher Add unavailable resource handler (#179) Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock Persist publication list collection event (#195) As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id Fix time limit Remove sleep command Add time limit to message handling script As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed Fix dispatch of fetch publication message (#203) Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor Guard against token freeze (#205) Type hint publication strategy Guard against token freeze Remove infinite recursion because of token having fixed frozen date (#206) Fix infinite recursion (#207) Fix traversal of publication lists (#208) Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file Remove Travis badge from README doc Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection Add command to unfollow inactive members (#214) Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller Upgrade dependencies Configure cache warmup script with composer Add security related dependency Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit Ensure fetch news publication messages handler is executed during a minimum time (#228) Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response Ensure healthcheck route is available to anonymous visitors (#232) Prevent closing database connection after handling messages (#233) Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network Renamed docker compose configuration file Allowed overriding docker compose configuration file Added guard condition to exit earlier when project name is missing Lint shell script with shfmt Add git exclude rule for run directory Revise default database logging configuration Add git exclude rule for log directory Hardcode project name for additional safety Remove hardcoded use of external network from main docker compose configuration file Remove network block from each service definition Remove ports opened by default from localhost Replaced docker-compose with docker compose command Upgrade base worker image Disabled xdebug by default Forward PROJECT_NAME when running php script Disabled query cache v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Added blackfire logo to readme (#239) Revised acknowledgement section (#240) Revised acknowledgement section Resize logo Add logo section and acknowledgement Remove list Added ubuntu Fix title Worker v3.4.0 (#243) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Bring back fixes applied when merging v3.1.0 into revue de presse.org worker branch (#96) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor …
thierrymarianne
added a commit
that referenced
this pull request
Feb 3, 2023
Pre-release v3.4.x (by merging upstream tag v3.4.1) (#136) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher Add unavailable resource handler (#179) Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock Persist publication list collection event (#195) As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id Fix time limit Remove sleep command Add time limit to message handling script As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed Fix dispatch of fetch publication message (#203) Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor Guard against token freeze (#205) Type hint publication strategy Guard against token freeze Remove infinite recursion because of token having fixed frozen date (#206) Fix infinite recursion (#207) Fix traversal of publication lists (#208) Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file Remove Travis badge from README doc Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection Add command to unfollow inactive members (#214) Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller Upgrade dependencies Configure cache warmup script with composer Add security related dependency Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit Ensure fetch news publication messages handler is executed during a minimum time (#228) Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response Ensure healthcheck route is available to anonymous visitors (#232) Prevent closing database connection after handling messages (#233) Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network Renamed docker compose configuration file Allowed overriding docker compose configuration file Added guard condition to exit earlier when project name is missing Lint shell script with shfmt Add git exclude rule for run directory Revise default database logging configuration Add git exclude rule for log directory Hardcode project name for additional safety Remove hardcoded use of external network from main docker compose configuration file Remove network block from each service definition Remove ports opened by default from localhost Replaced docker-compose with docker compose command Replaced docker-compose with docker compose command Upgrade base worker image Disabled xdebug by default Forward PROJECT_NAME when running php script Disabled query cache v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Renamed method Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Added blackfire logo to readme (#239) Revised acknowledgement section (#240) Revised acknowledgement section Resize logo Add logo section and acknowledgement Remove list Added ubuntu Fix title Worker v3.4.0 (#243) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Bring back fixes applied when merging v3.1.0 into revue de presse.org worker branch (#96) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configu…
thierrymarianne
added a commit
that referenced
this pull request
Feb 3, 2023
Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Renamed method Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Bring back fixes applied when merging v3.1.0 into revue de presse.org worker branch (#96) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher Add unavailable resource handler (#179) Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock Persist publication list collection event (#195) As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id Fix time limit Remove sleep command Add time limit to message handling script As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed Fix dispatch of fetch publication message (#203) Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor Guard against token freeze (#205) Type hint publication strategy Guard against token freeze Remove infinite recursion because of token having fixed frozen date (#206) Fix infinite recursion (#207) Fix traversal of publication lists (#208) Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file Remove Travis badge from README doc Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection Add command to unfollow inactive members (#214) Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller Upgrade dependencies Configure cache warmup script with composer Add security related dependency Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit Ensure fetch news publication messages handler is executed during a minimum time (#228) Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response Ensure healthcheck route is available to anonymous visitors (#232) Prevent closing database connection after handling messages (#233) Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network Renamed docker compose configuration file Allowed overriding docker compose configuration file Added guard condition to exit earlier when project name is missing Lint shell script with shfmt Add git exclude rule for run directory Revise default database logging configuration Add git exclude rule for log directory Hardcode project name for additional safety Remove hardcoded use of external network from main docker compose configuration file Remove network block from each service definition Remove ports opened by default from localhost Replaced docker-compose with docker compose command Replaced docker-compose with docker compose command Upgrade base worker image Disabled xdebug by default Forward PROJECT_NAME when running php script Disabled query cache v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Renamed method Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Co-authored-by: Thierry Marianne <thierrymarianne@users.noreply.github.com> Remove Doctrine Fixtures Bundle (#97) Removed doctrine/doctrine-fixtures-bundle Prevent log directory from being group-writable Regenerate composer.lock Restore monolog JSON formatter [https://symfony.com/doc/5.4/logging/formatter.html](https://symfony.com/doc/5.4/logging/formatter.html) Rename non-existing property (twitterList) (#98) Renamed aggregate to Twitter list What is an aggregate, anyway? What was I thinking 🤔 Renamed soft-properties properties ℹ Database column renamed would be expected at some point Remove redundant comments Declare join-column for Twitter List Chasing bug affecting how access token are handled (#99) Chase long-lived bug affecting how API access token are handled Prevent log directory from being group-writable Revised from where AMQP messages are dispatched Rename publication to tweet and collect decider to curator Remove unnecessary check Lint yaml section Rename collect decider to curator Remove redundant comments Remove old reference to Sir Tim Berners-Lee book See [Weaving the Web](https://www.w3.org/People/Berners-Lee/Weaving/) Rename services previously deprecated Use logger configured with twitter_api as channel Moved AMQP message handler service definition Fixed MemberRepository service namespace Removed all HTTP controller except for (Twitter) list controller Removed request validation trait Removed list controller, exception and service definition Removed http authenticator class, service definition and related exception class Removed all routes definitions except for highlights and healtcheck routes Removed services, bundles and parameters definition files Configure messenger component via framework bundle Removed highlights and healthcheck HTTP routes definitions Removed parameters which are no more required Lint yaml section Sort services Restore Twitter API services Remove route and route collection interfaces Remove routing-related entity and repository Remove popular publication repository Context class and test was written with bdd (behavior-driven development) in mind at the time of writing. Moved class holding search params Optimize imports Moved search params interface under Twitter API namespace Removed data fixtures class Fixed property typing Remove redundant comments Optimize imports Fixed property typing Use named param instead of unused variable Remove duplicated command Remove duplicated entity Fixed property typing and remove unnecessary comments Rename press media to media shareholders Rename all the things Extract Membership namespace out of Twitter namespace Move command providign basic recommendations Fixed media shareholders namespaceRename console command to impo…
thierrymarianne
added a commit
that referenced
this pull request
Apr 25, 2023
Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and member entity configuration Declare service definition of member repository Replace deprecated class usage in kernel (routing) Fix class import in token authenticator Remove redundant constructor from member repository Remove deprecated entries from VCS ignore list Add class ensuring consistency of statuses (for full text and status id) Install PHPUnit and Safe libraries Remove tests failing because of framework changes Import configuration of xdebug for PHP cli Let the development web server add CORS headers Replace codeship parameters Replace travis parameters Do not build bootstrap file anymore Downgrade PHP version of travis builds Fix travis source test parameters file Remove wrong configuration from travis and codeship files Fix password used by codeship to run tests Revise shortcut function executed to run tests Remove unnecessary import Add documentation note about where MySQL database password comes from in continuous integration Fix retrieval of rabbitmq virtual host from local configuration file Add DQL extensions to access native functions Ensure there is at least an access token in the database Install amqp PHP extension Ensure messages to fetch member statuses can be dispatched Rename dispatcher of messages to fetch member statuses Fix retrieval of messenger virtual host Introduce handler of message consumed to fetch member statuses Add credentials to Fetch member statuses message Fix class import Limit range of ip addresses of press-review-network Fix display of password passed to rabbitmq Upgrade PHP version Declare message handler instead of message consumer Revise remote debug host to comply with docker network of php container Replace message consumer with message handler depending on messenger component Install intl extension for PHP depending on libicu-dev package and amqp extension for PHP Reformat code Revise type hinting for some methods Fix definition of API accessor service Revise configuration of script to initialize apache virtual host Typehint properties of list controller Revise entrypoint of apache container Introduce project configuration file for docker-compose Ensure entryoint of worker container is blocking Ensure worker belongs to press review network Ensure cache server keeps appending values Ensure entrypoint of worker container is blocking Add migration file to remove group and role tables Revise commands to migrate schema Add distribution configuration file for the application Remove hash from default extensions file Ensure building the worker does not fail because of the extensions configuration file Remove extra step consisting in reinstalling sockets extension for PHP Let web container depends on worker container Prevent unique token from failing application Fix call to substring Add missing docblock Revise press review subnet Set application environment variable to prod Ensure consumer key and secret are nullable Revise error message logged when authentication data are incorrect Remove application environment variable set to prod Add amp extension Remove addition of configuration file by docker-compose Rename shortcut functions executed to handle messages Remove function executed to list PHP extensions Remove command to set up amqp exchanges Rename message producer to message dispatcher Refactor commands depending on app/console so that they depend on bin/console Revise command to list queues Add shortcut command to run worker Revise shortcut command to set permissions of cache and log directories Replace app/logs with var/logs Refactor commands depending on app/console so that they depend on bin/console Rely on docker-compose to execute commands Migrate environmment variable declared set application environment Fix shortcut functions executed to dispatch messages Set default memory limit to 64M when handling messages Remove redundant command Add shortcut command to run the whole stack Revise supervisor configuration Revise function setting permissions Revise function setting permissions to clear cache for development environment Execute message consumption in detached mode with a time limit Dispatch messages in detached mode As a logged in member, I can access archived publication. (#175) Revise import of exception Add additioanl services (database) Remove unused class import Add additioanl services (database) Add read and write database to docker-compose configuration file Introduce a new representation of a publication Update phpdoc Remove unused function to save batch of statuses Add Avatar URL to publication entity Import class and fix phpdoc Set publication repository Remove unused parameter Introduce publication repository Remove unused constant Introduce publication repository Inject publication repository into status repositories Linearize method to save statuses Introduce collection interface extending doctrine ArrayCollection Add command to migrate status entity to publication entity (#176) Introduce command to migrate statuses to publications Add command to migrate status to publications Add command to migrate archived status to publications Add missing import and strict mode Flush more frequently Fix signature of better (updated at field of status interface) Ensure duplicated keys do not break the migration of status to publications Mount mariadb configuration for write database Ensure command dispatching member status messages executes successfully Declare AppKernel class in PHPUnit configuration file Declare strict type use for Kernel class Add missing amqp extension to php.ini for travis Install librabbitmq dependency Revise rabbitmq host for both CI platform Remove listing of available extensions for travis @see https://blog.travis-ci.com/2013-03-08-preinstalled-php-extensions/ Ensure rabbitmq runs Extract log message Revise code style Throws an exception when no access token is available Install faker Move token repository Install faker Introduce token change Ensure access tokens are changed outside of Fetch member status message dispatcher Fix access token env vars for travis Remove exceptions which are not raised anymore As a member, I can get my ownerships. (#177) Add dependency injection traits Rename message dispatcher Declare strict type Rename method and add return type hint Add class representing ownerships Dispatch a message carrying a token instead of an array for credentials Extract ownernership accessor as class Revise return type of api accessor interface Return prophecy Remove deprecated method Change visibility of internal methods Fix inconsistent return type As a member, I can get likes matching with my ownerships (#178) Replace argument with member variable Update docblocs Add member identity and member collection Extract input options as strategy rules Fix type hint issues Rename method having name not reflecting its responsibility Extract method to add owner optionnaly to member collection Guard against protected, suspended and whispering members Add publication list representation Move resource classes to domain namespace Move methods from MemberAwareTrait to MemberFacingStrategy class Dispatch fetch likes messages Move responsibility of saving protected / suspended member to corresponding repository (member repository) Move message dispatch logic to member identity processor class Extract logic dedicated to publication list processing as class Remove unused message dispatcher Replace deprecated assignment with TODO comments Ensure Fetch publication message command relies on publication message dispatcher Add unavailable resource handler (#179) Ensure a member profile can be accessed as expected (#180) Rename variable representing a twitter member Add class to access member profile Clean up (#181) Revise member repository interface Remove deprecated connection Split assignment and declaration Apply shellcheck suggestions Remove command to configure privilege of RabbitMQ user Split assignment and declaration Apply shellcheck suggestions Remove unused data fixtures Remove basic authentication listener Remove query factory Add type hints to command Add type hints to search params Restore method implemented by query factory Fix fetch publication message handling Add tag status repository Implement status logger interface Revise timely status Move status interface to domain Add normalizer Cover status persistence Covering status persistence (#182) Fix command to install PHP dependencies with composer via docker-compose Rename service to status persistence Extract dependencies member variables and setters Repair archived status repository Add status collection Add publication persistence Fix tests broken because of duplicated services (archived status repository) Change default database and read database Share publication table between read and write schema Add decider to skip collect of status or liked status (#183) Decorate status after getting them from the database Remove tweet controller Revise docblocks Remove deprecated setter Fix before option and fetch likes option Fix handler fetching likes Rename services and methods to better reflect their responsibilities Keep renaming symbols related to serialization Fix collection of status (#184) Move status interface to domain Fix import of member repository Fix tagged status repository imports Add healthcheck controller Restore search params and pagination params Fix signatures of status interface methods Fix signature of message dispatcher Extract trait for Fetch publication message Fix command to purge queues Fix fetch publication usages Fix publication of fetch status message Fix collection strategy for likes Replace translator interface with translator contract Add command to stop workers Fix status persistence (#185) Add missing setter for status persistence Type hint methods Fix dependency injection Fix status persistence (#186) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface As an anonymous visitor, I can see the highlights of the day in the press. (#187) Fix translator return value Catch throwable in last resort Return extremum status id from member as early as possible Ensure max status id is used before counting collecting items Add option to fetch status greater than a min status id Do not count how many status have been collected unless a whisperer is detected Do not count how many status have been collected unless a whisperer is detected using a range Fix message translation Add type hinting for return values implementing member interface Revise log message about collection Apply shellcheck convention Add member subscription controller Expose time limit of message consumption with an environment variable Add command to restart web server Fix translation related to api call limit Fix list controller for highlights As an authenticated member, I can see highlights and subscriptions. (#188) Fix healthcheck route Fix highlights and subscriptions routes As an authenticated member, I can refresh a member profile (#189) Fix publication counter Fix import of exception to throw when a publication has to be skipped Fix selection of subscription Remove deprecated docblock Fix route to refresh member profile Fix status collection for publication list (#190) Fix how consumer secret is passed to accessor Fix skippable exception usage Add type hinting to token entity Fix route to collect status for publication list As an authenticated member, I can see a publication. (#191) Revise type hinting Add supervisor command Add method to search params Rename consumer Prevent exposing ports Remove dependencies between containers and revise network Add dependency from worker to messenger Accept PROJECT_NAME argument when running handle message command Extract function to get project name Add project name to dispatch message command Do not make list name mandatory anymore when publishing message Change directory before running dispatch command Expose environment variable to switch project Repair get publication route As an authenticated member, I can see the latest publications. (#192) Fix default screen name Expose database port Resolve conflicts As an administrator, I can tell which criteria were passed to Twitter API to collect publications. (#193) Require json functions for MySQL Set version of MySQL to 5.7 Sort publications by total retweets Find publication list which does not belong to page following first cursor Join publication list and status to publication Add event reflecting publication collection Save publication batch collection event Fix tests (missing argument when declaring prophecy) As an administrator, I can see past ownership batch collection event. (#194) Persist member ownership collection event Fix ownership accessor test Remove redundant docblock Persist publication list collection event (#195) As an administrastor, I can see past member profile collection events. (#196) Persist member profile collection event Fix member profile accessor tests Collect publications with id greater than min id (#197) Rename method calls expressing publication list being unlocked Fix collection of publication with id greater than min id Fix time limit Remove sleep command Add time limit to message handling script As an administrator, I can collect timelines of a member subscriptions. (#198) Rename variable Fix command dispatching message to fetch timelines of member friends Do not collect publications for members whom last publication occurred less than 7 hours ago (#199) Remove deprecated packages (#200) Update last status publication date more regularly Remove timely status consumer Revise translations Remove logs Catch throwable Remove deprecated packages Set up twitter client with up-to-date access token before contacting endpoint As an administrator, I can collect member publication lists. (#201) Add collect member friends event Fix documentation Add command to import member publication lists Fix documentation Refresh profile of members belongin to publication lists As an administrator, I can traverse all my ownership pages. (#202) Add index to publication entity Ensure all ownership pages are traversed Fix dispatch of fetch publication message (#203) Introduce cursor option to fetch publications from a given page (#204) Introduce cursor option to fetch publications from a given page Fix command to purge amqp queues Fix tests with regards to publication strategy and cursor Guard against token freeze (#205) Type hint publication strategy Guard against token freeze Remove infinite recursion because of token having fixed frozen date (#206) Fix infinite recursion (#207) Fix traversal of publication lists (#208) Revise project installation (#209) Fix command to install PHP dependencies Fix audience param Fix host for apache Fix redis host name Remove deprecated commands Fix dependencies configuration (#210) Add emoji folder in web to VCS ignore list Remove graphs from public directory Upgrade base PHP FPM image Bump version of apcu Move assets from web directory to public directory Fix dependencies configuration file (so that it becomes compatible with composer 2.x) Revise PHP FPM configuration Add emoji directory to VCS ignore list Remove web profiler Remove Doctrine fixtures bundle Remove test class for membership Move dependencies around Remove web directory and integration with Travis (#211) Remove web directory Add binaries installed by testing / parsing dependencies to VCS ignore list Add missing amqp DSN for failures to test configuration Remove Travis configuration file Remove Travis badge from README doc Add command to list member subscriptions (#212) Fix default value of second parameter passed to run_php_script function Remove data provider and parameter holding reference to class Replace default value of run_php_script function with value passed by environment variable Add missing messenger transport env var to distribution configuration file Add test for command listing member subscriptions Remove deprecated service dedicated to token persistence Replace setter injection with constructor injection Fix test relying on previous construction of Twitter API accessor Add command to list a member subscriptions a.k.a. get friends list @see https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list Store member friends list on collection (#213) Fix path to fixtures Store member friends lists after collection Add command to unfollow inactive members (#214) Add command to list the followers of a Twitter account (#215) Extract methods from command executed to unfollow inactive members Refactor classes involved in friends listing Add model to store followers Add command to list subscribees of a Twitter member ``` # List the followers of a Twitter account by executing the following command export screen_name=__FILL_ME__ INTERACTIVE_MODE=true \ SCRIPT="bin/console -e prod press-review:list-member-subscribees $screen_name" && make run-php-script ``` Add command to unfollow diff between subscriptions and subscribees (#216) Remove deprecated namespace Add correlation ids for both stored subscriptions lists and subscribees lists Add command to unfollow diff between subscriptions and subscribees Fix defects (#218) Fix member trait (method signature incompatible with MemberInterface) Fix command alias Rename main branch Ignore protected members, suspended members or not found members Update URL, description even though unavailable Cancel matching subscriptions when unfollowing members Fix defects (#219) Ensure the application doesn't include any dependency with known security vulnerabilities. See https://github.com/Roave/SecurityAdvisories Remove unnecessary type casting and docblock Add docblock for prophecy assignment Revise how subscription are cancelled Remove hardcoded configuration parameters from controller Upgrade dependencies Configure cache warmup script with composer Add security related dependency Upgrade dependencies (#220) Upgrade dependencies Configure cache warm-up script with composer Add security related dependency Revise architecture (#222) Remove duplicated package requirement Add option to optimize dependencies installation with composer by leveraging apcu See https://getcomposer.org/doc/articles/autoloader-optimization.md Remove extra space from dependencies installation command without production optimization option Add highlight feature Remove unused class imports Move entities from infrastructure to domain Rename highlight context to API context Move classes related to operation, cache, console and security to infrastructure namespace Move database migration directory to infrastructure namespace Move Twitter API accessor classes to infrastructure namespace Move AMQP classes to infrastructure namespace Move time-related classes to infrastructure clock namespace Rename aggregate to publication list Rename media to press media, aggregate to publication list, merge member and membership namespaces Remove API view namespace Move API under Infrastructure namespace Rename publication list to publishers list Remove deprecated bundle Remove test member class Rename collection to curation Move infrastructure and domain directories under Twitter context Ensure news review is properly exposed by API (#223) Ensure news review is properly exposed by API Revise API context and news review feature Ensure popular publications are served to authenticated requesters Apply maintenance fixes (#224) Fix constants retrieval Revise run_php_script shortcut command Import database migrations directory Fix path to database migrations Upgrade doctrine/orm and symfony/messenger (#225) Remove usages of doctrine Inflector deprecated methods Upgrade doctrine/orm dependency package Upgrade rabbitmq container and symfony/messenger dependency package Stop logging remaining rate limit Fix logging configuration for symfony "prod" environment (#226) Fix memory allocation of worker container Fix symfony environment usage Revise configuration of monolog for symfony "prod" environment Limit result return by query selecting last known status for member Stop logging API access rate limits (#227) Fix memory allocation of worker container Stop logging remaining rate limit Ensure fetch news publication messages handler is executed during a minimum time (#228) Disable allocation of tty instead of running container in detached mode (#229) Ensure doctrine bundle is available to rely on messenger middleware to close connection to database Fix middleware configuration to close connection to database as soon as worker is done processing messages Fix deprecation notice emitted by doctrine/migrations bundle (#230) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Add media title to publications embedded in response sent when listing highlights (#231) Revise path to migrations classes generated by doctrine migrations bundle Upgrade doctrine/doctrine-migrations-bundle and doctrine/migrations packages Fix references to controller services Ensure empty firebase database snapshot does not break API Add media title as alternate image text to highlight response Ensure healthcheck route is available to anonymous visitors (#232) Prevent closing database connection after handling messages (#233) Ensure there is only one consumer per worker (#234) Ensure there is only one consumer per worker Increase log level in production Ensure reconnection on lost connection to database (#235) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Use external network when running stack (#236) Ensure command can be executed at will in same worker Ensure reconnection on lost connection to database Remove unused imports Start worker in detached mode by default Use external network Renamed docker compose configuration file Allowed overriding docker compose configuration file Added guard condition to exit earlier when project name is missing Lint shell script with shfmt Add git exclude rule for run directory Revise default database logging configuration Add git exclude rule for log directory Hardcode project name for additional safety Remove hardcoded use of external network from main docker compose configuration file Remove network block from each service definition Remove ports opened by default from localhost Replaced docker-compose with docker compose command Replaced docker-compose with docker compose command Upgrade base worker image Disabled xdebug by default Forward PROJECT_NAME when running php script Disabled query cache v3.1.0 (#238) Rename service to worker Remove vendor name from make target Added script for application cache clearing Added script Makefile is based on for all its phony targets Rename project Remove vendor binaries Fixed typo Removed bdd-style tests Removed user provider, firewall and route access control list Fixed class imports Removed user provider, firewall and route access control list Removed deprecated exception imports Auto-generate proxy classes Remove calls to create network Remove function to build stack Removed function to install project dependencies Project dependencies are installed with application-level dependency manager (composer) [Composer's project wikipedia article](https://en.wikipedia.org/wiki/Composer_(software)) [Composer's project website](https://getcomposer.org/doc/00-intro.md) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Renamed method Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Deprecated App\Twitter\Infrastructure\Twitter namespace Removed binaries Revised commands and documentation sections specific to revue-de-presse.org Regenerate composer.lock Fixed missing class import Removed deprecated services Rename curation-related services Rename abstract command class Deprecated service responsible for dispatching Fetch publication AMQP messages service Removed deprecated entity (saved search) Removed deprecated tests (they have been renamed) Removed duplicated tests Added blackfire logo to readme (#239) Revised acknowledgement section (#240) Revised acknowledgement section Resize logo Add logo section and acknowledgement Remove list Added ubuntu Fix title Worker v3.4.0 (#243) Removed functions calls ensuring PHP application profiling (blackfire) extension is installed Removed duplicated function for extracting application environment type (test, dev, prod etc.) Removed deprecated application controllers Rename log directory Remove database (PostgreSQL) base container image Load environment variables with dot file Mount additional volume Remove routing configuration Added composer cache directory Deprecated API access token and load fixtures command Deprecated administration logic Deprecated allowed.origin parameter use (no more HTTP API 💃🏼) Deprecated data structure store (redis) usage Refined WORKER environment variable documentation Added docbloc where global container variable is just hanging around 🛸 Removed PHP FPM pool configuration Replaced placeholder with directory volume example Removed volume container hardcoded worker name Use docker compose instead of docker-compose Guard against missing project name (so far still in use when generating container names) Removed project name passed as option when it can be deduced from docker compose configuration file Rename docker compose configuration files (yml extension changed to yaml) Removed deprecated functions related to web service Deprecated time-based short-circuiting service Makes install target depend on build target Remove misleading comment about some deprecated parameter Validate docker compose configuration before container image build Linted docker compose configuration files Redirect standard error and standard output streams to log files Renamed service to worker Removed cache and service from container image to build exporting COMPOSE_PROJECT_NAME environment variable is not required anymore Removed deprecated controller Removed twig package Passed database version in database URL Provided with WORKER environment variable value examples Added git exclude rules Added realtime database (firebase) package Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Added comments and env var to unit test library configuration file Renamed rabbitmq volume to amqp Change permissions with verbose option Renamed rabbitmq volume to amqp Added default framework error routes Removed all remaining routing configuration files Removed deprecated per-environmemnt sub-directory for monolog package in favor of when@ syntax Force removal of docker container images on clean up Renamed service to worker Check docker compose configuration quietly Preload kernel cache when available Regenerate symfony.lock and composer.lock files Regenerate composer.lock files (twig package removal) Replace PHP FPM base image with PHP cli image Added environment variable to update dependencies Deprecated authentication token repository application service Deprecated authenticator service Deprecated authenticate application command Merged monolog channels Discarded exact package versioning Removed git exclude rules Regenerate composer.lock file after having discarded exact package versioning for beberlei/assert Removed web profiler package Added missing environment variable to test configuration Removed line breaks from git exclude configuration file Regenerate symfony.lock and composer.lock files Removed deprecated test context from test service configuration file Removed template directory Activated doctrine fixtures and maker bundles in application dev and test environments Added application fixtures loader Added phpspec/prophecy-phpunit Migrated unit test configuration file Make default COMPOSE_HOME environment variable value consistent with default WORKER environment variable value Added make target to stop database container Force container recreation when starting database container Fix unit tests Tail build log Removed standard output and stand error streams redirections Removed comments from unit test configuration file Renamed github workflow Upgrade worker.snapshots.fr (#49) Fixed typo Fixed return value type Fixed entity name Added missing method to member classes Added documentation with regard to command-line app Removed unrelated article Revise log package configuration Replace twitter screen name with twitter member ids in request Added endpoint to remove members from a list Use HTTP POST method when removing members from a list Fixed deprecation warning messages Allow posting member ids instead of their screen names Apply fixes Fix test Applied some fixes (#50) Refactor docker image installation script to include node-based process manager image Restore Makefile targets required by process manager Revise default paths Added quotes Fix path to dependency Fix user directive Remove EXPOSE directive Added make target to start process manager Split phony targets Added doc make target for additional help Replaced make target use by process manager with binary Do not change directories (public does not exist in this app anymore) Add make to the package list to be installed Removed function duplicated to stop workers Stop removing containers before managing process with pm2 Remove one level of containerization Stop changing permissions Fixed command to be executed to list AMQP queues Fixed commands executed to purge queues Lint messenger package configuration file Lint repository configuration file Remove function called before dispatching AMQP messages Lint worker configuration file Lint function call to dispatch AMQP messages Lint dispatcher service Replace shortcut command option Deprecate conditional execution Lint dispatcher execute function Renamed class Removed minimum execution time Removed execute_command function Revise AMQP messages dispatching function Run process manager in foreground Fix log file path Add dockerize to process manager docker container image Renamed immediately called function Add worker user no matter what Use worker username instead of uid.gid Stop trying to change project files permission Removed duplicated function to install service requirements Moved USER directive Moved command argument definition Removed docbloc redundant with explicit typing Added comment about how AMQP messages are dispatched Renamed class Renamed method Sorted class member variables Renamed method Added commands to documentation Sorted functions by name Renamed environment variables Removed changelog Added now mandatory environment variables (USERNAME and LIST_NAME) Renamed make target for dispatching AMQP messages Removed debug-related environment variable Deprecated namespace Deprecated publisher list priority rule Deprecated query restrictive rule Validate docker compose configuration in general Added function to dispatch AMQP messages Revised documentation Revise documentation Fixed ci badge Revised documentation about AMQP message dispatching command Add nodejs to php based docker image (#52) Added documentation about how to authorize an application for statuses collection Revised README.md Linted Makefile Added make targets and functions to get worker and process manager shells Remove process manager before recreating it Moved extendable version manager (asdf) directory Moved npm cache directory to shared home directory Removed duplicated make target Fixed AMQP dispatching command Revised shared configuration block references Added documentation reference about how to use npm Config Settings () Set npm cache before installing process manager Remove asdf directory before cloning repository Pass extendable version manager path (asdf) to process manager installer Moved process manager installer to requirements.sh Add git exclude rule for node_modules directory Deprecate popular publication repository Call pm2 from node_modules binary directory Install process manager by calling function responsible for its installation Clear application cache before running process manager Lint how environment variables are exported Revised how permissions are set Restore single function responsible for process manager installation Move process manager installation to entrypoint script Display errors by default Export asdf directory environment variable Prevent changing volume directories content permissions Revise function to set up transports Revise make target to set up AMQP queues Change JavaScript dependencies files owner Change /var/www owner Set node.js globally as worker Added _WORKER environment variable Change node_modules owner Source .asdf/asdf.sh before running asdf reshim Install extendable version manager as root before moving all files to /var/www Do not install process manager anymore for now Move shared requirements installation to requirements.sh Revise how permissions are set Lint asdf repository clone Add shared requirements installation to separate layer Do not install pm2-logrotate anymore Extract shared requirements from worker installation script Lint function body Source .asdf scripts before using extendable version manager Moved function setting file permissions Install process manager Separate functions to set permissions and create log files Do no cache npm package Added .tool-versions and .bashrc Remove useless guard checks Revise asdf cache dir permissions Install dockerize Set global node.js version Share worker system packages Source extendable version manager (asdf) before using it Configure git before install extendable version manager (asdf) Source extendable version manager (asdf) before using it Lint process manager Dockerfile Copy composer files to process manager docker container image Revised process manager healthcheck command Source extendable version manager (asdf) before using it Revert to using php-based docker image Make process-manager service depending on amqp service Sorted options passed to useradd command Add php extensions to process manager image now based on php official docker image Revised system packages installation Revised short documentation (#53) Revised continuous integration workflow (#54) Revised compose configuration files and git exclude rules (#55) Fixed database directory Linted docker compose override configuration file Add git exclude rules for amqp and database volumes Update issue templates From now on, composer cache directory is located in shared home directory by default (#56) Added funding file Added code of conduct (#57) Create SECURITY.md Remove embarrassing copy-pasted text From now on, composer cache directory is located in shared home direc… (#58) From now on, composer cache directory is located in shared home directory by default Set permissions Make composer home parents recursively Change entrypoint perms only when file exists Share log creation Remove git directory (#59) Prevent other images containing substring from attemptedly removed (#60) Remove git directory (#61) Sort statements (#62) Prevent restarting database and amqp service (#63) Added GitHub sponsor link Update README.md Remove entity (#64) Prevent restarting database and amqp service Add default parameters for initializing database Removed archived timely status entity Upgrade doctrine migrations bundle (#65) Remove sudo from log file creating commands (#66) Switch to Twitter API v2 for adding member to list (#67) Remove sudo from log file creating commands Added curl extension to runtime dependencies Align debugger extension directives in configuration file Renamed variable Use arrow function Push member ids instead of member usernames to array Added Twitter API version constants Moved Twitter base URL constant Moved Twitter API version constant Set Twitter API version 1.1 as default version Fixed argument type Remove logic for list counting more than 100 users We are only dealing with modest lists even though they could count up to 5000 accounts. See [Lists limits](https://help.twitter.com/en/using-twitter/twitter-lists-not-working) Added list members endpoint available by switching to Twitter API v2 Log HTTP client and server error with notice severity level Throw exception when JSON response can't be decoded …when using bearer token for authentication. Call Twitter API v2 when adding a member to a list Lint code Reduce API paths for Twitter API v1.1 version by default Throw instance of ErrorException with E_WARNING severity Lint docbloc Revise add member to list endpoint Remove extra parens Renamed command prefix Removed unused dependencies Disabled short open tags Removed unused import Fixed method signatures Removed sensio framework extra bundle Renamed command prefix Stop using bearer token for authentication Removed unused configuration sections Removed dependency on Goutte client Removed more dependencies (leaving symfony/security-core) Rename command prefix to make it agnostic from where it would end being deployed Fix signatures, docblocs Use upstream Twitter API wording Removed routing-related entities, repositories and other stuff not used anymore Removed non-existing test service Revised opening brackets positions (#71) Rename commands (#72) Rename commands Follow official documentation wording Fix documentation about how to start process manager (#73) Fix documentation about how to start process manager Fix command responsible for dispatching AMQP messages Initialize frozen until property (#74) Make messages persistent (#75) Make messages persistent Fix message persistency configuration [Transport configuration](https://symfony.com/doc/5.4/messenger.html#transport-configuration) Third time's the charm? … not even Lint yaml configuration file Fix issue affecting yaml configuration file Prevent app dependencies container recreation when dispatching AMQP m… (#76) Prevent app dependencies container recreation when dispatching AMQP messages Prevent recreating containers when starting process manager (#77) Restore missing command (#78) Revise docker compose configuration files (#79) Do no recreate running containers unless absolutely necessary (#80) Do not override process manager entrypoint (#81) Do not have process-manager service depending on amqp service indirec… (#82) Do not have process-manager service depending on amqp service indirectly anymore Prevent not found members from breaking application (#83) Added missing twitter id for members not found Remove standard output and standard error redirections (#84) Remove redirection Replace use of static member variable with static method call (#85) Renamed command dispatching Fetch Tweets messages (#86) Remove deprecated methods Rename status to tweets Remove unused member variable Revise docblocs Replace log method context argument Remove command alias Revised option descriptions Sorted constants Fixed test Additional convenience make target (#88) Clean up and convenience make targets Added make target to start and stop AMQP broker service Remove some whitespaces Remove deprecated service Remove deprecated class name param Rename an interface and one of its implementations Remove docbloc Bump guzzlehttp/guzzle from 7.4.4 to 7.4.5 Bumps [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) from 7.4.4 to 7.4.5. - [Release notes](https://github.com/guzzle/guzzle/releases) - [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md) - [Commits](https://github.com/guzzle/guzzle/compare/7.4.4...7.4.5) updated-dependencies: - dependency-name: guzzlehttp/guzzle dependency-type: direct:production Signed-off-by: dependabot[bot] <support@github.com> Generate composer.lock for upgrading guzzlehttp/guzzle to 7.4.5 Generate composer.lock for allowing latest guzzlehttp/guzzle patches installation Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Rename option to filter by tweet owner username (#89) Revised option shortcut Use named param instead of unused variable Rename filtering by Tweet owner username option Sort rules before linting them Sort command options before linting them Clean up and bug fix (#90) Removed all options and argument shortcuts Renamed class responsible for converting input to curation ruleset Renamed class responsible for holding curation ruleset Renamed classes and test group to better reflect intent (dispatching AMQP messages to fetch tweets) Restored missing service Removed docblocs redundant with method signatures Deprecated unused methods and removed docblocs Renamed methods and member variables Renamed method expressing what a so-called whisperer might be Renamed member variables Renamed method Renamed class Restore docbloc Restore variables Rename class responsible for holding compliance logic More renaming Fix missing method renamed in tests Removed curation prefix Normalize member screen name Rename argument Rename function for clarity (#91) Tell about image removal being conditional Prevent process manager from being stopped (#92) Provide with context in case of error (#93) Rename service tagged as AMQP message handler (#94) Rename method responsible for identifying members from their screen name Skip low volume tweeting member for the time being Normalize screen name Remove docblocs Renamed aggregate to list Added docbloc Remove docblocs Bug fix (#95) Revised [assertions](https://github.com/beberlei/assert/tree/cb70015c04be1baee6f5f5c953703347c0ac1655\#lazy-assertions) More renaming Renamed selectors method Remove docblocs Bring back fixes applied when merging v3.1.0 into revue de presse.org worker branch (#96) Fix path to highlights (#169) v1.14.0 (#170) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms v1.15.0 (#171) Fix path to highlights Add bulk collection of members statuses Fix how total statuses per members are updated Cache members results Add controller to find keywords related to a week before today Server keywords Log exception affecting auth0 authenticator List statuses having specific terms Add required PHP extensions to dependencies configuration file Add option to ignore whispers (they are considered by default) Configure log handler dedicated to application monitoring Clean up class imports Fix extension of monitoring logs Add datadog tracing extension to php-fpm container (#172) Fix configuration issues with php-fpm and mysql containers (#173) Fix php-fpm configuration issues related to log decoration Fix MySQL user configuration (introduction of proper gateway based on `ip addr`) Remove decoration configuration file Let PHP-FPM container write to standard output Always restart redis container Introduce use of symfony 5.x, flex, docker-compose (#174) Add sensitive default for project dir Install blackfire agent Remove public bundle Ensure blackfire configuration is present Revise default variable assignments Revise Symfony requirement default mode Start migration of application from Symfony 3.x to Symfony 4.x Add documentation paragraph about schema migration Fix typo in information message related to database migration Add shortcut function to run composer commands Fix documentation of function called to migrate schema Add help message to run PHP script Upgrade Dockerfile to build PHP 7.4.x image Delete dead code Migrate application to Symfony 5.0 Fix class imports Ensure a single route is available Implement missing method in authenticator Fix compatibility of console events subscriber for Console component API Remove directory containing configuration files for previous version of Symfony Remove duplicated routes Rename user to member Replace deprecated class in kernel Import configuration files for installed packages Invert membership and m…
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.