{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":55817137,"defaultBranch":"dev","name":"libQuotient","ownerLogin":"quotient-im","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-04-09T00:12:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50824961?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726848921.0","currentOid":""},"activityList":{"items":[{"before":"60d042466ec7d10f35dd547e188103e68c3ba7af","after":"6e296442803040e38d3cf47827adbe86be3aad10","ref":"refs/heads/release-0.9-rc","pushedAt":"2024-09-20T22:44:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Regenerate API files","shortMessageHtmlLink":"Regenerate API files"}},{"before":null,"after":"60d042466ec7d10f35dd547e188103e68c3ba7af","ref":"refs/heads/release-0.9-rc","pushedAt":"2024-09-20T16:15:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"0.9 RC","shortMessageHtmlLink":"0.9 RC"}},{"before":null,"after":"f1b8db46517758612aa028de655d854784a1d2fa","ref":"refs/heads/kitsune/noble-ci","pushedAt":"2024-09-20T14:16:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"CI: switch to Ubuntu 24.04","shortMessageHtmlLink":"CI: switch to Ubuntu 24.04"}},{"before":"0cf729324986a310c1c85e346cef18957528eb12","after":null,"ref":"refs/heads/kitsune/fixes-more-fixes","pushedAt":"2024-09-20T09:24:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"}},{"before":"798d6322518c2b2ebd2b4d3fd169a6bac05f989a","after":"4a6f0bd760dadc711372ea2c80afee31e1e0ffbc","ref":"refs/heads/dev","pushedAt":"2024-09-20T09:24:00.000Z","pushType":"pr_merge","commitsCount":12,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Merge #803(kitsune): There's always place for more fixes","shortMessageHtmlLink":"Merge #803(kitsune): There's always place for more fixes"}},{"before":"36e46b2913c26988bde2196ed1c96ea01171d2b1","after":"0cf729324986a310c1c85e346cef18957528eb12","ref":"refs/heads/kitsune/fixes-more-fixes","pushedAt":"2024-09-20T08:42:50.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Fix building with Xcode","shortMessageHtmlLink":"Fix building with Xcode"}},{"before":"1557a1da590ebac9312503b28e7cbe416b41f028","after":"36e46b2913c26988bde2196ed1c96ea01171d2b1","ref":"refs/heads/kitsune/fixes-more-fixes","pushedAt":"2024-09-20T08:12:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Typo fix","shortMessageHtmlLink":"Typo fix"}},{"before":"93138205425277689f3d8d8738e082d7a6a14d90","after":"1557a1da590ebac9312503b28e7cbe416b41f028","ref":"refs/heads/kitsune/fixes-more-fixes","pushedAt":"2024-09-20T05:56:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Fix Sonar warnings","shortMessageHtmlLink":"Fix Sonar warnings"}},{"before":null,"after":"93138205425277689f3d8d8738e082d7a6a14d90","ref":"refs/heads/kitsune/fixes-more-fixes","pushedAt":"2024-09-19T20:34:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"quotest: test Connection::assumeIdentity() too","shortMessageHtmlLink":"quotest: test Connection::assumeIdentity() too"}},{"before":"d92f83f7109e889b8b12e508836adfb1ad2c589e","after":null,"ref":"refs/heads/kitsune/better-power-level-checking-1","pushedAt":"2024-09-18T06:58:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"}},{"before":"5cc5bd9e98f503b8e6ee1b332c2e3804d0408103","after":"798d6322518c2b2ebd2b4d3fd169a6bac05f989a","ref":"refs/heads/dev","pushedAt":"2024-09-18T06:58:14.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Merge #799(kitsune): Better power level checking, part 1","shortMessageHtmlLink":"Merge #799(kitsune): Better power level checking, part 1"}},{"before":"dd8d3eabbaff8e78f1e201f0a8b082fff68972c2","after":"5cc5bd9e98f503b8e6ee1b332c2e3804d0408103","ref":"refs/heads/dev","pushedAt":"2024-09-18T06:02:06.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Merge #789(nvrWhere): Add helper functions for replies and threads to RoomMessageEvent","shortMessageHtmlLink":"Merge #789(nvrWhere): Add helper functions for replies and threads to…"}},{"before":"0a2543f8bd0beea5a9b1b4484c63493e40930da5","after":"d92f83f7109e889b8b12e508836adfb1ad2c589e","ref":"refs/heads/kitsune/better-power-level-checking-1","pushedAt":"2024-09-18T05:57:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Add a missing #include","shortMessageHtmlLink":"Add a missing #include"}},{"before":"c57e97aeb7d9f2762bb8cb4f9edf2d4458f85fcd","after":"0a2543f8bd0beea5a9b1b4484c63493e40930da5","ref":"refs/heads/kitsune/better-power-level-checking-1","pushedAt":"2024-09-17T13:17:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Refactor power level event management; Room::powerLevelFor()\n\nThis commit makes RoomPowerLevelsEvent _always_ available via\ncurrentState() - no need to query()/queryOr(), just get() and safely\naccess all the members. This is possible because the spec defines\ndefault power levels for all kinds of cases; we can just inject\na synthetic RoomPowerLevelsEvent object with those defaults into\ncurrentState() and once the real event comes (either from the homeserver\nor from the cache) it replaces the synthetic one by normal means of\nstate processing.\n\nThanks to that, Room::memberEffectivePowerLevel() implementation becomes\nmuch simpler; and to match it on the other side of power level checks,\nRoom::powerLevelFor() is introduced as a unified call returning the\npower level necessary to send any specific event type, state or not.","shortMessageHtmlLink":"Refactor power level event management; Room::powerLevelFor()"}},{"before":"b883c61529962ffe5c68d1145ff7f71c91d58509","after":"dd8d3eabbaff8e78f1e201f0a8b082fff68972c2","ref":"refs/heads/dev","pushedAt":"2024-09-16T19:34:10.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Merge #801(nvrWhere): Rework enableEncryption test to be less timing dependent","shortMessageHtmlLink":"Merge #801(nvrWhere): Rework enableEncryption test to be less timing …"}},{"before":"c57e97aeb7d9f2762bb8cb4f9edf2d4458f85fcd","after":null,"ref":"refs/heads/kitsune/better-power-level-checking","pushedAt":"2024-09-15T10:44:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"}},{"before":null,"after":"c57e97aeb7d9f2762bb8cb4f9edf2d4458f85fcd","ref":"refs/heads/kitsune/better-power-level-checking-1","pushedAt":"2024-09-15T10:44:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Refactor power level event management; Room::powerLevelFor()\n\nThis commit makes RoomPowerLevelsEvent _always_ available via\ncurrentState() - no need to query()/queryOr(), just get() and safely\naccess all the members. This is possible because the spec defines\ndefault power levels for all kinds of cases; we can just inject\na synthetic RoomPowerLevelsEvent object with those defaults into\ncurrentState() and once the real event comes (either from the homeserver\nor from the cache) it replaces the synthetic one by normal means of\nstate processing.\n\nThanks to that, Room::memberEffectivePowerLevel() implementation becomes\nmuch simpler; and to match it on the other side of power level checks,\nRoom::powerLevelFor() is introduced as a unified call returning the\npower level necessary to send any specific event type, state or not.","shortMessageHtmlLink":"Refactor power level event management; Room::powerLevelFor()"}},{"before":"5babc9e618eb85523e176a8e162da9e3c8f7c2c4","after":"571802e5a2f465d913346c7f468b5ad53bb155b5","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-15T10:31:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?","shortMessageHtmlLink":"?"}},{"before":"f206e0a6c19557cd27f434b9be58c2eecc1e4415","after":"5babc9e618eb85523e176a8e162da9e3c8f7c2c4","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-15T10:26:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?","shortMessageHtmlLink":"?"}},{"before":"3706f956c49e04af2ca6d2a7873c2943a65e540d","after":"f206e0a6c19557cd27f434b9be58c2eecc1e4415","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-15T10:03:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?","shortMessageHtmlLink":"?"}},{"before":"da817b0954604f26d3b75c75511017b8905b3ad9","after":"c57e97aeb7d9f2762bb8cb4f9edf2d4458f85fcd","ref":"refs/heads/kitsune/better-power-level-checking","pushedAt":"2024-09-15T07:10:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"KitsuneRal","name":"Alexey Rusakov","path":"/KitsuneRal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10569730?s=80&v=4"},"commit":{"message":"Refactor power level event management; Room::powerLevelFor()\n\nThis commit makes RoomPowerLevelsEvent _always_ available via\ncurrentState() - no need to query()/queryOr(), just get() and safely\naccess all the members. This is possible because the spec defines\ndefault power levels for all kinds of cases; we can just inject\na synthetic RoomPowerLevelsEvent object with those defaults into\ncurrentState() and once the real event comes (either from the homeserver\nor from the cache) it replaces the synthetic one by normal means of\nstate processing.\n\nThanks to that, Room::memberEffectivePowerLevel() implementation becomes\nmuch simpler; and to match it on the other side of power level checks,\nRoom::powerLevelFor() is introduced as a unified call returning the\npower level necessary to send any specific event type, state or not.","shortMessageHtmlLink":"Refactor power level event management; Room::powerLevelFor()"}},{"before":"47eca42d5cfcba938941c940912966e49d30f4ad","after":"3706f956c49e04af2ca6d2a7873c2943a65e540d","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T20:28:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?","shortMessageHtmlLink":"?"}},{"before":"66cd3a12c50963a98ce454f0622d42550a22e5c3","after":"47eca42d5cfcba938941c940912966e49d30f4ad","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T20:22:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?","shortMessageHtmlLink":"?"}},{"before":"09f487a234ace62b873647b50fec207e42dda6e1","after":"66cd3a12c50963a98ce454f0622d42550a22e5c3","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T20:09:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":":I","shortMessageHtmlLink":":I"}},{"before":"0d6b375552b15a54323b7a7bf9e9e8ef0dc2e3d0","after":"09f487a234ace62b873647b50fec207e42dda6e1","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T20:04:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"Try fix","shortMessageHtmlLink":"Try fix"}},{"before":"d6239cff5caa4d6ae40cfd2ad314070061344665","after":"0d6b375552b15a54323b7a7bf9e9e8ef0dc2e3d0","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T19:57:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"Try fix","shortMessageHtmlLink":"Try fix"}},{"before":"783f4b037eb21f289f197dddbea23990ef81bc52","after":"d6239cff5caa4d6ae40cfd2ad314070061344665","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T19:46:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"?!","shortMessageHtmlLink":"?!"}},{"before":"2f079e658bd9cbca47d20605c73c49982237e8dc","after":"783f4b037eb21f289f197dddbea23990ef81bc52","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T19:38:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"Bye MSVC","shortMessageHtmlLink":"Bye MSVC"}},{"before":"622f359c67abec0bbb1342e732e541486f162d0a","after":"2f079e658bd9cbca47d20605c73c49982237e8dc","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T19:26:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"b50a5160679bb77e78d81c11e78e716019f61e54","after":"622f359c67abec0bbb1342e732e541486f162d0a","ref":"refs/heads/tobias/vodozemac","pushedAt":"2024-09-14T19:22:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"TobiasFella","name":"Tobias Fella","path":"/TobiasFella","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9750016?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMjo0NDozNy4wMDAwMDBazwAAAAS8a8Xm","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQyMjo0NDozNy4wMDAwMDBazwAAAAS8a8Xm","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xNFQxOToyMjozNy4wMDAwMDBazwAAAAS2Xn1y"}},"title":"Activity · quotient-im/libQuotient"}