{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":38917208,"defaultBranch":"master","name":"james-project","ownerLogin":"apache","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-07-11T07:00:06.000Z","ownerAvatar":"https://github.com/avatars/u/47359?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1724163908.0","currentOid":""},"activityList":{"items":[{"before":"83ea5b0e374b0be7df5b0bb4ea37fec986a35174","after":"a987e8dab694b2eeaabd0c48d5978a062b42ef77","ref":"refs/heads/master","pushedAt":"2024-09-27T09:22:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[devscout] adds implementation notes for the pulsar mailqueue","shortMessageHtmlLink":"[devscout] adds implementation notes for the pulsar mailqueue"}},{"before":"81b61ed843342aa7e184fb41f311e5346ada52d5","after":"83ea5b0e374b0be7df5b0bb4ea37fec986a35174","ref":"refs/heads/master","pushedAt":"2024-09-27T02:26:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"Refactor `DefaultImapDecoderFactory` to Use POJO Style and Constructor injection (#2410)","shortMessageHtmlLink":"Refactor DefaultImapDecoderFactory to Use POJO Style and Constructo…"}},{"before":"1705d89822ac5f7f8abbca187bcf87cbae9b008a","after":"81b61ed843342aa7e184fb41f311e5346ada52d5","ref":"refs/heads/master","pushedAt":"2024-09-27T01:51:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"James 3945 rights positioning for subaddressing (#2419)","shortMessageHtmlLink":"James 3945 rights positioning for subaddressing (#2419)"}},{"before":"bca9239f7de6b5c57bb01f48a48f361dcfc5692b","after":"1705d89822ac5f7f8abbca187bcf87cbae9b008a","ref":"refs/heads/master","pushedAt":"2024-09-25T19:31:03.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jeantil","name":"Jean Helou","path":"/jeantil","primaryAvatarUrl":"https://github.com/avatars/u/22979?s=80&v=4"},"commit":{"message":"[JAMES-3696] improves flaky tests from ManageableMailQueueContract\n\nThe pulsar implementation uses a distributed and therefore asynchronous distribution of the removal filters.\n\nThis change ensures that the tests allow for such an implementation by waiting for the system under test to converge to the desired state.\n\nIt also ensures that the executor waits as little as possible to get into a consistent state, ensuring fast local execution while allowing a longer wait on the CI. If the default timeout (10s if I understand correctly) is not enough for the CI, it can be safely increased without slowing down local test execution like Thread.sleep() did.","shortMessageHtmlLink":"[JAMES-3696] improves flaky tests from ManageableMailQueueContract"}},{"before":"36d4639e24124d120b5d050d8ff233343d2ff2bb","after":"bca9239f7de6b5c57bb01f48a48f361dcfc5692b","ref":"refs/heads/master","pushedAt":"2024-09-25T02:24:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[devscout] fix execution of unstable group\n\nclasses annotated unstable at classlevel are properly execucted with -Punstable","shortMessageHtmlLink":"[devscout] fix execution of unstable group"}},{"before":"0ecc08754b0330a49a11e29df31c7c9f08b4bcfc","after":"36d4639e24124d120b5d050d8ff233343d2ff2bb","ref":"refs/heads/master","pushedAt":"2024-09-24T07:33:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"AmqpForwardAttribute mailet: ignore errors when creating an exchange that already exists with a different configuration. (#2414)","shortMessageHtmlLink":"AmqpForwardAttribute mailet: ignore errors when creating an exchange …"}},{"before":"40ef895dc101965907543c5c7744c11b8fa9389f","after":"0ecc08754b0330a49a11e29df31c7c9f08b4bcfc","ref":"refs/heads/master","pushedAt":"2024-09-20T06:47:45.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"chibenwa","name":"Benoit TELLIER","path":"/chibenwa","primaryAvatarUrl":"https://github.com/avatars/u/6928740?s=80&v=4"},"commit":{"message":"JAMES-3945 changed MailboxACLResolver::resolveRights signature from untyped String resourceOwner to stronger type Username resourceOwner","shortMessageHtmlLink":"JAMES-3945 changed MailboxACLResolver::resolveRights signature from u…"}},{"before":"5721fa76cb478e8d5559ed728a0a4bc6bf12a66f","after":"40ef895dc101965907543c5c7744c11b8fa9389f","ref":"refs/heads/master","pushedAt":"2024-09-20T04:40:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[FIX] IMAP debug logs were not printed","shortMessageHtmlLink":"[FIX] IMAP debug logs were not printed"}},{"before":"48d22287d3e68343cd7c96839991507bd452c424","after":"5721fa76cb478e8d5559ed728a0a4bc6bf12a66f","ref":"refs/heads/master","pushedAt":"2024-09-20T02:56:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"Update objectives.adoc","shortMessageHtmlLink":"Update objectives.adoc"}},{"before":"ed9b72bb96b6def313b135f0fd123f2bf34f7d7e","after":"48d22287d3e68343cd7c96839991507bd452c424","ref":"refs/heads/master","pushedAt":"2024-09-19T02:10:16.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"AmqpForwardAttribute mailet supports declaring exchange types - integration test","shortMessageHtmlLink":"AmqpForwardAttribute mailet supports declaring exchange types - integ…"}},{"before":"31fb38f8869d1fc21c45d48d9b0f0e8c6a651978","after":"ed9b72bb96b6def313b135f0fd123f2bf34f7d7e","ref":"refs/heads/master","pushedAt":"2024-09-18T02:27:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4070 Implement query param to return 503 code if degraded - fixup document\n\n- Change HTTP code: 500 -> 503","shortMessageHtmlLink":"JAMES-4070 Implement query param to return 503 code if degraded - fix…"}},{"before":"d8d8fc40100f4a4cc42de06abf325b0d77fce063","after":"31fb38f8869d1fc21c45d48d9b0f0e8c6a651978","ref":"refs/heads/master","pushedAt":"2024-09-18T01:54:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4071 - Task fix mailboxes flag inconsistency - document","shortMessageHtmlLink":"JAMES-4071 - Task fix mailboxes flag inconsistency - document"}},{"before":"a120c9ff06f2acd2b4d7e0586cbf699326f1cbeb","after":"d8d8fc40100f4a4cc42de06abf325b0d77fce063","ref":"refs/heads/master","pushedAt":"2024-09-17T07:35:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4054 Update SMIMECheckSignatureIntegrationTest to include IsSMIMESigned matcher (#2409)","shortMessageHtmlLink":"JAMES-4054 Update SMIMECheckSignatureIntegrationTest to include IsSMI…"}},{"before":"e78a6cd01351d11b331d385464a2fcbaf914303c","after":"a120c9ff06f2acd2b4d7e0586cbf699326f1cbeb","ref":"refs/heads/master","pushedAt":"2024-09-13T03:23:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-3950 Remove disabled capabilities from session","shortMessageHtmlLink":"JAMES-3950 Remove disabled capabilities from session"}},{"before":"fdf1d5fbaf4c0aaef8ebdf7f3496a8840501edc2","after":"e78a6cd01351d11b331d385464a2fcbaf914303c","ref":"refs/heads/master","pushedAt":"2024-09-13T03:19:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4069 Healthcheck for IMAP (#2401)","shortMessageHtmlLink":"JAMES-4069 Healthcheck for IMAP (#2401)"}},{"before":"90726160f8ad4a1a72f402532212d28cdbf60115","after":"fdf1d5fbaf4c0aaef8ebdf7f3496a8840501edc2","ref":"refs/heads/master","pushedAt":"2024-09-12T07:12:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4070 Implement query param to return 503 code if degraded (#2404)","shortMessageHtmlLink":"JAMES-4070 Implement query param to return 503 code if degraded (#2404)"}},{"before":"f75fa335b156e596a207db8e954eadd283f038bc","after":"90726160f8ad4a1a72f402532212d28cdbf60115","ref":"refs/heads/master","pushedAt":"2024-09-12T04:08:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"fixup! JAMES-4034 Fix receival of external badly formated From message","shortMessageHtmlLink":"fixup! JAMES-4034 Fix receival of external badly formated From message"}},{"before":"8c7ad741a17232f7904d087c4006c21b0a0e5eb1","after":"f75fa335b156e596a207db8e954eadd283f038bc","ref":"refs/heads/master","pushedAt":"2024-09-12T02:42:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[FIX] AmqpForwardAttribute should create its exchange","shortMessageHtmlLink":"[FIX] AmqpForwardAttribute should create its exchange"}},{"before":"2c45501ec505c8a532032e2f535fbda31cd3bb32","after":"9c147ea351371e90b5773043fe24c49ce3c361ba","ref":"refs/heads/postgresql","pushedAt":"2024-09-10T04:09:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james-cli\n\nGIVEN I run james-cli in kubernetes\nTHEN the pod crashes and reboots\n\nBecause the james-cli runs JVM it catches the environment variables set by James.\nAs such it always pretouch 3GB of RAM. When added to memory consumed by James it exceeds the limit and pod get's OOM-killed.","shortMessageHtmlLink":"Postgres-app: unset JAVA_TOOL_OPTIONS env variable when running james…"}},{"before":"097b6bd480f1b99959af12a106ea8fdb36882942","after":"8c7ad741a17232f7904d087c4006c21b0a0e5eb1","ref":"refs/heads/master","pushedAt":"2024-09-10T04:05:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"James: unset JAVA_TOOL_OPTIONS env variable when running james-cli\n\nGIVEN I run james-cli in kubernetes\nTHEN the pod crashes and reboots\n\nBecause the james-cli runs JVM it catches the environment variables set by James.\nAs such it always pretouch 3GB of RAM. When added to memory consumed by James it exceeds the limit and pod get's OOM-killed.","shortMessageHtmlLink":"James: unset JAVA_TOOL_OPTIONS env variable when running james-cli"}},{"before":"7395017db7448bfe12fc40d0d38d91051c7d52d9","after":"097b6bd480f1b99959af12a106ea8fdb36882942","ref":"refs/heads/master","pushedAt":"2024-09-09T07:48:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4068 Have several health checks in one rest calls (#2399)","shortMessageHtmlLink":"JAMES-4068 Have several health checks in one rest calls (#2399)"}},{"before":"e13beea8c6b42c3246b00d4427b9d7492f086f14","after":"7395017db7448bfe12fc40d0d38d91051c7d52d9","ref":"refs/heads/master","pushedAt":"2024-09-04T09:49:35.000Z","pushType":"pr_merge","commitsCount":20,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[Antora] Adapt after partial - jvm.adoc\n\nAdapt commit:\n- c377f81f38481a5f51937767c9c0c007d5947190\n- e13beea8c6b42c3246b00d4427b9d7492f086f14","shortMessageHtmlLink":"[Antora] Adapt after partial - jvm.adoc"}},{"before":"f6c7621bc3e0f6c4718e376080477c301a94a5d1","after":"e13beea8c6b42c3246b00d4427b9d7492f086f14","ref":"refs/heads/master","pushedAt":"2024-09-03T06:39:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chibenwa","name":"Benoit TELLIER","path":"/chibenwa","primaryAvatarUrl":"https://github.com/avatars/u/6928740?s=80&v=4"},"commit":{"message":"JAMES-4050 Allow `%` and `*` characters in mailbox names","shortMessageHtmlLink":"JAMES-4050 Allow % and * characters in mailbox names"}},{"before":"c377f81f38481a5f51937767c9c0c007d5947190","after":"f6c7621bc3e0f6c4718e376080477c301a94a5d1","ref":"refs/heads/master","pushedAt":"2024-08-30T08:50:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4066 EHLO should accept alphanumeric hostname (#2396)","shortMessageHtmlLink":"JAMES-4066 EHLO should accept alphanumeric hostname (#2396)"}},{"before":"d0aa047de30d5683b87b9ca21b9de448cc077a55","after":"c377f81f38481a5f51937767c9c0c007d5947190","ref":"refs/heads/master","pushedAt":"2024-08-30T08:48:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"JAMES-4059 MailetContainerModule should not do a strict check on RemoveMimeHeader with bcc name param (#2393)","shortMessageHtmlLink":"JAMES-4059 MailetContainerModule should not do a strict check on Remo…"}},{"before":"243e46d34c1aff7a9df94ab29e292de43cef2f4d","after":"d0aa047de30d5683b87b9ca21b9de448cc077a55","ref":"refs/heads/master","pushedAt":"2024-08-29T09:16:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"Add missing doc and options for the deleted message vault","shortMessageHtmlLink":"Add missing doc and options for the deleted message vault"}},{"before":"6afa656b497aeb187f5331907b02c706ed7fc3bc","after":"243e46d34c1aff7a9df94ab29e292de43cef2f4d","ref":"refs/heads/master","pushedAt":"2024-08-29T07:27:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"chibenwa","name":"Benoit TELLIER","path":"/chibenwa","primaryAvatarUrl":"https://github.com/avatars/u/6928740?s=80&v=4"},"commit":{"message":"[IMPROVEMENT] Set maven.compiler\n\nWithout this my IDE screws up compilation...","shortMessageHtmlLink":"[IMPROVEMENT] Set maven.compiler"}},{"before":"8e32db459b4f900a41131a716739c47ebd5945f2","after":"6afa656b497aeb187f5331907b02c706ed7fc3bc","ref":"refs/heads/master","pushedAt":"2024-08-28T16:33:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jeantil","name":"Jean Helou","path":"/jeantil","primaryAvatarUrl":"https://github.com/avatars/u/22979?s=80&v=4"},"commit":{"message":"[JAMES-4065] drop habeas warrant mark mailet\n\nThe habeas.com domain redirects to returnpath.com which itself has been bought by validity and lists itself as kinda dead.\nI could not find any way to obtain a license for the mark.","shortMessageHtmlLink":"[JAMES-4065] drop habeas warrant mark mailet"}},{"before":"42fb366387ebae8a31acc9b46e35604f59506543","after":"8e32db459b4f900a41131a716739c47ebd5945f2","ref":"refs/heads/master","pushedAt":"2024-08-28T03:45:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"[FIX] DeletedMessage size could be zero\n\nDeletedMessage' size was indeed zero in one of our customer envs.\n\n```\njava.lang.IllegalArgumentException: 'size' is required to be a strictly positive number\n\tat com.google.common.base.Preconditions.checkArgument(Preconditions.java:143)\n\tat org.apache.james.vault.DeletedMessage.(DeletedMessage.java:175)\n\tat org.apache.james.vault.DeletedMessage$Builder$FinalStage.build(DeletedMessage.java:150)\n\tat org.apache.james.vault.metadata.DeletedMessageVaultDeletionCallback.lambda$forMessage$2(DeletedMessageVaultDeletionCallback.java:89)\n\tat reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:132)\n\tat reactor.core.publisher.MonoUsing$MonoUsingSubscriber.onNext(MonoUsing.java:231)\n\tat reactor.core.publisher.MonoUsing$MonoUsingSubscriber.onNext(MonoUsing.java:231)\n\tat reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)\n\tat reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)\n\tat reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)\n\tat reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)\n\tat reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)\n\tat reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n```\n\n```\nadmin@cqlsh:xxxx> select fullcontentoctets from messageidtable WHERE mailboxid = 33ffdde0-4e88-11ef-a191-57867848886b;\n\n fullcontentoctets\n-------------------\n 0\n 93449\n 89585\n 143591\n```","shortMessageHtmlLink":"[FIX] DeletedMessage size could be zero"}},{"before":"5b961b36c9892f5ec5a781da06f10c52706b99b6","after":"42fb366387ebae8a31acc9b46e35604f59506543","ref":"refs/heads/master","pushedAt":"2024-08-28T03:43:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"Arsnael","name":"Rene Cordier","path":"/Arsnael","primaryAvatarUrl":"https://github.com/avatars/u/9005025?s=80&v=4"},"commit":{"message":"Homepage documentation: Distributed James server aint in beta anymore","shortMessageHtmlLink":"Homepage documentation: Distributed James server aint in beta anymore"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yN1QwOToyMjoxMy4wMDAwMDBazwAAAATCaX91","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOFQwMzo0Mzo0Ni4wMDAwMDBazwAAAASmCGAG"}},"title":"Activity · apache/james-project"}