This is an automated email from the ASF dual-hosted git repository. rcordier pushed a change to branch postgresql-backup in repository https://gitbox.apache.org/repos/asf/james-project.git
omit 61b6018f2c JAMES-2586 - Fixup InMemoryUploadRepository.deleteByUploadDateBefore omit fec4a91793 [PGSQL] Disable PostgresAuthenticatedStateTest.rightsCommandsShouldBeSupported omit a8523bd84d [PGSQL] Adapt from new master code - SearchQuery omit 56661040ac [PGSQL] Adapt from new master code - TypeStateFactory omit 25bf45af6f [PGSQL] Adapt from new master code - BlobId.Factory omit 49694cfbf7 Bump r2dbc-postgresql to 1.0.7.RELEASE omit b3566a2c2b Bump jOOQ to 3.19.13 omit 27abcf55c7 Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james-cli omit 074272d8db JAMES-4054 Remove X-SMIME-Status header in mailetcontainer.xml omit 5a631c9153 [Antora] [PGSQL] Add Extending to postgresql doc omit db928c6911 [Antora] Add missing link in run with docker page to james cli commands documentation page omit 8d3d542efa [Antora] Add run section to postgresql documentation omit bcf0c0b418 [Antora] [PGSQL] Add Operate section to postgresql doc omit 87eb9d5976 [Antora] Make partial for server Operate section & clean format omit d0f5b56952 [Antora] [PGSQL] Architecture section for postgres doc omit 3539e3043d [Antora] Make partial for server Architecture section omit c6f85839b9 [Antora] [PGSQL] Add Performance benchmarks section to postgresql doc omit 0e3e34481f [Antora] [PGSQL] Add Configuration section to postgresql doc omit db5f2765db [Antora] Make partial for server configure section & clean format omit 6b10399a4e [Antora] [PGSQL] Objectives and motivation page for postgres doc omit 35d5825b75 [Antora] [PGSQL] Setup postgresql James server documentation section omit c1e2c48ac3 Fixup - add missing dependencies in apache-james-mpt-smtp-cassandra-rabbitmq-object-storage omit 6042de9a15 Disable test: JamesWithNonCompatibleElasticSearchServerTest omit e4cc7d8a26 JAMES-2586 Fixup PostgresPushSubscriptionSetMethodTest - add ClockMQExtension omit b528943991 [ENHANCEMENT] Better reactify Identity methods - update for Postgres omit 12ef92563e JAMES-2586 Fix BlobStoreConfigurationTest omit 4f3da250dc JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline - Update: disabled for cassandra weakWrite omit d03d9acd6c JAMES-2586 [PGSQL] Fix checkstyle & adapt code after rebase master omit 39e0bf5e2d JAMES-2586 Change boolean rlsEnabled to enum RowLevelSecurity omit 6c6ee9e156 JAMES-2586 Refactor code after optimizing findNonPersonalMailboxes method - Update AdditionalAlterQuery in PostgresTable - check if upsertACL actually successful - replace batch method - remove duplicated code in PostgresMailboxMapper and RLSSupportPostgresMailboxMapper omit c31bb071a5 JAMES-2586 (NON_RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper - create index for mailbox_acl column in case rls is disabled - update findNonPersonalMailboxes method in PostgresMailboxMapper and PostgresMailboxDAO omit 4019e39045 JAMES-2586 (RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper -create new table MailboxMember (username, mailbox_id) -create dao for new table -create RLSSupportPostgresMailboxMapper to use MailboxMember -update bindings to use RLSSupportPostgresMailboxMapper in case rls is enabled omit aaff40df6f JAMES-2586 - Update primaryKey constraint for Postgres mailbox_change and email_change omit 0f784bf9a3 JAMES-2586 [UPGRADE] Postgres docker image 16.1 -> 16.3 omit ced72a311f JAMES-2586 [UPGRADE] org.testcontainers:postgresql 1.19.1 -> 1.19.8 omit 33b9102618 JAMES-2586 [UPGRADE] r2dbc.postgresql.version 1.0.4.RELEASE => 1.0.5.RELEASE omit 0a7cc56e3a JAMES-2586 [UPGRADE] jooq 3.19.6 -> 3.19.9 omit 73ea80608e JAMES-2586 Re naming "non-rls" to "by-pass-rls" omit 18b9f228f5 JAMES-2586 Refactor JamesPostgresConnectionFactory: distinctly getConnection api omit dc09e202de JAMES-2586 Drop DomainImplPostgresConnectionFactory omit ccf3917d87 JAMES-2586 Drop SinglePostgresConnectionFactory omit 1d4546d85a JAMES-2586 Clean/Refactor PostgresExtension omit 55abda4480 JAMES-3946 Add a DropLists postgresql backend (#2290) omit 4902c8fac6 [BUILD] Increase jOOQ reactive timeout for testing (#2301) omit 7e082fd7f8 JAMES-2586 - Rename class DeletedMessageVaultDeletionCallback -> PostgresDeletedMessageVaultDeletionCallback (#2280) omit 3107310ef6 JAMES-2586 Postgres app should use Java 21 base image (#2277) omit 1b289b66ba JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline omit fad709bd4c JAMES-2586 Update PoolBackedPostgresConnectionFactory to avoid running set-domain command in case of empty domain omit 6c18887259 JAMES-2586 Create rls-bypass instance for PoolBackedPostgresConnectionFactory omit 853bec5d9d JAMES-2586 Fix some disabled tests in PostgresBlobStoreDAOTest by using connection pool omit 427db95c6a JAMES-2586 Close postgres connections when the app shutdown omit 4587d502b4 JAMES-2586 Add connection pool config to PostgresConfiguration omit be93e53d1e JAMES-2586 Update PostgresCommonModule to use PoolBackedPostgresConnectionFactory omit cf6eb0c874 JAMES-2586 Implement PoolBackedPostgresConnectionFactory omit 5717190f80 JAMES-2586 Disable some unstable tests of PostgresBlobStoreDAOTest omit e51db4d7e0 [BUILD] Jenkinsfile - add module server/blob/blob-postgres omit a4c5298b48 JAMES-2586 [UPDATE] [PGSQL] more javax APIs migrated to jakarta omit e55199896a JAMES-2586 Update postgresql guice binding - adapt after rebase master (remove Jmap draft) omit bf5b2ee658 JAMES-2586 Create metrics for PostgresExecutor omit ebf3e9f15a JAMES-2586 Mitigate fix for https://github.com/jOOQ/jOOQ/issues/16556 omit c3fe94f417 JAMES-2586 Apply reactor timeout for jOOQ omit 547440ed17 JAMES-2586 Enable flaky tests in PostgresEmailQueryMethodTest omit d613f64192 JAMES-2586 Fix flaky tests in EmailQueryMethodTest omit 61f5bb965f JAMES-2586 PopulateEmailQueryViewTask should not hang for postgres-app (#2179) omit e4f9acb1c3 JAMES-2586 - Postgres - Binding ACLUpdated Event DTO omit c16848db5e JAMES-2586 - Postgres - Bind DistributedTaskSerializationModule into postgres-app omit 200225cecf JAMES-2586 Add binding for DKIMMailetModule omit c6c81fe026 JAMES-2586 Do not use ActiveMQ mail queue when distributed mode omit 50994c1d3a JAMES-2586 Add missing cleanup task webadmin routes omit b330e0d928 JAMES-2586 Disable DistributedTaskSerializationModule omit 57b23afb33 JAMES-2586 Guice binding Distributed TaskManager for postgres-app omit f79c800282 JAMES-2586 Relax TaskExecutionDetailsProjectionContract: can compare ZonedDateTime(s) with different timezones omit ee9d05ea28 JAMES-2586 Implement PostgresTaskExecutionDetailsProjection omit 5e3c98ea4f JAMES-2586 Introduce module task-postgres omit 26426ff9b1 Revert "Provision Current Quota when MailboxAdded event" omit 6ff934c8d6 JAMES-2586 - [Revert] Optimize query increase/decrease for Quota Current Value omit c3d430c796 JAMES-2586 Postgres - Guice binding EventDTO for FilteringRuleSetDefine omit c3c5008800 JAMES-2586 Postgres - Guice binding EventDTO for DLP Configuration omit e4924177e3 JAMES-2586 Postgres - Binding QuotaMailing module for postgres app Tung Tran 10 minutes ago omit 6815107bc2 Refactor cassandra-quota-mailing: using the QuotaDTO event and related classes from quota-mailing module omit 90ac3372db Duplicated the QuotaDTO event and related classes from quota-mailing-cassandra to quota-mailing module omit 34a0e9bb9d JAMES-2586 Update Guice binding Postgres (#2154) omit 948388daf7 JAMES-2586 Add UuidBackedAttachmentIdFactory omit 3452731588 JAMES-2586 Create AttachmentIdFactory omit 994511a0be JAMES-2586 Postgres RewriteTablesTest should not fail unstable test phase omit 87cd019e6b JAMES-2586 Adapt jooq 3.19.6 change omit 0cd47e86c2 JAMES-2586 Bump r2dbc-postgresql to 1.0.4 omit 93a0e2c1ae JAMES-2586 Bump jOOQ to 3.19.6 omit cfd6b6d0ee JAMES-2586 Avoid declare jooq and r2dbc-postgresql version in multiple places omit 45dc6e1726 JAMES-2586 Fix MailboxSetMethodContract omit da730dfd31 JAMES-2586 [REFACTORING] - Extract dedicated class for retrieving Postgres Message omit 6ef82dd2b8 JAMES-2586 Avoid sorting PG messages omit 1e49586314 JAMES-2586 [REFACTORING] - PostgresTableManager - fix incorrect log omit 76c9437810 JAMES-2586 Refactor the handle way duplicate value on constraint index to avoid noise log (Mailbox and User table) omit b996a8e1ec JAMES-2586 JMAP Upload - fix precision of uploadDate field omit 33bdb62e3b JAMES-2586 Fix Postgres build after rebase on master omit 8be6939116 JAMES-2586 - JMAP Upload - Fix unstable UploadService test omit a1890176a5 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied omit e07d61bfbe JAMES-2586 Remove opensearch in PostgresWebPushTest omit efc2c70057 JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest omit 034540b583 JAMES-2586 Fix PostgresMailboxSetMethodTest omit 82b8dde9af JAMES-2586 Fix PostgresEmailQueryMethodTest omit 93cbcee046 JAMES-2586 Fix PostgresEmailGetMethodTest omit dc8940ef9d JAMES-2586 Optimize AttachmentLoader omit 586345d654 JAMES-2586 Bind PostgresMessageFastViewProjection omit 4ef4e9369f JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper omit af2f23f77e JAMES-2586 Reduce repeat count for some JMAP integration tests omit 12cc9ed17d Add sslMode to require in PostgresqlConnectionConfiguration (#2109) omit 17f5e00d3f JAMES 2586 Try forkCount=2 to see if the tests are faster omit e4d595a3a8 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module omit bb627ed685 JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection omit eece20e049 JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest omit d0cb3533e5 [Build] Use tmpfs for Postgres db test container omit c68167b1ee JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103) omit 4fe36663a7 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094) omit d596712b62 JAMES-2586 Fix PostgresAuthenticationTest omit 5bdaa27f39 JAMES-2586 Disable some tests in Integration tests JMAP postgres omit c0adff1691 JAMES-2586 Integration tests for JMAP postgres omit 49660cbd2c JAMES-2586 - Postgres push subscription - expires value should be stored Offset time omit 2d5bda4556 JAMES-2586 Implement PostgresEmailQueryView (#2007) omit 2047b69f1f JAMES-2586 Implement PostgresEventStore omit c6a5ca0287 JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS() omit f82756b17d JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution omit fbbd8bd11c JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent omit 2c7e33d21e JAMES-2586 Guice binding for PostgresNotificationRegistry omit c7eb23bd3c JAMES-2586 SQL script to clean outdated vacation notifications omit 7a07632bf5 JAMES-2586 Implement PostgresNotificationRegistry omit edb1022be3 JAMES-2586 Add Index for Postgres Mailbox table omit 3942699520 JAMES-2586 Optimize query increase/decrease for Quota Current Value omit 9605940115 JAMES-2586 Temporarily disable a flaky PostgresUploadService test omit 455414a9fc JAMES-2586 Improve PostgresVacationRepository omit 3e874a5c53 JAMES-2586 Guice binding PostgresVacationRepository omit c13bd486f0 JAMES-2586 Implement PostgresVacationRepository omit 97efc695b5 JAMES-2586 More flexible on comparing Vacation's ZonedDateTime omit 9df1f973ef JAMES-2586 Handle case when Postgres index/constraint already exists omit 86ec6f0736 JAMES-2586 Implement PostgresCustomIdentityDAO omit 2b82392799 JAMES-2586 Implement PostgresFilteringProjection omit bcfb97cdd0 JAMES-2586 Guice binding PostgresMailboxChangeRepository omit 7f6723663b JAMES-2586 Implement PostgresMailboxChangeRepository omit c1ba449e6f JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941) omit cf94e40dd5 JAMES-2586 Introduce sql script to clean up PGSL data omit 01c0aebbc4 JAMES-2586 Implement Postgres Push subscription omit 32625075f5 JAMES-2586 Disable row-level security by default in postgres.properties omit e8368ef5ef JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin omit 8aeaa0023e JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface omit 23959c13e8 JAMES-2586 Guice binding for Postgres upload omit f9f0d927ac JAMES-2586 Implement Postgres upload usage repository omit aac061e902 JAMES-2586 Implement Postgres upload repository omit b6640e6390 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding omit c3472e961a JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list omit 4f6569c09d JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue omit 3244ce07f1 JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages omit 0f14fa9fd2 JAMES-2586 Implement PostgresEmailChangeRepository omit 1222024648 JAMES-2586 Webadmin integration tests for postgres omit 0cb80fb314 JAMES-2586 - Delete attachment in DeleteMessageListener omit ad089e31a2 JAMES-2586 Implement Postgres Attachment Blob reference source omit cf6155fea1 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding omit a9d5873bfb fixup! JAMES-2586 JMAP Guice bindings modules to pg-app omit b90323d2e7 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app omit 6cef5f30d8 JAMES-2586 JMAP Guice bindings modules to pg-app omit 707e79ad6a JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests omit 43c902626d JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests omit de7073b237 JAMES-2586 Moving Managers out of the mail package omit 6260f19f94 JAMES-2586 Implement PostgresMessageFastViewProjection omit 72a6c9a7a9 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules omit 07a50c8630 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module omit 331634d094 JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion omit 4cbf01a3d1 JAMES-2586 Introduce data-jmap-postgres module omit 8772db709f JAMES-2586 Implement PostgresMessageIdMapper omit 229299bdcc JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider omit 11078dc19e JAMES-2586 Implement BlobReferenceSource(s) for postgres-app omit 7a37a16de8 JAMES-2586 - Set blobStorage implementation is postgres by default omit b519e91531 JAMES-2586 Plug PreDeletionHooks omit b2c09dabc5 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest omit 21ece74b51 JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener omit e5d447725b JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault omit 28562198fc JAMES-2586 Implement PostgresDeletedMessageMetadataVault omit b91eab58e0 JAMES-2586 Refactor the way initPostgres of PostgresTableManager omit 28d5328a9e Guice InitializationOperation support priority when init module omit fa545b46c4 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS omit 99f82e4596 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security omit 9ef99319e3 JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE omit 449868d5f8 JAMES-2586 Bump jOOQ to 3.16.23 omit f2f4626bd4 JAMES-2586 Adopt Postgres 16.1 (#1897) omit 46b4282b86 JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser omit c00b181429 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO omit 4ea1d6da9e JAMES-2586 Implement PostgresBlobStoreDAO omit 1153279486 JAMES-2586 Add a health check integration test omit 1052fa39a5 JAMES-2586 Add missing license omit e2a2740c94 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota omit a11913b406 JAMES-2586 Implement PostgresEventDeadLetters omit e5fb0e9a35 JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) omit 0c6ca3344d JAMES-2586 Implement DeleteMessageListener for postgres (#1869) omit b53a30be22 JAMES-2586 Plug RabbitMQ EventBus into Postgres-app omit 458aa48008 JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice omit 54b3391519 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql omit c134f934f3 JAMES-2586 Refactor search overrides tests for postgresql omit e7b60bc38c JAMES-2586 Correct search overrides documentation in opensearch.properties omit d3e3500e12 JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql omit b7e9970800 JAMES-2586 Implement UidSearchOverride for Postgresql omit d3e5b8a1d4 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql omit 7fcc9f42a0 JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql omit e4b37660be JAMES-2586 Implement DeletedSearchOverride for Postgresql omit 82109a6392 JAMES-2586 Implement AllSearchOverride for Postgresql omit 1868cdec53 JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) omit 5aabd87a6f JAMES-2586 Message body deduplication (#1873) omit 1b2279b216 JAMES-2586 Module chooser: S3, file blobStore omit e14e2de5e6 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser omit 76eaa168d7 JAMES-2586 Add docker compose distributed with OpenSearch for postgres app omit e0d0dd4da2 JAMES-2586 Add search module chooser for Postgres app omit 28b72b9ff6 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) omit cc786b5e09 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) omit 1c2f435585 JAMES-2586 Add an Id for SieveScript (#1863) omit 6caadcf2c6 JAMES-2586 add missing RLS tests omit e561f9e6c7 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml omit 319e5409b1 JAMES-2586 Fix compilation errors omit 3aa11df33c JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table omit de6dc5b7b7 JAMES-2586 Finally remove the rest of JPA in postgres-app omit ceb719d8c3 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository omit b0aee611c1 JAMES-2586 Documentation for PostgresMailRepository omit 3565bca721 JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code omit 8fad588747 JAMES-2586 Implement PostgresMailRepository omit 5bc7da9e78 JAMES-2586 Guice binding for PostgresSieveScriptDAO omit e69b3fe0bb JAMES-2586 Delete JPASieveScript.java omit eb802aac61 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository omit e597fc4562 JAMES-2586 ADR for Posgres mailbox tables structure (#1857) omit 4433366bab JAMES-3967 Store mails when relay is exceeded omit deba6c5134 JAMES-2586 Implement and bind PostgresHealthCheck omit 586fdaa2b2 JAMES-2586 Remove JPAMailRepositoryUrlStore.java omit f60b4875d3 JAMES-2586 Implement PostgresMailRepositoryUrlStore omit adb8bd8d82 JAMES-2586 Remove JPAHealthCheck.java omit 78de5fb2fa JAMES-2586 PostgresDelegationStore (#1851) omit eb4dbc7c66 JAMES-2586 Fixup compile error after merge master omit 7250a1560c JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable omit 8b86e7124b JAMES-2586 PostgresTableManager - Cleanup omit c612d17783 JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table omit bc2e6b1c26 JAMES-2586 PostgresExecutor: better recognize prepared statement conflict omit 99c30527ed JAMES-2586 Add a unit test for recreate RLS column should not fail omit fb7b14b9e2 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader omit 834545e4d7 JAMES-2586 Postgres app – Remove server test for authentication database sql validation omit cc4e16ce34 JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) omit 06fc808179 JAMES-2586 Fix missing guice binding for Postgres quota module omit fc43388555 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method omit 1dfa7a7e8b JAMES-2586 [PGSQL] Optimize getMailboxCounter method omit 433ebbb12e JAMES-2586 [PGSQL] Implement correctly FetchType omit 91f878312b JAMES-2586 Fully drop JPA within mailbox-postgresql omit e538c9edb6 JAMES-2586 Enable PostgresMailboxManager annotation tests omit edae72e5ad JAMES-2586 Enable UniqueID support for PostgresMailboxManager omit ee4257c8be JAMES-2586 Remove unused method in MessageManager omit 9e0a6efa03 JAMES-2586 Remove unused class MessageUtils.java omit 48dd9df935 JAMES-2586 Enable ACL support for PG omit 8d84090c3a JAMES-2586 [PGSQL] Initialization to configure users repository omit 04c2e9f43d JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) omit 09d5b1b1bf JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception omit e0709639d5 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts omit b04e600313 JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest omit 11f56f21c2 JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test omit 0aa5770537 JAMES-2586 Guide binding Postgres Message/Mailbox mapper omit 15cf8de6cf JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test omit 92ce5eb3a9 JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer omit 55507d344e JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock omit ea99aca39a JAMES-2586 - Fixup PostgresMailboxMessageDAO omit fef0e87ad4 JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages omit 70af64cf34 JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted omit b633cb0372 JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table omit d6cc2f319c JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc omit f427f8989e JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager omit 1283d89430 JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain omit c8922f7ea8 JAMES-2586 Guice bindings and package renaming for domain postgres implementation omit 532e68224f JAMES-2586 Implement PostgresDomainList omit 01786ccc95 JAMES-2586 Remove unused method in PostgresExecutor omit 6585118dfa JAMES-2586 postgres mailbox annotation dao and mapper (#1822) omit d78aebd0e8 JAMES-2586 Implement Postgres Current Quota manager omit 5dbdcd157b JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) omit 4c0d95a794 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres omit e0f0b71a6b JAMES-2586 Implement SieveQuotaRepository backed by Postgres omit 7665aa669f JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) omit a094f726d3 JAMES-2586 Implement PostgresQuotaLimitDAO omit b4f20df888 JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) omit 121628aa9e JAMES-2586 postgres users dao and repository (#1803) omit 6d6154f79e JAMES-2586 Create hstore extension if needed upon James startup omit 2b79440b8f JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper omit 8b4b6f7eef JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module omit 3fbf536fa1 JAMES-2586 Implement PostgresModSeqProvider omit 7ec59db0dc JAMES-2586 Implement PostgresUidProvider omit 45cdec7d55 JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory omit 827af65ad2 JAMES-2586 Clean-up the provision.sh file of postgres-app omit f9c1501912 JAMES-2586 LOGGER when choice implementation of Postgresql connection factory omit 713524af84 JAMES-2586 Introduce Single postgres connection factory when disable row level security omit a249503ec2 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory omit 9556adb1d4 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks omit 7566d15380 JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain omit 13a2da2796 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem omit 2ebe0f925d JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres omit c8bc02e4b9 JAMES-2586 Postgres app performance test materials (#1794) omit beae1572a4 JAMES-2586 implement postgres mailbox mapper (#1791) omit 74f8f9a5a7 JAMES-2586 implement dao for mailbox table (#1786) omit f0d691a7be JAMES-2586 Fix row-level security implementation omit f8a8cda94f JAMES-2586 Small codestyle refactorings omit 1a82a5bd9a JAMES-2586 PostgresExtension: favor factory methods to constructor omit 6d971a1fa8 JAMES-2586 Document (link) varchar underlying maximum lengths omit 3b4f0f1a95 JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions omit 6d7dd42eae JAMES-2586 Drop unused class: JPASubscription omit 79cc4715c3 JAMES-2586 Drop unused class: EncryptDecryptHelper omit c1681a6308 JAMES-2586 Drop reporting-site.xml omit ac9e4e2bb0 JAMES-2586 Drop Spring files for mailbox-postgres omit bd3a65b005 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule omit aca63f67e4 JAMES-2586 Polish code style: PostgresSubscriptionMapper omit d9ab50df32 JAMES-2586 Use prepared statements by default omit 7d6f62c40f JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage omit 3ccb3286da JAMES-2586 Rename mailbox postgres package omit 04be78c1c1 JAMES-2586 Rename Postgres Subscription omit 0f3ec3f797 JAMES-2586 Guice binding for Postgres subscription module omit 819dfede98 JAMES-2586 Fix review comments omit 6112f4c753 JAMES-2586 Sample docker configuration for postgres.properties omit 8ec6778a37 JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled omit 0b45551dfc JAMES-2586 Guice binding for PostgresTableManager omit cf73adaded JAMES-2586 Guice binding for JamesPostgresConnectionFactory omit e530833e37 JAMES-2586 Guice binding for PostgresConfiguration omit 2cbfd99bdc JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres omit 8a68ce3c22 JAMES-2586 Introduce PostgresConfiguration omit 5e6d01d60e JAMES-2586 implement pg connection factory (#1774) omit d846cbffb3 JAMES-2586 Postgres Subscription mapper (#1775) omit ee67f178a2 JAMES-2586 Introduce PostgresExtension omit a505b2a908 [CI] Maven runs test on only postgres modules (postgresql branch) omit b612012f99 JAMES-2586 PostgresTableManager support create table when enable row level security omit d2ec7c9701 JAMES-2586 - Implement PostgresTableManager omit 6d36150479 JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres omit b186f486e9 JAMES-2586 - Postgres - Init james-server-postgres-common-guice omit c3388782c4 JAMES-2586 - Postgres - Init james-server-data-postgres omit 5d1cf295a3 JAMES-2586 - Postgres - Init postgres app server omit 66dae638a8 JAMES-2586 - Postgres - Init postgres mailbox module omit 7c4a6ba139 JAMES-2586 - Postgres - Init backend common module for postgres add 0b818718ce JAMES-3491 Clean code JmapEventSerializer add 2bab305b18 [FIX] Store add a missing flush add 91090093c4 Bump commons-io to 2.17.0 add 23243b83b7 JAMES-4080 Refactor EventDeadLetters redeliver code to work with multiple serializers (#2465) add 340b31f0da JAMES-4081 Implement MailToAllUsers mailet (#2469) add 2a6f5ac759 Update Redis extensions to switch BindMode to READ_ONLY add 0fb13ffbfa JAMES-4077 Guice binding OpenSearch highlight module add be24a1558a JAMES-4077 Extract FilterQuery.validateFilter add d1146014f0 JAMES-4077 JMAP - SearchSnippet/get method (distributed only) add b36c712501 JAMES-4077 Guice binding SearchSnippetGetMethod for only distributed app add bf06c11c96 JAMES-4077 update document - searchsnippet.mdown add 7e79914287 [REFACTORING] drop unused logger add 224793b519 JAMES-2182 Remove ImapSession::supportMultipleNamespaces add 22e9ccb9c7 JAMES-2182 Inline namespace related concerns out of the mailbox session add 8b821dd731 JAMES-2182 NamespaceResponse: rely on collection rather than list add be90c814eb JAMES-2182 NamespaceProcessorTest: remove the empty test class add 4c2b38406c JAMES-2182 Inject NamespaceSupplier into its processor add 9d0ef1f670 JAMES-2182 ListProcessor: fix checkstyles add f4b1864c42 JAMES-2182 PathConverter: transform into an interface and inject add b6a9452a64 JAMES-2182 PathConverter: Add the reverse transformation MailboxPath -> mailboxname add dcd27a088b JAMES-2182 PathConverter: change arguments of mailboxName method add 5fbbe68c7d JAMES-2182 PathConverter: only mailboxes belonging to the user can be relative add 44c66bb3f6 JAMES-2182 PathConverter: more unit tests add b4723b0f02 JAMES-2182 PathConverter: handle encoding for mailboxes belonging to others add 6fc956be61 JAMES-2182 PathConverter: handle virtual hosting add a2557d58c9 JAMES-2182 PathConverter: username escaping for dots add fa9d5b5635 JAMES-2182 Partial implementation for shared folders in IMAP add 316522363b JAMES-2182 MailboxManager mailbox search for specific other user add bd673582d6 JAMES-2182 ListProcessor: handle split in reference between #user and the actual user add a37894bda2 JAMES-2182 ListProcessor: extract ListRequest -> MailboxQuery convertion to PathConverter add 7215e1a9f2 JAMES-2182 Only user folder may be special use add e00a459c5d JAMES-2182 List myrights response should preserve namespace add bd1467d64d JAMES-2182 Fix checkstyles add 018cdba07c JAMES-2182 LSUB for delegated accounts add 96efa32d70 JAMES-2182 Allow Read only selects add 95288d0d0a [REFACTORING] CreateProcessor: inline unneeded flatMap add f182ab8bde [REFACTORING] SystemMessageProcessor: remove unneeded fields add e79f8bc122 [REFACTORING] Tests for UNSUBSCRIBE add 4a0596433a JAMES-2182 PathConverter: use MailboxSession where more convenient add 65d2901ca5 JAMES-2182 Fix InMemorySecurityTest add 8f2d00127f JAMES-2182 Base test suite regarding IMAP right enforcements add 577cbe2449 JAMES-2182 Fix rights for CREATE add 089e97c254 JAMES-2182 Fix rights for DELETE add 8c517dd981 JAMES-2182 Fix rights for SETACL add 7a23c6f6a3 JAMES-2182 Fix rights for APPEND, MOVE, COPY add 1a6aa3df13 JAMES-2182 Fix rights for SELECT, STATUS add 10c96e699b JAMES-2182 Fix rights for STORE add ee0c957dc5 JAMES-2128 Ensure creating #user is forbidden add 85f69b363e [FIX] Serialized quota root should contain at least one separator (#2477) add 9e4aca8dbc [Metrics] Add a few WebSocket metrics add 2a904b0b32 JAMES-3954 Add more details on PartialRange validity add 1f2140a6a7 JAMES-3954 PartialRange might be reversed add be0c63b39e [ENHANCEMENT] SessionId onto IMAP ID log add 7db768a540 [ENHANCEMENT] mailUserAgent in IMAP MDC add 9b03b82aa1 JAMES-2182 Sharing for IMAP - Fix script ValidateDeployment.test (#2484) add 74cea3952d JAMES-3754 Update IMAP4 ID - return NIL, replace to empty list add d349bfcf9b JAMES-3754 Update IMAP ID Extension - support return id fields response when configured add 2aa6c35b67 [Metrics] Expose a few useful Reactor Netty metrics (#2483) add 17af994c8f posting right in JMAP for subaddressing (#2473) add afb9246d74 JAMES-4084 Implement webadmin to list inactive users (#2474) add b4e7f4cda4 JAMES-4082 Move MimePartParser and related classes from the `opensearch` module to the `mailbox-store` module add a4191571ef JAMES-4082 Introduce LuceneIndexableDocument add 956d5cc8b1 JAMES-4082 Adapt Lucene search - support full capability add fcc410b70e JAMES-4082 Lucene search - remove unused code & clean add cf4a4cc421 JAMES-4082 Update bean for LuceneMessageSearchIndex (Spring/JPA app) add f4912da7b3 JAMES-2182 Lucene search - remove SearchCapabilities.PartialEmailMatch (performance reason) add 164404f9b8 JAMES-2182 Lucene search highlight - moving test case `shouldHighlightAttachmentTextContentWhenTextBodyDoesNotMatch` to contract class add ed88ea9e47 JAMES-4077 Back memory-app with Lucene add 3c98c5fe8b JAMES-4077 Re-guice binding SearchSnippetGetMethod add 563f2fb62e JAMES-4038 EHLO: IPV6 check should not be case sensitive add a72f2d2463 JAMES-4038 Improve invalid hostname log add 8a7f9e9f7d [IMPROVEMENT] mock-smtp-server (parameters without values) (#2489) add 2628a5b62e JAMES-4086 Mailet for folding long lines (#2490) add e21b9c8326 [ENHANCEMENT] Increase log level for IMAP parsing failure -> INFO add d43cfea12c [ENHANCEMENT] Ensure the MDC context is carried over upon IMAP parsing errors add bfab4540d1 IMAP - IDLE Command - Add test cases when authenticated state (#2498) add ce6297a98f JAMES-4087 Allow chaining composite matcher add b077e41d63 JAMES-4087 Allow chaining composite matcher for inverted matcher add 982b353853 JAMES-4087 Mailet should be able to use composite matcher as inverted matcher add 9d0d62d258 JAMES-4087 Test: move composite matchers to a dedicated test processor add b9dcb7c95a JAMES-4087 Add test combining MatcherInverter (notmatch) and composite matchers add 8a7f3fbfda JAMES-4087 Use Optional to handle null add 96a1d3e69e JAMES-4087 Rephrase MatcherInverterTest::testOneMatch to better reflect real usage add 0e423bbdc0 JAMES-4087 Document notmatch tag add 743c6983b7 Fix mailboxSetShouldCreateChildMailboxWhenSharedParentMailboxWithCreateRight in MailboxSetMethodContract add 0c24a9021d [ISSUE-5314] enhanced error handling for `MailboxSetUpdatePerformer` add 8601db7179 [ISSUE-5314] refactored `MailboxSet` to use `EntryKey` instead of `Username` add b9e7792ca7 [ISSUE-5314] refactored `Rights.scala` to use `EntryKey` instead of `Username` add c688f988b6 [ISSUE-5314] integration tests for JMAP sharing with keyword `anyone` add d014a4bc32 [ISSUE-5314] only the `p` right can be granted to `anyone` add e536f2e8cd JAMES-2456 Update Tika to version 3.0.0.0 add 798dce9a90 JAMES-2456 CassandraWithTikaTest should properly load Tika module add 88155b18d9 JAMES-2456 Add a Tika integration test for Distributed app add 772eff0efb JAMES-2586 - Postgres - Init backend common module for postgres add fc53a3f0d9 JAMES-2586 - Postgres - Init postgres mailbox module add ed33d490a5 JAMES-2586 - Postgres - Init postgres app server add 2d0440b9f7 JAMES-2586 - Postgres - Init james-server-data-postgres add eabeeb28fe JAMES-2586 - Postgres - Init james-server-postgres-common-guice add 89a2d9763b JAMES-2586 - Postgres - Init james-serrver-guice-mailbox-postgres add dda119e76f JAMES-2586 - Implement PostgresTableManager add 5bd7a7e07d JAMES-2586 PostgresTableManager support create table when enable row level security add c1b6790448 [CI] Maven runs test on only postgres modules (postgresql branch) add 37457d974c JAMES-2586 Introduce PostgresExtension add b268b3c1bb JAMES-2586 Postgres Subscription mapper (#1775) add d42333aacc JAMES-2586 implement pg connection factory (#1774) add 904a11339a JAMES-2586 Introduce PostgresConfiguration add fa8dbc7325 JAMES-2586 Rename postgres-app tests' name: JPA -> Postgres add fa542decf4 JAMES-2586 Guice binding for PostgresConfiguration add 2c8a0cfbc3 JAMES-2586 Guice binding for JamesPostgresConnectionFactory add 1f4ad7b558 JAMES-2586 Guice binding for PostgresTableManager add 28213d1e5c JAMES-2586 PostgresTableManager should only create RLS column when general RLS configuration enabled add fef913db22 JAMES-2586 Sample docker configuration for postgres.properties add 45eb5a8538 JAMES-2586 Fix review comments add 5a51194152 JAMES-2586 Guice binding for Postgres subscription module add 30408a03e6 JAMES-2586 Rename Postgres Subscription add ac393bb400 JAMES-2586 Rename mailbox postgres package add 10c7009496 JAMES-2586 postgres mailbox - drop JPAStreamingMailboxMessage, JPAEncryptedMailboxMessage, JPAMailboxMessageWithAttachmentStorage add 39e43ae235 JAMES-2586 Use prepared statements by default add 8dac26ef7a JAMES-2586 Polish code style: PostgresSubscriptionMapper add c38194af28 JAMES-2586 Merge PostgresSubscriptionTable and PostgresSubscriptionModule add d65438e612 JAMES-2586 Drop Spring files for mailbox-postgres add 2b959cff1d JAMES-2586 Drop reporting-site.xml add 3db59e8b80 JAMES-2586 Drop unused class: EncryptDecryptHelper add 9351de28f0 JAMES-2586 Drop unused class: JPASubscription add 835be1578f JAMES-2586 Implement (failing) tests for Row Level Security applied on Subscriptions add 917cdec454 JAMES-2586 Document (link) varchar underlying maximum lengths add e5dab7952f JAMES-2586 PostgresExtension: favor factory methods to constructor add d23663c66c JAMES-2586 Small codestyle refactorings add 46b07566c4 JAMES-2586 Fix row-level security implementation add 6493b1c409 JAMES-2586 implement dao for mailbox table (#1786) add 0a845dc559 JAMES-2586 implement postgres mailbox mapper (#1791) add ef5f09d68b JAMES-2586 Postgres app performance test materials (#1794) add 4242d51493 JAMES-2586 Introduce apache-james-mpt-imapmailbox-postgres add 9d1eef0434 JAMES-2586 mpt-imapmailbox-postgres: bindings and setup in PGHostSystem add a1cfa2f09f JAMES-2586 SimpleJamesPostgresConnectionFactory – set empty attribute value when without domain add 687fa064c4 JAMES-2586 mpt-imapmailbox-postgres - update maven build, increase memory and disable reuseForks add 9be6af87f1 JAMES-2586 Rename SimpleJamesPostgresConnectionFactory -> DomainImplPostgresConnectionFactory add df2c9212d1 JAMES-2586 Introduce Single postgres connection factory when disable row level security add f4d541af7f JAMES-2586 LOGGER when choice implementation of Postgresql connection factory add cbcdceb566 JAMES-2586 Clean-up the provision.sh file of postgres-app add f1732ca6ab JAMES-2586 Parameterize MailboxSession for getUidProvider/getModSeqProvider methods in MailboxSessionMapperFactory add 7689447024 JAMES-2586 Implement PostgresUidProvider add 69169d7624 JAMES-2586 Implement PostgresModSeqProvider add 8e95205f27 JAMES-2586 Implement PostgresExecutor Factory and Mailbox Aggregate Module add ff417cbb47 JAMES-2586 Implement MailboxACL support for PostgresMailboxMapper add 181e2daac7 JAMES-2586 Create hstore extension if needed upon James startup add c08c9eea2a JAMES-2586 postgres users dao and repository (#1803) add 92ebc568a6 JAMES-2586 Implement PostgresQuotaCurrentValueDAO (#1813) add 2055df0f91 JAMES-2586 Implement PostgresQuotaLimitDAO add ee922cd718 JAMES-2586 Clean Code – the using PostgresExecutor.Factory (#1816) add 0a68c14b84 JAMES-2586 Implement SieveQuotaRepository backed by Postgres add 62bcc52d28 JAMES-2586 Guice binding for SieveQuotaRepository backed by Postgres add 8d3d90360a JAMES-2586 Implement PostgresMailboxMessageDAO (#1812) add 31b2dd06ac JAMES-2586 Implement Postgres Current Quota manager add ba2875578e JAMES-2586 postgres mailbox annotation dao and mapper (#1822) add 5a4ddfb47d JAMES-2586 Remove unused method in PostgresExecutor add a175921c76 JAMES-2586 Implement PostgresDomainList add 97ccd78f51 JAMES-2586 Guice bindings and package renaming for domain postgres implementation add 9e58f064eb JAMES-2586 DomainList Should throw when insert duplicate or delete not found domain add fb49083b51 JAMES-2586 Fix Guice bindings between PostgresDomainList and PostgresTableManager add a85ce52792 JAMES-2586 postgres-app should run tests against Postgresql container for both JPA and Postgres r2dbc add cfc7fcea98 JAMES-2586 - MailboxMessage table - Remove FK key to mailbox table add 6ea4b135cb JAMES-2586 - Fixup PostgresMessageMapper findMailbox method - ensuring the message was sorted add ec3a7c2bee JAMES-2586 - Fixup PostgresMessageMapper updateFlags method - apply single new modSeq for all messages add 23a7863693 JAMES-2586 - Fixup PostgresMailboxMessageDAO add b0c51e14c4 JAMES-2586 - Postgres Mailbox DAO - Fix rename deadlock add 8897cef48a JAMES-2586 - Postgres MailboxAnnotation DAO - Fix null pointer add 9583ddb74d JAMES-2586 - Introduce PostgresMailboxSessionMapperFactoryTODO and using it to mpt imap test add 89316966d0 JAMES-2586 Guide binding Postgres Message/Mailbox mapper add bf4dc450ac JAMES-2586 Fix Postgres Mailbox Annotation mpt imap test add 2c3ec983a9 JAMES-2586 Rework ConnectionThreadSafetyTest -> PostgresExecutorThreadSafetyTest add 20f660deb3 JAMES-2586 PostgresExecutor: Retry upon PreparedStatement conflicts add 5171ada848 JAMES-2586 PostgresExecutor: Retry only upon PreparedStatement conflict exception add 2352e5e13b JAMES-2586 Implement PostgresPerUserMaxQuotaManager (#1839) add a1e5d5ac44 JAMES-2586 [PGSQL] Initialization to configure users repository add ed1af85285 JAMES-2586 Enable ACL support for PG add a1993cbb43 JAMES-2586 Remove unused class MessageUtils.java add 40aa9502df JAMES-2586 Remove unused method in MessageManager add 6b9eefd087 JAMES-2586 Enable UniqueID support for PostgresMailboxManager add 33cbf9393f JAMES-2586 Enable PostgresMailboxManager annotation tests add 078cfc9b06 JAMES-2586 Fully drop JPA within mailbox-postgresql add 830f16cf9d JAMES-2586 [PGSQL] Implement correctly FetchType add 44f8152ae7 JAMES-2586 [PGSQL] Optimize getMailboxCounter method add 0ee7e49d78 JAMES-2586 [PGSQL] Improve PostresMessageManager::getMetadata method add 9a61bb830c JAMES-2586 Fix missing guice binding for Postgres quota module add e38e3957cc JAMES-2586 Fixup - Postgres app - Use junit 5 (replace to junit 4) add 96244ec74a JAMES-2586 Postgres app – Remove server test for authentication database sql validation add c381468d91 JAMES-2586 Rename JPAAttachmentContentLoader to PostgresAttachmentContentLoader add c636c8a5ba JAMES-2586 Add a unit test for recreate RLS column should not fail add d5bf0fca4c JAMES-2586 PostgresExecutor: better recognize prepared statement conflict add 7399a7580f JAMES-2586 PostgresTableManager - Check the existence of RLS column/policy before alter the table add 65cc0cdadd JAMES-2586 PostgresTableManager - Cleanup add 7f141bd5e1 JAMES-2586 PostgresRecipientRewriteTableDAO and PostgresRecipientRewriteTable add dcd2b563d2 JAMES-2586 Fixup compile error after merge master add 5078e513ae JAMES-2586 PostgresDelegationStore (#1851) add 898bc1974c JAMES-2586 Remove JPAHealthCheck.java add 0a5014f390 JAMES-2586 Implement PostgresMailRepositoryUrlStore add 80147c1c59 JAMES-2586 Remove JPAMailRepositoryUrlStore.java add 6ad1a9efbe JAMES-2586 Implement and bind PostgresHealthCheck add d0eeec7222 JAMES-3967 Store mails when relay is exceeded add ec2f79e923 JAMES-2586 ADR for Posgres mailbox tables structure (#1857) add 0b30be7d48 JAMES-2586 Implement PostgresSieveScriptDAO + PostgresSieveRepository add 072b5820a6 JAMES-2586 Delete JPASieveScript.java add ebe7b2aeb8 JAMES-2586 Guice binding for PostgresSieveScriptDAO add 7e7cc28468 JAMES-2586 Implement PostgresMailRepository add 58d7dbbe07 JAMES-2586 Guice binding for PostgresMailRepository + remove related JPA code add 144f8331d1 JAMES-2586 Documentation for PostgresMailRepository add cec0097064 JAMES-2586 Updating postgres-app default configuration to PostgresMailRepository add b29c92039b JAMES-2586 Finally remove the rest of JPA in postgres-app add 2c1e960f81 JAMES-2586 Add an `addAdditionalAlterQueries` option when declaring Postgres table add e63249cebe JAMES-2586 Fix compilation errors add d47533c679 JAMES-2586 Fix repositoryPath in postgres-app mailetcontainer.xml add 2ddfdb393a JAMES-2586 add missing RLS tests add e1085eac1e JAMES-2586 Add an Id for SieveScript (#1863) add f7332a78a0 JAMES-2586 Fix [PGSQL] Concurrency control for flags updates (#1858) add a7fd023f85 [PGSQL] ADR on PGSQL flags update concurrency control mechanism (#1867) add ef5f112b80 JAMES-2586 Add search module chooser for Postgres app add bdc86ee389 JAMES-2586 Add docker compose distributed with OpenSearch for postgres app add c2cd8bf2c8 JAMES-2586 Rework README for Postgres-app and rework the docker compose with only Postgresql after adding search module chooser add b74688edc3 JAMES-2586 Module chooser: S3, file blobStore add 6985749bc7 JAMES-2586 Message body deduplication (#1873) add 7f17a84c2f JAMES-2586 Remove james-server-cassandra-app direct dependency (#1875) add ff58b6efb6 JAMES-2586 Implement AllSearchOverride for Postgresql add 9af5b5a793 JAMES-2586 Implement DeletedSearchOverride for Postgresql add ab6411393d JAMES-2586 Implement DeletedWithRangeSearchOverride for Postgresql add 1a4296f726 JAMES-2586 Implement NotDeletedWithRangeSearchOverride for Postgresql add 7ebc6cc2ce JAMES-2586 Implement UidSearchOverride for Postgresql add de590afd9b JAMES-2586 Implement UnseenSearchOverrideTest for Postgresql add 30a87b166d JAMES-2586 Correct search overrides documentation in opensearch.properties add 9c49cd5748 JAMES-2586 Refactor search overrides tests for postgresql add 72d8ed3d71 JAMES-2586 Unnecessary join on deleted uid search queries in postgresql add ca9b5ae8b0 JAMES-2586 Moving RabbitMQExtension from distributed-app to queue-rabbitmq-guice add 7ad422470f JAMES-2586 Plug RabbitMQ EventBus into Postgres-app add a8eb3adac2 JAMES-2586 Implement DeleteMessageListener for postgres (#1869) add eb99a0fe1c JAMES-2586 Fixup search overrides - Using Postgres Factory Executor replace to invoke DAO directly (#1880) add eb950cf2f0 JAMES-2586 Implement PostgresEventDeadLetters add df50426308 JAMES-2586 Fix flaky test DistributedPostgresJamesServerTest.guiceServerShouldUpdateQuota add e87381563d JAMES-2586 Add missing license add ae0a9545a2 JAMES-2586 Add a health check integration test add afc80ce63c JAMES-2586 Implement PostgresBlobStoreDAO add ac004434e5 JAMES-2586 Disable concurrent test of PostgresBlobStoreDAO add 1b35f9368a JAMES-2586 [PGSQL] Guice binding Postgres BlobStore & Adapt to BlobStoreModulesChooser add 510fe76525 JAMES-2586 Adopt Postgres 16.1 (#1897) add acdc76a394 JAMES-2586 Bump jOOQ to 3.16.23 add d5e7e779cb JAMES-2586 Bump r2dbc-postgresql to 1.0.3.RELEASE add 8bf2587c41 JAMES-2586 - Update test cases for Delete message listener - when enabling Row level security add 74eecbaab5 JAMES-2586 - Fix BUG - DeleteMessageListener - not work correctly when enabling RLS add 4777766c5b Guice InitializationOperation support priority when init module add 93231be1ad JAMES-2586 Refactor the way initPostgres of PostgresTableManager add 992c0e2842 JAMES-2586 Implement PostgresDeletedMessageMetadataVault add a7d90a94e6 JAMES-2586 Guice binding + module chooser + sample config for Postgres DeletedMessageVault add c447c5f33e JAMES-2586 Plug DeletedMessageVaultDeletionCallback into DeleteMessageListener add 1062962138 JAMES-2586 PostgresDeletedMessageVaultIntegrationTest add 790826e435 JAMES-2586 Plug PreDeletionHooks add 0306730a15 JAMES-2586 - Set blobStorage implementation is postgres by default add 3885f65459 JAMES-2586 Implement BlobReferenceSource(s) for postgres-app add 0b78cedc52 JAMES-2586 add mailbox para for generateMessageUid method in MapperProvider add 8981f51bba JAMES-2586 Implement PostgresMessageIdMapper add d3d3fc90f2 JAMES-2586 Introduce data-jmap-postgres module add 745a055f4a JAMES-2586 DeleteMessageListener: better concurrency control upon mailbox deletion add 678565f560 JAMES-2586 Jenkinsfile: run tests for `server/data/data-jmap-postgres` module add f9116aa3e0 JAMES-2586 - CLEAN CODE - Guice binding for Postgres User Repository modules add 9d33a29e64 JAMES-2586 Implement PostgresMessageFastViewProjection add d25ffe3bd9 JAMES-2586 Moving Managers out of the mail package add 67ed97a482 JAMES-2586 Wire StoreMessageIdManager on top of the PostgresMessageIdMapper + tests add b74a4681c2 JAMES-2586 Little refactoring around DeleteMessageListener binding in posgres mailbox tests add e989cf41bc JAMES-2586 JMAP Guice bindings modules to pg-app add e80f206c35 fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add cef5a46edd fixup! JAMES-2586 JMAP Guice bindings modules to pg-app add 85278b26a1 JAMES-2586 Implement PostgresAttachmentMapper, DAO and binding add 8488e9c01d JAMES-2586 Implement Postgres Attachment Blob reference source add 0fd0ddbe0f JAMES-2586 - Delete attachment in DeleteMessageListener add f01fdb86d8 JAMES-2586 Webadmin integration tests for postgres add 0c5f8b2158 JAMES-2586 Implement PostgresEmailChangeRepository add b24b373e1c JAMES-2586 - Delete Message Listener - add test case when delete mailbox has a lot of messages add 45c108d4cd JAMES-2586 - Fixbug - Delete Message Listener - Fix hanging issue add 3663d005ff JAMES-2586 - Fixbug hanging issue when Jooq execute delete and return list add e18ada2cd7 JAMES-2586 Implement PostgresEmailChangeRepository - Fixup Guice binding add eaa7bd58fe JAMES-2586 Implement Postgres upload repository add d20a64acee JAMES-2586 Implement Postgres upload usage repository add 436c9915b9 JAMES-2586 Guice binding for Postgres upload add 5aa9b9ccba JAMES-2586: The UploadRepositoryCleanupTask should rely on the UploadRepository interface add 9dd8f23e47 JAMES-2586: Guice binding JmapUploadCleanupModule for Postgres webadmin add 5b71db3bf9 JAMES-2586 Disable row-level security by default in postgres.properties add ecd2c6f7be JAMES-2586 Implement Postgres Push subscription add e3d2df9c75 JAMES-2586 Introduce sql script to clean up PGSL data add 7c612742e6 JAMES-2586 Implement PostgresThreadIdGuessingAlgorithm (#1941) add 0e0fab8891 JAMES-2586 Implement PostgresMailboxChangeRepository add 583fc58cb4 JAMES-2586 Guice binding PostgresMailboxChangeRepository add bf2d478ca9 JAMES-2586 Implement PostgresFilteringProjection add b48bfac525 JAMES-2586 Implement PostgresCustomIdentityDAO add 507992e012 JAMES-2586 Handle case when Postgres index/constraint already exists add 5800155252 JAMES-2586 More flexible on comparing Vacation's ZonedDateTime add fc2f06c4c3 JAMES-2586 Implement PostgresVacationRepository add 8792a77aaf JAMES-2586 Guice binding PostgresVacationRepository add 344aaae197 JAMES-2586 Improve PostgresVacationRepository add ec80267f49 JAMES-2586 Temporarily disable a flaky PostgresUploadService test add b285d8e011 JAMES-2586 Optimize query increase/decrease for Quota Current Value add 5daa5e03d7 JAMES-2586 Add Index for Postgres Mailbox table add 579fe60d2b JAMES-2586 Implement PostgresNotificationRegistry add 507c548fae JAMES-2586 SQL script to clean outdated vacation notifications add e33e5110c1 JAMES-2586 Guice binding for PostgresNotificationRegistry add d3fd416387 JAMES-2586 Fix contract test NotificationRegistryContract::registerShouldNotPersistWhenExpiryDateIsPresent add 85ea45a7b3 JAMES-2586 [Documentation] Using pg_stat_statements extension for track the stats of the SQL statement execution add 87fa8b716e JAMES-2586 Avoid Using COUNT() in SQL When You Could Use EXISTS() add e6a5bad158 JAMES-2586 Implement PostgresEventStore add 745319b33b JAMES-2586 Implement PostgresEmailQueryView (#2007) add 483e70f7c4 JAMES-2586 - Postgres push subscription - expires value should be stored Offset time add de243d507a JAMES-2586 Integration tests for JMAP postgres add fac98cbcce JAMES-2586 Disable some tests in Integration tests JMAP postgres add bf94906ca3 JAMES-2586 Fix PostgresAuthenticationTest add 0baf45a478 JAMES 2586 PostgresPushSubscriptionRepository: rely on Postgres unique constraint for deviceClientId (#2094) add e46b2cfa1d JAMES-2586 [Postgres] FIXUP when query with IN - should pre-check collection size (#2103) add 6f6e6fdbed [Build] Use tmpfs for Postgres db test container add dcff18874f JAMES-2586 Fix PostgresPushSubscriptionSetMethodTest, PostgresThreadGetTest add 9c693ee421 JAMES-2586 Replace drop by truncate in PostgresMessageFastViewProjection add d6b48d2705 JAMES 2586 Increase timeout to 1 hour for postgres-jmap-integration-test module add b0b9d4a5f2 JAMES 2586 Try forkCount=2 to see if the tests are faster add c09a9beb45 Add sslMode to require in PostgresqlConnectionConfiguration (#2109) add 0c687a91fa JAMES-2586 Reduce repeat count for some JMAP integration tests add 80d22d08b5 JAMES-2586 Add PostgresAttachmentMapper to PostgresMessageIdMapper add a3cfcab154 JAMES-2586 Bind PostgresMessageFastViewProjection add 8cd76def0a JAMES-2586 Optimize AttachmentLoader add 13c76c666e JAMES-2586 Fix PostgresEmailGetMethodTest add 5afe1a9cdc JAMES-2586 Fix PostgresEmailQueryMethodTest add 76a1c133b8 JAMES-2586 Fix PostgresMailboxSetMethodTest add fbdca8f16f JAMES-2586 remove redundant import in PostgresPushSubscriptionSetMethodTest add f222e6cd06 JAMES-2586 Remove opensearch in PostgresWebPushTest add 1de9dcccc8 JAMES-3925 - JMAP Upload - Method delete of Upload Repository should return Boolean value when applied add a1cef8b77e JAMES-2586 - JMAP Upload - Fix unstable UploadService test add e06dd5200d JAMES-2586 Fix Postgres build after rebase on master add c95cee5b5c JAMES-2586 JMAP Upload - fix precision of uploadDate field add 5ca23900ce JAMES-2586 Refactor the handle way duplicate value on constraint index to avoid noise log (Mailbox and User table) add 83d035eda4 JAMES-2586 [REFACTORING] - PostgresTableManager - fix incorrect log add 1f1ebe2f85 JAMES-2586 Avoid sorting PG messages add 3b0c20bb34 JAMES-2586 [REFACTORING] - Extract dedicated class for retrieving Postgres Message add 27d3677e97 JAMES-2586 Fix MailboxSetMethodContract add c6a8dfe564 JAMES-2586 Avoid declare jooq and r2dbc-postgresql version in multiple places add bfa4d3cef3 JAMES-2586 Bump jOOQ to 3.19.6 add 1a40ca5a17 JAMES-2586 Bump r2dbc-postgresql to 1.0.4 add 35dafe006b JAMES-2586 Adapt jooq 3.19.6 change add c9e8276408 JAMES-2586 Postgres RewriteTablesTest should not fail unstable test phase add 6019fbfcf1 JAMES-2586 Create AttachmentIdFactory add 1cedbd001f JAMES-2586 Add UuidBackedAttachmentIdFactory add 81267bf881 JAMES-2586 Update Guice binding Postgres (#2154) add e31573c58e Duplicated the QuotaDTO event and related classes from quota-mailing-cassandra to quota-mailing module add 29756edb3b Refactor cassandra-quota-mailing: using the QuotaDTO event and related classes from quota-mailing module add 1d0afaaae4 JAMES-2586 Postgres - Binding QuotaMailing module for postgres app Tung Tran 10 minutes ago add 781d21400e JAMES-2586 Postgres - Guice binding EventDTO for DLP Configuration add d2c29b996d JAMES-2586 Postgres - Guice binding EventDTO for FilteringRuleSetDefine add b01674f12c JAMES-2586 - [Revert] Optimize query increase/decrease for Quota Current Value add dc59734ba5 Revert "Provision Current Quota when MailboxAdded event" add 6fbcc8882e JAMES-2586 Introduce module task-postgres add bba9cea583 JAMES-2586 Implement PostgresTaskExecutionDetailsProjection add 83c45bd657 JAMES-2586 Relax TaskExecutionDetailsProjectionContract: can compare ZonedDateTime(s) with different timezones add 5d79439793 JAMES-2586 Guice binding Distributed TaskManager for postgres-app add a46f70ff09 JAMES-2586 Disable DistributedTaskSerializationModule add 723d6a17fa JAMES-2586 Add missing cleanup task webadmin routes add 618dd21661 JAMES-2586 Do not use ActiveMQ mail queue when distributed mode add 0449104bae JAMES-2586 Add binding for DKIMMailetModule add e63c8fcfc3 JAMES-2586 - Postgres - Bind DistributedTaskSerializationModule into postgres-app add 5b4b84b14f JAMES-2586 - Postgres - Binding ACLUpdated Event DTO add d7c2515642 JAMES-2586 PopulateEmailQueryViewTask should not hang for postgres-app (#2179) add 5f5c62b54f JAMES-2586 Fix flaky tests in EmailQueryMethodTest add e3f2f67b78 JAMES-2586 Enable flaky tests in PostgresEmailQueryMethodTest add 7d72763283 JAMES-2586 Apply reactor timeout for jOOQ add fbc1a73ec4 JAMES-2586 Mitigate fix for https://github.com/jOOQ/jOOQ/issues/16556 add a5f542b551 JAMES-2586 Create metrics for PostgresExecutor add 03ea4c2483 JAMES-2586 Update postgresql guice binding - adapt after rebase master (remove Jmap draft) add a481eccc41 JAMES-2586 [UPDATE] [PGSQL] more javax APIs migrated to jakarta add aaa9158da0 [BUILD] Jenkinsfile - add module server/blob/blob-postgres add 22c680968a JAMES-2586 Disable some unstable tests of PostgresBlobStoreDAOTest add d014982399 JAMES-2586 Implement PoolBackedPostgresConnectionFactory add fef18c6f2e JAMES-2586 Update PostgresCommonModule to use PoolBackedPostgresConnectionFactory add d382ff20db JAMES-2586 Add connection pool config to PostgresConfiguration add 1098b0469a JAMES-2586 Close postgres connections when the app shutdown add 2fd9076a19 JAMES-2586 Fix some disabled tests in PostgresBlobStoreDAOTest by using connection pool add 75923639fe JAMES-2586 Create rls-bypass instance for PoolBackedPostgresConnectionFactory add 944b0c4ed7 JAMES-2586 Update PoolBackedPostgresConnectionFactory to avoid running set-domain command in case of empty domain add 722c8c0aa2 JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline add 9c0f7d7fd3 JAMES-2586 Postgres app should use Java 21 base image (#2277) add a59aaa8ef7 JAMES-2586 - Rename class DeletedMessageVaultDeletionCallback -> PostgresDeletedMessageVaultDeletionCallback (#2280) add 885db3c91a [BUILD] Increase jOOQ reactive timeout for testing (#2301) add 19ab6dfdf2 JAMES-3946 Add a DropLists postgresql backend (#2290) add b47dd479a6 JAMES-2586 Clean/Refactor PostgresExtension add 59c2836e17 JAMES-2586 Drop SinglePostgresConnectionFactory add ee2b610ee6 JAMES-2586 Drop DomainImplPostgresConnectionFactory add 9fba75e412 JAMES-2586 Refactor JamesPostgresConnectionFactory: distinctly getConnection api add eb5e4a14a2 JAMES-2586 Re naming "non-rls" to "by-pass-rls" add 88dc5f5de2 JAMES-2586 [UPGRADE] jooq 3.19.6 -> 3.19.9 add 47830e43e4 JAMES-2586 [UPGRADE] r2dbc.postgresql.version 1.0.4.RELEASE => 1.0.5.RELEASE add 9d456e2df4 JAMES-2586 [UPGRADE] org.testcontainers:postgresql 1.19.1 -> 1.19.8 add 5188e96c62 JAMES-2586 [UPGRADE] Postgres docker image 16.1 -> 16.3 add f4dccf4df0 JAMES-2586 - Update primaryKey constraint for Postgres mailbox_change and email_change add 898afad190 JAMES-2586 (RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper -create new table MailboxMember (username, mailbox_id) -create dao for new table -create RLSSupportPostgresMailboxMapper to use MailboxMember -update bindings to use RLSSupportPostgresMailboxMapper in case rls is enabled add ce193c5e5e JAMES-2586 (NON_RLS) Optimize findNonPersonalMailboxes method in PostgresMailboxMapper - create index for mailbox_acl column in case rls is disabled - update findNonPersonalMailboxes method in PostgresMailboxMapper and PostgresMailboxDAO add bc083420b9 JAMES-2586 Refactor code after optimizing findNonPersonalMailboxes method - Update AdditionalAlterQuery in PostgresTable - check if upsertACL actually successful - replace batch method - remove duplicated code in PostgresMailboxMapper and RLSSupportPostgresMailboxMapper add 5866052161 JAMES-2586 Change boolean rlsEnabled to enum RowLevelSecurity add 31eb5e19b2 JAMES-2586 [PGSQL] Fix checkstyle & adapt code after rebase master add 1b84078786 JAMES-2586 Fix sequential issue with updating flags in the reactive pipeline - Update: disabled for cassandra weakWrite add ba9383dd30 JAMES-2586 Fix BlobStoreConfigurationTest add 634f1fb72a [ENHANCEMENT] Better reactify Identity methods - update for Postgres add 2824c73212 JAMES-2586 Fixup PostgresPushSubscriptionSetMethodTest - add ClockMQExtension add 1e8f06a471 Disable test: JamesWithNonCompatibleElasticSearchServerTest add fb99735174 Fixup - add missing dependencies in apache-james-mpt-smtp-cassandra-rabbitmq-object-storage add de213b5dd4 [Antora] [PGSQL] Setup postgresql James server documentation section add 8a397d3d2e [Antora] [PGSQL] Objectives and motivation page for postgres doc add 8795519b0e [Antora] Make partial for server configure section & clean format add 6594116059 [Antora] [PGSQL] Add Configuration section to postgresql doc add ddbc265f70 [Antora] [PGSQL] Add Performance benchmarks section to postgresql doc add f164d7e97f [Antora] Make partial for server Architecture section add a4de16724c [Antora] [PGSQL] Architecture section for postgres doc add 1845563fae [Antora] Make partial for server Operate section & clean format add e390b23105 [Antora] [PGSQL] Add Operate section to postgresql doc add c3a2f6945b [Antora] Add run section to postgresql documentation add 1e1a468c50 [Antora] Add missing link in run with docker page to james cli commands documentation page add db40043d4c [Antora] [PGSQL] Add Extending to postgresql doc add 28cfac2170 JAMES-4054 Remove X-SMIME-Status header in mailetcontainer.xml add 49b8a75809 Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james-cli add 0fea3264e6 Bump jOOQ to 3.19.13 add 47596365c7 Bump r2dbc-postgresql to 1.0.7.RELEASE add e8923f4bcf [PGSQL] Adapt from new master code - BlobId.Factory add d24a48f738 [PGSQL] Adapt from new master code - TypeStateFactory add 928ccb3d12 [PGSQL] Adapt from new master code - SearchQuery add 2ed353069a [PGSQL] Disable PostgresAuthenticatedStateTest.rightsCommandsShouldBeSupported add 38c880ac9e JAMES-2586 - Fixup InMemoryUploadRepository.deleteByUploadDateBefore This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (61b6018f2c) \ N -- N -- N refs/heads/postgresql-backup (38c880ac9e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../backends/redis/RedisClusterExtension.java | 2 +- .../redis/RedisMasterReplicaExtension.java | 6 +- .../backends/redis/RedisSentinelExtension.java | 16 +- .../james/backends/redis/RedisTLSExtension.java | 6 +- docs/modules/servers/partials/FoldLongLines.adoc | 7 + docs/modules/servers/partials/MailToAllUsers.adoc | 25 + docs/modules/servers/partials/configure/imap.adoc | 3 + docs/modules/servers/partials/configure/jvm.adoc | 12 + .../partials/configure/mailetcontainer.adoc | 31 +- .../modules/servers/partials/operate/webadmin.adoc | 12 + .../james/events/EventSerializersAggregator.java | 70 ++ .../org/apache/james/events/RabbitMQEventBus.java | 2 - .../org/apache/james/mailbox/MailboxManager.java | 3 +- .../org/apache/james/mailbox/MailboxSession.java | 55 -- .../org/apache/james/mailbox/model/MailboxACL.java | 14 +- .../apache/james/mailbox/model/MailboxPath.java | 6 +- .../james/mailbox/model/search/PrefixedRegex.java | 22 +- .../apache/james/mailbox/MailboxManagerTest.java | 138 +++- .../mailbox/model/search/PrefixedRegexTest.java | 4 +- .../searchhighligt/SearchHighLighterContract.java | 39 + .../james/event/json/dtos/QuotaRootTest.java | 5 +- mailbox/lucene/pom.xml | 11 + .../lucene/search/DocumentFieldConstants.java | 253 ++++++ .../lucene/search/LuceneIndexableDocument.java | 289 +++++++ .../lucene/search/LuceneMessageSearchIndex.java | 589 ++----------- .../lucene/search/LuceneSearchHighlighter.java | 31 +- .../META-INF/spring/mailbox-index-lucene.xml | 2 + .../search/LuceneFSSearchHighLighterTest.java | 3 +- .../search/LuceneMailboxMessageFlagSearchTest.java | 5 +- .../LuceneMailboxMessageSearchIndexTest.java | 3 +- .../search/LuceneMemorySearchHighLighterTest.java | 4 +- .../search/LuceneMessageSearchIndexTest.java | 25 +- .../OpenSearchListeningMessageSearchIndex.java | 3 +- .../{SerializableMessage.java => EMailerDto.java} | 8 +- .../mailbox/opensearch/json/EMailersDto.java} | 24 +- .../{SerializableMessage.java => HeaderDto.java} | 11 +- .../mailbox/opensearch/json/IndexableMessage.java | 52 +- .../mailbox/opensearch/json/MimePartDto.java} | 31 +- .../{SerializableMessage.java => SubjectsDto.java} | 6 +- .../opensearch/query/CriterionConverter.java | 2 +- .../search/OpenSearchSearchHighlighter.java | 7 +- .../opensearch/json/IndexableMessageTest.java | 2 +- .../search/OpenSearchSearchHighlighterTest.java | 48 -- .../META-INF/spring/mailbox-index-lucene-test.xml | 2 + .../james/mailbox/store/StoreMailboxManager.java | 63 +- .../james/mailbox/store/StoreMessageManager.java | 90 +- .../james/mailbox/store/StoreRightManager.java | 21 +- .../store/quota/DefaultUserQuotaRootResolver.java | 5 + .../james/mailbox/store/search/mime}/EMailer.java | 6 +- .../james/mailbox/store/search/mime}/EMailers.java | 4 +- .../store/search/mime}/HeaderCollection.java | 5 +- .../james/mailbox/store/search/mime}/MimePart.java | 15 +- .../search/mime}/MimePartContainerBuilder.java | 2 +- .../mailbox/store/search/mime}/MimePartParser.java | 2 +- .../search/mime}/RootMimePartContainerBuilder.java | 2 +- .../store/search/mime}/SerializableMessage.java | 2 +- .../james/mailbox/store/search/mime}/Subjects.java | 4 +- .../quota/DefaultUserQuotaRootResolverTest.java | 7 + .../mailbox/store/search/mime}/EMailerTest.java | 2 +- .../mailbox/store/search/mime}/EMailersTest.java | 2 +- .../mailbox/store/search/mime}/FieldImpl.java | 2 +- .../store/search/mime}/HeaderCollectionTest.java | 2 +- .../mailbox/store/search/mime}/MimePartTest.java | 2 +- .../mailbox/store/search/mime}/SubjectsTest.java | 2 +- .../apache/mailet/base/MatcherInverterTest.java | 23 +- .../james/transport/mailets/FoldLongLines.java | 107 +++ .../apache/james/transport/mailets/MimeUtil.java | 80 ++ .../james/transport/mailets/FoldLongLinesTest.java | 185 +++++ .../java/org/apache/james/metrics/api/Metric.java | 9 + .../james/metrics/dropwizard/DropWizardMetric.java | 5 + .../org/apache/james/mpt/api/ImapHostSystem.java | 2 + .../apache/james/mpt/host/ExternalHostSystem.java | 5 + .../james/mpt/script/ImapScriptedTestProtocol.java | 17 + .../apache/james/mpt/host/JamesImapHostSystem.java | 27 + .../imapmailbox/suite/IMAPSharingAccessTest.java | 143 ++++ .../imapmailbox/suite/ListingWithSharingTest.java | 10 +- .../org/apache/james/imap/scripts/Create.test | 3 + .../org/apache/james/imap/scripts/Id.test | 7 +- .../james/imap/scripts/ListWithSharedMailbox.test | 175 +++- .../org/apache/james/imap/scripts/Namespace.test | 2 +- .../org/apache/james/imap/scripts/SearchAtoms.test | 4 + .../apache/james/imap/scripts/SharingAccessL.test | 71 ++ .../apache/james/imap/scripts/SharingAccessLR.test | 104 +++ .../james/imap/scripts/SharingAccessLRA.test | 104 +++ .../james/imap/scripts/SharingAccessLRI.test | 101 +++ .../james/imap/scripts/SharingAccessLRK.test | 104 +++ .../james/imap/scripts/SharingAccessLRS.test | 104 +++ .../james/imap/scripts/SharingAccessLRT.test | 104 +++ .../james/imap/scripts/SharingAccessLRTE.test | 106 +++ .../james/imap/scripts/SharingAccessLRW.test | 104 +++ .../james/imap/scripts/SharingAccessLRX.test | 106 +++ .../imapmailbox/cyrus/host/CyrusHostSystem.java | 5 + .../james/imap/scripts/ValidateDeployment.test | 2 +- .../inmemory/InMemoryIMAPSharingAccessTest.java | 28 +- .../lucenesearch/host/LuceneSearchHostSystem.java | 3 +- pom.xml | 14 +- .../apache/james/imap/api/ImapConfiguration.java | 48 +- .../james/imap/api/message/PartialRange.java | 21 +- .../imap/api/process/DefaultMailboxTyper.java | 9 +- .../apache/james/imap/api/process/ImapSession.java | 27 +- .../decode/base/AbstractImapCommandParser.java | 2 +- .../james/imap/decode/main/DefaultImapDecoder.java | 4 +- .../apache/james/imap/encode/FakeImapSession.java | 5 - .../james/imap/encode/IdResponseEncoder.java | 18 +- .../imap/encode/NamespaceResponseEncoder.java | 15 +- .../org/apache/james/imap/main/PathConverter.java | 242 ++++-- .../james/imap/message/response/IdResponse.java | 6 +- .../imap/message/response/NamespaceResponse.java | 16 +- .../response/UnpooledStatusResponseFactory.java | 6 - .../imap/processor/AbstractAuthProcessor.java | 28 +- .../imap/processor/AbstractMailboxProcessor.java | 30 - .../processor/AbstractMessageRangeProcessor.java | 7 +- .../imap/processor/AbstractSelectionProcessor.java | 36 +- .../james/imap/processor/AppendProcessor.java | 7 +- .../imap/processor/AuthenticateProcessor.java | 5 +- .../apache/james/imap/processor/CopyProcessor.java | 5 +- .../james/imap/processor/CreateProcessor.java | 40 +- .../james/imap/processor/DefaultProcessor.java | 56 +- .../james/imap/processor/DeleteACLProcessor.java | 6 +- .../james/imap/processor/DeleteProcessor.java | 7 +- .../james/imap/processor/ExamineProcessor.java | 5 +- .../james/imap/processor/GetACLProcessor.java | 7 +- .../james/imap/processor/GetMetadataProcessor.java | 8 +- .../imap/processor/GetQuotaRootProcessor.java | 6 +- .../apache/james/imap/processor/IdProcessor.java | 37 +- .../apache/james/imap/processor/LSubProcessor.java | 12 +- .../apache/james/imap/processor/ListProcessor.java | 73 +- .../james/imap/processor/ListRightsProcessor.java | 7 +- .../james/imap/processor/LoginProcessor.java | 5 +- .../apache/james/imap/processor/MoveProcessor.java | 5 +- .../james/imap/processor/MyRightsProcessor.java | 7 +- .../james/imap/processor/NamespaceProcessor.java | 61 +- .../james/imap/processor/NamespaceSupplier.java | 78 ++ .../james/imap/processor/RenameProcessor.java | 7 +- .../james/imap/processor/ReplaceProcessor.java | 7 +- .../james/imap/processor/SelectProcessor.java | 5 +- .../james/imap/processor/SetACLProcessor.java | 7 +- .../james/imap/processor/SetMetadataProcessor.java | 7 +- .../james/imap/processor/StatusProcessor.java | 24 +- .../james/imap/processor/SubscribeProcessor.java | 7 +- .../imap/processor/SystemMessageProcessor.java | 6 +- .../james/imap/processor/UnsubscribeProcessor.java | 7 +- .../james/imap/processor/XListProcessor.java | 9 +- .../apache/james/imap/main/PathConverterTest.java | 195 ++++- .../processor/AbstractSelectionProcessorTest.java | 3 +- .../james/imap/processor/CopyProcessorTest.java | 3 +- .../imap/processor/DeleteACLProcessorTest.java | 3 +- .../james/imap/processor/GetACLProcessorTest.java | 3 +- .../imap/processor/GetAnnotationProcessorTest.java | 3 +- .../imap/processor/GetQuotaRootProcessorTest.java | 3 +- .../james/imap/processor/LSubProcessorTest.java | 3 +- .../imap/processor/ListRightsProcessorTest.java | 3 +- .../james/imap/processor/MoveProcessorTest.java | 5 +- .../imap/processor/NamespaceProcessorTest.java | 145 ---- .../james/imap/processor/SelectProcessorTest.java | 4 +- .../james/imap/processor/SetACLProcessorTest.java | 3 +- .../imap/processor/SetMetadataProcessorTest.java | 3 +- .../protocols/smtp/core/esmtp/EhloCmdHandler.java | 5 +- .../apache/james/DistributedJamesWithTikaTest.java | 32 + .../java/org/apache/james/JPAJamesServerMain.java | 8 +- server/apps/memory-app/pom.xml | 4 + .../org/apache/james/MemoryJamesServerMain.java | 2 +- .../src/test/resources/mailetcontainer.xml | 16 + .../main/java/org/apache/james/blob/api/Store.java | 1 + .../james/modules/event/JMAPEventBusModule.java | 6 + .../modules/event/RabbitMQEventBusModule.java | 43 +- .../modules/mailbox/LuceneSearchMailboxModule.java | 12 + .../org/apache/james/modules/ACLProbeImpl.java | 10 +- .../james/modules/mailbox/DefaultEventModule.java | 16 +- server/container/guice/memory/pom.xml | 4 + .../james/modules/mailbox/MemoryMailboxModule.java | 5 +- .../apache/james/OpenSearchHighlightModule.java | 17 +- .../java/org/apache/james/SearchModuleChooser.java | 51 +- .../org/apache/james/modules/TestTikaModule.java | 17 +- .../james/modules/protocols/IMAPServerModule.java | 4 + .../james/jmap/rfc8621/RFC8621MethodsModule.java | 2 + .../james/modules/server/DataRoutesModules.java | 3 + .../james/modules/server/MailboxRoutesModule.java | 10 + .../apache/james/mailets/DKIMIntegrationTest.java | 71 +- .../lib/AbstractStateMailetProcessor.java | 22 +- .../InvertMatcherWithCompositeMatcherTest.java | 158 ++++ .../james/transport/mailets/MailToAllUsers.java | 124 +++ .../transport/mailets/MailToAllUsersTest.java | 106 +++ server/mailet/mock-smtp-server/pom.xml | 4 +- .../mock/smtp/server/HTTPConfigurationServer.java | 11 +- .../james/mock/smtp/server/model/Condition.java | 3 +- .../apache/james/mock/smtp/server/model/Mail.java | 37 +- .../apache/james/mock/smtp/server/model/Mails.java | 3 +- .../mock/smtp/server/model/MockSMTPBehavior.java | 6 +- .../server/model/MockSMTPBehaviorInformation.java | 3 +- .../mock/smtp/server/model/MockSmtpBehaviors.java | 3 +- .../james/mock/smtp/server/model/Response.java | 3 +- .../mock/smtp/server/model/SMTPExtension.java | 3 +- .../mock/smtp/server/model/SMTPExtensions.java | 3 +- .../server/testing/MockSmtpServerExtension.java | 2 +- .../james/mock/smtp/server/MockSMTPServerTest.java | 8 +- .../DistributedSearchSnippetGetMethodTest.java | 9 +- .../contract/MailboxGetMethodContract.scala | 43 + .../contract/MailboxSetMethodContract.scala | 364 ++++++++- .../contract/SearchSnippetGetMethodContract.scala | 908 +++++++++++++++++++++ .../memory/MemorySearchSnippetGetMethodTest.java | 9 +- .../jmap-rfc-8621/doc/specs/spec/mail/rights.mdown | 3 +- .../doc/specs/spec/mail/searchsnippet.mdown | 9 +- .../james/jmap/change/JmapEventSerializer.scala | 12 +- .../jmap/highlight/SearchSnippetGetRequest.scala | 89 ++ .../james/jmap/json/EmailQuerySerializer.scala | 2 +- .../apache/james/jmap/json/MailboxSerializer.scala | 12 +- .../james/jmap/json/SearchSnippetSerializer.scala | 59 ++ .../org/apache/james/jmap/mail/EmailQuery.scala | 65 +- .../org/apache/james/jmap/mail/MailboxSet.scala | 53 +- .../scala/org/apache/james/jmap/mail/Rights.scala | 46 +- .../jmap/method/MailboxSetUpdatePerformer.scala | 7 +- .../james/jmap/method/SearchSnippetGetMethod.scala | 108 +++ .../james/jmap/metrics/HttpClientMetrics.scala | 74 ++ .../apache/james/jmap/routes/SessionRoutes.scala | 15 +- .../apache/james/jmap/routes/WebSocketRoutes.scala | 14 +- .../james/jmap/json/MailboxSerializationTest.scala | 7 +- .../jmap/json/SearchSnippetSerializerTest.scala | 123 +++ .../org/apache/james/jmap/mail/RightsTest.scala | 76 +- .../james/jmap/routes/SessionRoutesTest.scala | 5 +- server/protocols/jmap/pom.xml | 8 + .../java/org/apache/james/jmap/JMAPServer.java | 18 + .../imapserver/netty/HAProxyMessageHandler.java | 2 +- .../james/imapserver/netty/IMAPMDCContext.java | 11 - .../apache/james/imapserver/netty/IMAPServer.java | 14 + .../netty/ImapChannelUpstreamHandler.java | 11 +- .../james/imapserver/netty/NettyImapSession.java | 27 +- .../james/imapserver/netty/IMAPServerTest.java | 91 +++ .../imapServerIdCommandResponseFields.xml | 19 + .../apache/james/smtpserver/SMTPServerTest.java | 4 +- .../org/apache/james/webadmin/UserCondition.java | 13 +- .../apache/james/webadmin/routes/UserRoutes.java | 27 +- .../james/webadmin/routes/UserRoutesTest.java | 3 +- server/protocols/webadmin/webadmin-mailbox/pom.xml | 11 + .../condition/user/HasNoMailboxesCondition.java} | 42 +- .../user/HasNotAllSystemMailboxesCondition.java | 61 ++ .../routes/UserRoutesWithMailboxParamTest.java | 181 ++++ .../java/org/apache/james/util/docker/Images.java | 2 +- src/site/markdown/server/manage-webadmin.md | 12 + src/site/xdoc/server/config-imap4.xml | 3 + 240 files changed, 7214 insertions(+), 1711 deletions(-) create mode 100644 docs/modules/servers/partials/FoldLongLines.adoc create mode 100644 docs/modules/servers/partials/MailToAllUsers.adoc create mode 100644 event-bus/api/src/main/java/org/apache/james/events/EventSerializersAggregator.java create mode 100644 mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/DocumentFieldConstants.java create mode 100644 mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneIndexableDocument.java copy mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/json/{SerializableMessage.java => EMailerDto.java} (77%) copy mailbox/opensearch/src/{test/java/org/apache/james/mailbox/opensearch/json/EMailerTest.java => main/java/org/apache/james/mailbox/opensearch/json/EMailersDto.java} (71%) copy mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/json/{SerializableMessage.java => HeaderDto.java} (73%) copy mailbox/opensearch/src/{test/java/org/apache/james/mailbox/opensearch/json/EMailerTest.java => main/java/org/apache/james/mailbox/opensearch/json/MimePartDto.java} (53%) copy mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/json/{SerializableMessage.java => SubjectsDto.java} (90%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/EMailer.java (91%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/EMailers.java (94%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/HeaderCollection.java (97%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/MimePart.java (95%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/MimePartContainerBuilder.java (97%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/MimePartParser.java (99%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/RootMimePartContainerBuilder.java (98%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/SerializableMessage.java (96%) rename mailbox/{opensearch/src/main/java/org/apache/james/mailbox/opensearch/json => store/src/main/java/org/apache/james/mailbox/store/search/mime}/Subjects.java (94%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/EMailerTest.java (97%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/EMailersTest.java (98%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/FieldImpl.java (97%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/HeaderCollectionTest.java (99%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/MimePartTest.java (97%) rename mailbox/{opensearch/src/test/java/org/apache/james/mailbox/opensearch/json => store/src/test/java/org/apache/james/mailbox/store/search/mime}/SubjectsTest.java (97%) create mode 100644 mailet/standard/src/main/java/org/apache/james/transport/mailets/FoldLongLines.java create mode 100644 mailet/standard/src/main/java/org/apache/james/transport/mailets/MimeUtil.java create mode 100644 mailet/standard/src/test/java/org/apache/james/transport/mailets/FoldLongLinesTest.java create mode 100644 mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/imapmailbox/suite/IMAPSharingAccessTest.java create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessL.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLR.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRA.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRI.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRK.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRS.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRT.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRTE.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRW.test create mode 100644 mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/SharingAccessLRX.test copy protocols/imap/src/main/java/org/apache/james/imap/encode/IdResponseEncoder.java => mpt/impl/imap-mailbox/inmemory/src/test/java/org/apache/james/mpt/imapmailbox/inmemory/InMemoryIMAPSharingAccessTest.java (66%) create mode 100644 protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceSupplier.java delete mode 100644 protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java create mode 100644 server/apps/distributed-app/src/test/java/org/apache/james/DistributedJamesWithTikaTest.java copy protocols/imap/src/main/java/org/apache/james/imap/message/response/IdResponse.java => server/container/guice/opensearch/src/main/java/org/apache/james/OpenSearchHighlightModule.java (71%) create mode 100644 server/mailet/mailetcontainer-impl/src/test/java/org/apache/james/mailetcontainer/impl/matchers/InvertMatcherWithCompositeMatcherTest.java create mode 100644 server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/MailToAllUsers.java create mode 100644 server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/MailToAllUsersTest.java copy protocols/imap/src/main/java/org/apache/james/imap/message/response/IdResponse.java => server/protocols/jmap-rfc-8621-integration-tests/distributed-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/distributed/DistributedSearchSnippetGetMethodTest.java (83%) create mode 100644 server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/SearchSnippetGetMethodContract.scala copy protocols/imap/src/main/java/org/apache/james/imap/message/response/IdResponse.java => server/protocols/jmap-rfc-8621-integration-tests/memory-jmap-rfc-8621-integration-tests/src/test/java/org/apache/james/jmap/rfc8621/memory/MemorySearchSnippetGetMethodTest.java (83%) create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/highlight/SearchSnippetGetRequest.scala create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/json/SearchSnippetSerializer.scala create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/SearchSnippetGetMethod.scala create mode 100644 server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/metrics/HttpClientMetrics.scala create mode 100644 server/protocols/jmap-rfc-8621/src/test/scala/org/apache/james/jmap/json/SearchSnippetSerializerTest.scala create mode 100644 server/protocols/protocols-imap4/src/test/resources/imapServerIdCommandResponseFields.xml copy protocols/imap/src/main/java/org/apache/james/imap/message/response/IdResponse.java => server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/UserCondition.java (78%) copy server/{mailet/mock-smtp-server/src/main/java/org/apache/james/mock/smtp/server/model/Mails.java => protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/condition/user/HasNoMailboxesCondition.java} (57%) create mode 100644 server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/condition/user/HasNotAllSystemMailboxesCondition.java create mode 100644 server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserRoutesWithMailboxParamTest.java --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org