{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":7569578,"defaultBranch":"main","name":"discourse","ownerLogin":"discourse","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-01-12T00:25:55.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3220138?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717874680.0","currentOid":""},"activityList":{"items":[{"before":"f686a9aba2da7c900fc4f597059ce43710a2e3eb","after":"a5d017f39ea43109df62663562c13af2d36ec95f","ref":"refs/heads/formtoolkit","pushedAt":"2024-06-08T23:36:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jjaffeux","name":"Joffrey JAFFEUX","path":"/jjaffeux","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/339945?s=80&v=4"},"commit":{"message":"wip","shortMessageHtmlLink":"wip"}},{"before":"c13f64d35b6d7eae6343d02f1aa80ba781c581ff","after":"1fbc1cd326782bd0871a07c416f3ca92b9497252","ref":"refs/heads/tests-passed","pushedAt":"2024-06-08T19:42:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"discoursebuild","name":"Discourse Build","path":"/discoursebuild","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2087059?s=80&v=4"},"commit":{"message":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the list (#27387)","shortMessageHtmlLink":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the…"}},{"before":"79a67bb8b7c9736ff79245573a86cf0f386f8372","after":null,"ref":"refs/heads/rtl_locales","pushedAt":"2024-06-08T19:24:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"}},{"before":"c13f64d35b6d7eae6343d02f1aa80ba781c581ff","after":"1fbc1cd326782bd0871a07c416f3ca92b9497252","ref":"refs/heads/main","pushedAt":"2024-06-08T19:24:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"},"commit":{"message":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the list (#27387)","shortMessageHtmlLink":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the…"}},{"before":"e00033101749a136ebacf59b90ac3aaa5a4a8b10","after":"02e45abf0a34297b60406f7c8237d195396a5beb","ref":"refs/heads/migrations-tooling/converter","pushedAt":"2024-06-08T18:07:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"},"commit":{"message":"DEV: Extract each CLI command into a file\n\nAnd don't load Rails when it's not needed to make `./cli help` faster","shortMessageHtmlLink":"DEV: Extract each CLI command into a file"}},{"before":null,"after":"79a67bb8b7c9736ff79245573a86cf0f386f8372","ref":"refs/heads/rtl_locales","pushedAt":"2024-06-08T16:07:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"},"commit":{"message":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the list","shortMessageHtmlLink":"DEV: Remove duplicate definition of RTL locales and add Uyghur to the…"}},{"before":"b319cc9f50c25f6ccd1ca8712e36407cc259af0b","after":"e00033101749a136ebacf59b90ac3aaa5a4a8b10","ref":"refs/heads/migrations-tooling/converter","pushedAt":"2024-06-08T15:15:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"},"commit":{"message":"DEV: Extract each CLI command into a file\n\nAnd don't load Rails when it's not needed to make `./cli help` faster","shortMessageHtmlLink":"DEV: Extract each CLI command into a file"}},{"before":"9a64e1793f5808e98921eeaf9330ff37dd4fbde9","after":"b319cc9f50c25f6ccd1ca8712e36407cc259af0b","ref":"refs/heads/migrations-tooling/converter","pushedAt":"2024-06-08T13:22:27.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"gschlager","name":"Gerhard Schlager","path":"/gschlager","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/473736?s=80&v=4"},"commit":{"message":"DEV: Small refactor of `Connection` class and adds tests","shortMessageHtmlLink":"DEV: Small refactor of Connection class and adds tests"}},{"before":"44353653d17213ef68e886f710544cbb222f9cad","after":"d11ca5fae1cb1acbbc0e57ee73be06c37931ea5c","ref":"refs/heads/0-a-skf-gjs","pushedAt":"2024-06-08T12:22:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"CvX","name":"Jarek Radosz","path":"/CvX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66961?s=80&v=4"},"commit":{"message":"async","shortMessageHtmlLink":"async"}},{"before":"fa6dfc6046740f73ce931e0f4ab37a33b4bcc88e","after":"44353653d17213ef68e886f710544cbb222f9cad","ref":"refs/heads/0-a-skf-gjs","pushedAt":"2024-06-08T12:06:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"CvX","name":"Jarek Radosz","path":"/CvX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66961?s=80&v=4"},"commit":{"message":"async","shortMessageHtmlLink":"async"}},{"before":"cb242a6514602faf88a6e8e094f8b64ffcd0ba40","after":"3349af4dc473a03729950f2eb093a90761d6e4d4","ref":"refs/heads/remove-summarization","pushedAt":"2024-06-08T00:07:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"keegangeorge","name":"Keegan George","path":"/keegangeorge","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30090424?s=80&v=4"},"commit":{"message":"DEV: Remove register","shortMessageHtmlLink":"DEV: Remove register"}},{"before":"989b73f39da606b07665572f2558786ee9a75c8a","after":"cb242a6514602faf88a6e8e094f8b64ffcd0ba40","ref":"refs/heads/remove-summarization","pushedAt":"2024-06-07T23:48:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"keegangeorge","name":"Keegan George","path":"/keegangeorge","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30090424?s=80&v=4"},"commit":{"message":"DEV: Move client side logic","shortMessageHtmlLink":"DEV: Move client side logic"}},{"before":"bc32ffdda8cad195dbc935ed5902c25b49142b2e","after":"81c0e3a9d0be755678f818434a0e42544dac8292","ref":"refs/heads/optimize-chat-email-notification","pushedAt":"2024-06-07T22:20:55.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"ZogStriP","name":"Régis Hanol","path":"/ZogStriP","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/362783?s=80&v=4"},"commit":{"message":"PERF: fix performance of chat email notifications\n\nWhen chat is enabled, there's a scheduled job that runs every 5 minutes to check whether we need to send a \"chat summary\" email to users with unread chat messages or mentions.\n\nOn Discourse with a large number of users, the query used wasn't optimal and sometimes taking minutes. Which isn't good when the query is called every 5 minutes 😬\n\nThis PR reworks the query in `Chat::Mailer.send_unread_mentions_summary`.\n\nInstead of starting from the `users` table, it starts from the `user_chat_channel_memberships` table which is the main piece tying everything together.\n\nThe new query is mostly similar to the previous one, with some bug fixes (like ensuring the user has `allow_private_messages` enabled for direct messages) and is also slightly simpler since it doesn't keep track of the `memberships_with_unread_messages` anymore. That part has been moved to the `user_notifications.chat_summary` email method.\n\nThe `UserEmailExtension` has been deleted since that was using to N+1 update the `user_chat_channel_memberships.last_unread_mention_when_emailed_it`(quite a mouthful 😛) but that's now done directly in the `user_notifications.chat_summary` email method.\n\nThe \"plat de résistance\" of that PR - the `user_notifications.chat_summary` method has been re-worked for improved performances 🚀\n\nInstead of doing everything in one query, it does 4 tiny ones.\n\n- One to retrieve the list of unread mentions (@something) in \"category\" channels\n- One to retrieve the list of unread messages in \"direct message\" channels (aka. 1-1 and group discussions)\n- One to load all the chat messages for each \"category\" channels from the last unread mention\n- One to load all the chat messages for each \"direct message\" channels from the last unread message\n\nAll the specs for both `Chat::Mailer` and `UserNotification.chat_summary` have been rewriten for easier comprehension and faster execution (mostly by not using chat services which makes the specs go 10x slower...)\n\nInternal ref - t/129848","shortMessageHtmlLink":"PERF: fix performance of chat email notifications"}},{"before":null,"after":"4b63168c9c7298ecec11f82dbce858d23ef43ef0","ref":"refs/heads/chat-drawer-settings-styling","pushedAt":"2024-06-07T21:05:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chapoi","name":null,"path":"/chapoi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/101828855?s=80&v=4"},"commit":{"message":"UX: make chat drawer settingspage full height","shortMessageHtmlLink":"UX: make chat drawer settingspage full height"}},{"before":"faa89ef4a8115c530a0c2ca794c2b8d2a184b006","after":"bbc178d8a8256b1631adde4804b848a899758a21","ref":"refs/heads/dev/rfc-value-modifier-plugin-api","pushedAt":"2024-06-07T17:04:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"megothss","name":"Sérgio Saquetim","path":"/megothss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1108771?s=80&v=4"},"commit":{"message":"Renamed APIs `...Transformer` to `...ValueTransformer`","shortMessageHtmlLink":"Renamed APIs ...Transformer to ...ValueTransformer"}},{"before":"c55d333b737bc81054de9476db78ef2de47bbcb7","after":"da719ba7ec01f6aa47e71149554725d0a8bde555","ref":"refs/heads/categories-modal-fix","pushedAt":"2024-06-07T16:29:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"danielwaterworth","name":"Daniel Waterworth","path":"/danielwaterworth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663767?s=80&v=4"},"commit":{"message":"Only show show-more links when more subcategories might exist","shortMessageHtmlLink":"Only show show-more links when more subcategories might exist"}},{"before":"7e17db2b7347a39bb1137268bbf276b3ae0bebb1","after":"c55d333b737bc81054de9476db78ef2de47bbcb7","ref":"refs/heads/categories-modal-fix","pushedAt":"2024-06-07T15:46:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"danielwaterworth","name":"Daniel Waterworth","path":"/danielwaterworth","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/663767?s=80&v=4"},"commit":{"message":"Add show mores","shortMessageHtmlLink":"Add show mores"}},{"before":"970d7e9cd98988e57545d37a90d4670269faefac","after":"c13f64d35b6d7eae6343d02f1aa80ba781c581ff","ref":"refs/heads/tests-passed","pushedAt":"2024-06-07T15:43:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"discoursebuild","name":"Discourse Build","path":"/discoursebuild","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2087059?s=80&v=4"},"commit":{"message":"FEATURE: Add Filter for Webhook Events by Status (#27332)\n\n* FEATURE: Add Filter for Webhook Events by Status\r\n\r\n* Fixing multiple issues\r\n\r\n* Lint\r\n\r\n* Fixing multiple issues\r\n\r\n* Change the range of the status for webhook events","shortMessageHtmlLink":"FEATURE: Add Filter for Webhook Events by Status (#27332)"}},{"before":"6b940ce4a7265dcf2cdd0d3eca2fe1ef2ecd92f6","after":"07d2cfab5197f00b96bfb2aa3aae58fa3d8cdb85","ref":"refs/heads/loic-update-to-rails-7.1","pushedAt":"2024-06-07T15:28:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Flink","name":"Loïc Guitaut","path":"/Flink","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5648?s=80&v=4"},"commit":{"message":"WIP: fix code in hijack lib","shortMessageHtmlLink":"WIP: fix code in hijack lib"}},{"before":"970d7e9cd98988e57545d37a90d4670269faefac","after":"c13f64d35b6d7eae6343d02f1aa80ba781c581ff","ref":"refs/heads/main","pushedAt":"2024-06-07T15:26:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rngus2344","name":"Guhyoun Nam","path":"/rngus2344","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70915823?s=80&v=4"},"commit":{"message":"FEATURE: Add Filter for Webhook Events by Status (#27332)\n\n* FEATURE: Add Filter for Webhook Events by Status\r\n\r\n* Fixing multiple issues\r\n\r\n* Lint\r\n\r\n* Fixing multiple issues\r\n\r\n* Change the range of the status for webhook events","shortMessageHtmlLink":"FEATURE: Add Filter for Webhook Events by Status (#27332)"}},{"before":"214084bf70744f277a1338a6c9eb89b5de7837c8","after":null,"ref":"refs/heads/add_filter_webhook_events_by_status","pushedAt":"2024-06-07T15:26:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rngus2344","name":"Guhyoun Nam","path":"/rngus2344","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70915823?s=80&v=4"}},{"before":"9205e5a2316aa11c41b367f6e96b8e788ef91f65","after":"214084bf70744f277a1338a6c9eb89b5de7837c8","ref":"refs/heads/add_filter_webhook_events_by_status","pushedAt":"2024-06-07T15:15:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rngus2344","name":"Guhyoun Nam","path":"/rngus2344","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70915823?s=80&v=4"},"commit":{"message":"Change the range of the status for webhook events","shortMessageHtmlLink":"Change the range of the status for webhook events"}},{"before":"b0457b9e358aada3c3de8f8da05ce66f38dfa6ba","after":"faa89ef4a8115c530a0c2ca794c2b8d2a184b006","ref":"refs/heads/dev/rfc-value-modifier-plugin-api","pushedAt":"2024-06-07T15:00:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"megothss","name":"Sérgio Saquetim","path":"/megothss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1108771?s=80&v=4"},"commit":{"message":"Throw an error if context is not a POJO","shortMessageHtmlLink":"Throw an error if context is not a POJO"}},{"before":"29c13ebbc91ebbc08c000b9c6acb6d5adfd88be1","after":"9205e5a2316aa11c41b367f6e96b8e788ef91f65","ref":"refs/heads/add_filter_webhook_events_by_status","pushedAt":"2024-06-07T14:04:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rngus2344","name":"Guhyoun Nam","path":"/rngus2344","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/70915823?s=80&v=4"},"commit":{"message":"Fixing multiple issues","shortMessageHtmlLink":"Fixing multiple issues"}},{"before":"02cbf8b98b610b52abf5a045b3f6c8815b1a1026","after":"b0457b9e358aada3c3de8f8da05ce66f38dfa6ba","ref":"refs/heads/dev/rfc-value-modifier-plugin-api","pushedAt":"2024-06-07T14:00:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"megothss","name":"Sérgio Saquetim","path":"/megothss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1108771?s=80&v=4"},"commit":{"message":"Linting","shortMessageHtmlLink":"Linting"}},{"before":"476d5febebac73c5a63ffc16dbafe97844d498c1","after":"970d7e9cd98988e57545d37a90d4670269faefac","ref":"refs/heads/tests-passed","pushedAt":"2024-06-07T13:51:59.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"discoursebuild","name":"Discourse Build","path":"/discoursebuild","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2087059?s=80&v=4"},"commit":{"message":"Build(deps): Bump sprockets-rails from 3.4.2 to 3.5.0 in the rails group (#27375)\n\nBumps the rails group with 1 update: [sprockets-rails](https://github.com/rails/sprockets-rails).\r\n\r\n\r\nUpdates `sprockets-rails` from 3.4.2 to 3.5.0\r\n- [Release notes](https://github.com/rails/sprockets-rails/releases)\r\n- [Commits](https://github.com/rails/sprockets-rails/compare/v3.4.2...v3.5.0)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: sprockets-rails\r\n dependency-type: direct:production\r\n update-type: version-update:semver-minor\r\n dependency-group: rails\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Build(deps): Bump sprockets-rails from 3.4.2 to 3.5.0 in the rails gr…"}},{"before":null,"after":"bc32ffdda8cad195dbc935ed5902c25b49142b2e","ref":"refs/heads/optimize-chat-email-notification","pushedAt":"2024-06-07T13:36:04.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ZogStriP","name":"Régis Hanol","path":"/ZogStriP","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/362783?s=80&v=4"},"commit":{"message":"DEV: Also fetch user when granting admin (#27382)\n\nIn some admin user controller extensions, @user is used to derive certain values.\r\n\r\nThe grant_admin method requires @user as well, so we are adding it here. This is tested in the plugin that it is used in.","shortMessageHtmlLink":"DEV: Also fetch user when granting admin (#27382)"}},{"before":"66b6559bf858d06b18ecf4cd3f30c5bfc623cf88","after":"476d5febebac73c5a63ffc16dbafe97844d498c1","ref":"refs/heads/tests-passed","pushedAt":"2024-06-07T13:35:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"discoursebuild","name":"Discourse Build","path":"/discoursebuild","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2087059?s=80&v=4"},"commit":{"message":"Build(deps): Bump terser from 5.31.0 to 5.31.1 (#27377)\n\nBumps [terser](https://github.com/terser/terser) from 5.31.0 to 5.31.1.\r\n- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)\r\n- [Commits](https://github.com/terser/terser/compare/v5.31.0...v5.31.1)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: terser\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Build(deps): Bump terser from 5.31.0 to 5.31.1 (#27377)"}},{"before":"fe57020a52343521749a1d1cbc86d2814eeb6e70","after":"6b940ce4a7265dcf2cdd0d3eca2fe1ef2ecd92f6","ref":"refs/heads/loic-update-to-rails-7.1","pushedAt":"2024-06-07T13:30:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"Flink","name":"Loïc Guitaut","path":"/Flink","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5648?s=80&v=4"},"commit":{"message":"WIP: fix mailers & controllers eager loading","shortMessageHtmlLink":"WIP: fix mailers & controllers eager loading"}},{"before":"5e5ec45be332a5723261210b4991aa76622b0801","after":"fe57020a52343521749a1d1cbc86d2814eeb6e70","ref":"refs/heads/loic-update-to-rails-7.1","pushedAt":"2024-06-07T13:29:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Flink","name":"Loïc Guitaut","path":"/Flink","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5648?s=80&v=4"},"commit":{"message":"WIP: fix mailers & controllers eager loading","shortMessageHtmlLink":"WIP: fix mailers & controllers eager loading"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYCCzlQA","startCursor":null,"endCursor":null}},"title":"Activity · discourse/discourse"}