Skip to content
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

Fix status collection for publication list #190

Merged
merged 4 commits into from Mar 3, 2020

Conversation

thierrymarianne
Copy link
Member

No description provided.

@thierrymarianne thierrymarianne merged commit c35b8e2 into master Mar 3, 2020
@thierrymarianne thierrymarianne deleted the fix-status-collection-for-aggregate branch March 3, 2020 23:05
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant