{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":105686726,"defaultBranch":"main","name":"RIBs","ownerLogin":"uber","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-10-03T18:18:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/538264?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1701781701.0","currentOid":""},"activityList":{"items":[{"before":"4cec42fcb825987bca0b1ba7daa3d7214108b2c5","after":"ff465544216b5dff727abae6bbd16d961f4345ee","ref":"refs/heads/main","pushedAt":"2024-04-15T22:11:27.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"FranAguilera","name":"Fran Aguilera","path":"/FranAguilera","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/4230063?s=80&v=4"},"commit":{"message":"Merge pull request #629 from psteiger/rrw-converters-fix\n\nSupport classes that are both `Worker` and `RibCoroutineWorker` in co…","shortMessageHtmlLink":"Merge pull request #629 from psteiger/rrw-converters-fix"}},{"before":"9b5cff6e97b2495b8a7f3e15b544a3ecc1b0359d","after":"4cec42fcb825987bca0b1ba7daa3d7214108b2c5","ref":"refs/heads/main","pushedAt":"2024-03-20T23:54:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"tyvsmith","name":"Ty Smith","path":"/tyvsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/309657?s=80&v=4"},"commit":{"message":"Merge pull request #630 from mamykin-andrey/issues-499-fix-flipper-plugin-memory-leak\n\nFix Flipper Ribtree Plugin memory leak","shortMessageHtmlLink":"Merge pull request #630 from mamykin-andrey/issues-499-fix-flipper-pl…"}},{"before":"43db2962e68345d597a73133fcc9595be2c5e4bc","after":"9b5cff6e97b2495b8a7f3e15b544a3ecc1b0359d","ref":"refs/heads/main","pushedAt":"2023-11-29T02:58:06.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Prepare next development version","shortMessageHtmlLink":"Prepare next development version"}},{"before":"cbd11f7927a7d7ded1ef921867d98d58ba19ea24","after":"43db2962e68345d597a73133fcc9595be2c5e4bc","ref":"refs/heads/main","pushedAt":"2023-11-21T20:26:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"[RibCoroutineWorker] In `asWorker()`, keep scope alive until lifecycle completion.\n\nThis fixes Rx subscriptions using `autoDispose(CoroutineScope)` immediately terminating.\n\nIn order to properly support `autoDispose(CoroutineScope)` subscriptions, we must keep the `CoroutineScope` received in `onStart` alive as long as the `WorkerScopeProvider` lifecycle.\n\n`autoDispose` does *not* create a children coroutine: instead it installs a completion handler. Hence, outer scope will not have children to wait for completion and will terminate immediately.","shortMessageHtmlLink":"[RibCoroutineWorker] In asWorker(), keep scope alive until lifecycl…"}},{"before":"68470983604d55f01075b337384ae109f898c215","after":"cbd11f7927a7d7ded1ef921867d98d58ba19ea24","ref":"refs/heads/main","pushedAt":"2023-11-09T19:54:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Make suspend functions callable inside `test(worker) { }`\n\nWe don't need `crossinline` for `testBody`. Usage of cross-inline makes suspend functions non-callable in the test body, which forbids patterns like:\n```\ntest(worker) {\n sharedFlow.emit(someValue)\n // assert worker processed it\n}\n```","shortMessageHtmlLink":"Make suspend functions callable inside test(worker) { }"}},{"before":"14d1822cff5ac0c24f887b46df391bf9af1dfa5a","after":"68470983604d55f01075b337384ae109f898c215","ref":"refs/heads/main","pushedAt":"2023-11-04T19:53:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Prepare next development version","shortMessageHtmlLink":"Prepare next development version"}},{"before":"69903fd0d8752a2adca700f0c99ef2217b3a9674","after":"14d1822cff5ac0c24f887b46df391bf9af1dfa5a","ref":"refs/heads/main","pushedAt":"2023-11-04T02:43:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Prepare next development version","shortMessageHtmlLink":"Prepare next development version"}},{"before":"43f27d329603e100bda66a30e2d4455407ed076f","after":null,"ref":"refs/heads/jb/k2-fix","pushedAt":"2023-10-31T18:42:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"}},{"before":"73a59588319ae23d2a771df0aebc6710bc21bac3","after":"69903fd0d8752a2adca700f0c99ef2217b3a9674","ref":"refs/heads/main","pushedAt":"2023-10-31T18:42:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Refactor internal methods to avoid duplicate JVM signature (#621)\n\n* Rename internal method to avoid duplicate JVM signature\r\n* Use core-annotated method approach instead of renaming","shortMessageHtmlLink":"Refactor internal methods to avoid duplicate JVM signature (#621)"}},{"before":"28ffde23b42656c787baa29b70a85593d2a8afa1","after":"43f27d329603e100bda66a30e2d4455407ed076f","ref":"refs/heads/jb/k2-fix","pushedAt":"2023-10-31T18:16:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Use core-annotated method approach instead of renaming","shortMessageHtmlLink":"Use core-annotated method approach instead of renaming"}},{"before":"c367eeb6f3672e28f36469cc0d21be748df5ac8b","after":"28ffde23b42656c787baa29b70a85593d2a8afa1","ref":"refs/heads/jb/k2-fix","pushedAt":"2023-10-31T16:52:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Rename internal method to avoid duplicate JVM signature","shortMessageHtmlLink":"Rename internal method to avoid duplicate JVM signature"}},{"before":null,"after":"c367eeb6f3672e28f36469cc0d21be748df5ac8b","ref":"refs/heads/jb/k2-fix","pushedAt":"2023-10-31T16:50:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"}},{"before":"adc3b0df53c4fa73f7daca432e427fdefe732ab6","after":"73a59588319ae23d2a771df0aebc6710bc21bac3","ref":"refs/heads/main","pushedAt":"2023-10-06T18:10:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Introduce `TestScope.test(RibCoroutineWorker)` test helper utility.\n\nThis helper utility is meant to be used in tests inside `runTest { }` blocks\nand should facilitate `RibCoroutineWorker` testing by automatically binding\nand unbinding the worker in the scope of the lambda.\n\n```\n@Test fun test() = runTest {\n test(worker) {\n // Worker is bound. Make assertions\n }\n // Worker is unbound.\n}\n```","shortMessageHtmlLink":"Introduce TestScope.test(RibCoroutineWorker) test helper utility."}},{"before":"0043217d358ff628a8377546b5cb67289382abe5","after":"adc3b0df53c4fa73f7daca432e427fdefe732ab6","ref":"refs/heads/main","pushedAt":"2023-09-22T00:20:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Get rid of suppressions for \"invisible_reference\" and \"invisible_member\"\n\nFor accessing internal declarations from other modules (e.g. access `rib-base` internals from `rib-test`), we are currently suppressing compiler errors with `@file:Suppress(\"invisible_reference\", \"invisible_member\")`\n\nA better approach is to:\n1. Create an `internal` opt-in annotation.\n2. Make the \"accessible to friend modules\" component `public`\n3. Mark the (now public) component with the opt-in annotation.\n4. Opt-in to the annotation from `build.gradle`.\n\nBecause the new annotation is `internal`, it cannot be normally accessed from external modules. But Gradle can see it if it's part of the source set.\n\nThis makes the internal visibility of those friend-modules APIs even stricter, since consumers now cannot just suppress `\"invisible_reference\"` and `\"invisible_member\"` to directly access the friend-module API. Plus, we get rid of the hacky suppressions in our codebase.","shortMessageHtmlLink":"Get rid of suppressions for \"invisible_reference\" and \"invisible_member\""}},{"before":"891865cfd3e2db2806c58effa5be6b3568006929","after":"0043217d358ff628a8377546b5cb67289382abe5","ref":"refs/heads/main","pushedAt":"2023-09-20T17:36:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Prepare next development version","shortMessageHtmlLink":"Prepare next development version"}},{"before":"d1f1c1bfdebed630526a00c810721f6cbfa40c6a","after":null,"ref":"refs/heads/jb/jvm-version-8","pushedAt":"2023-09-20T17:30:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"}},{"before":"00753bba2eae3fe630776fedb4648375b4558e11","after":"891865cfd3e2db2806c58effa5be6b3568006929","ref":"refs/heads/main","pushedAt":"2023-09-20T17:30:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Revert JVM version to 1.8 (#616)\n\n* Revert JVM version to 1.8\r\n* Add tools jar","shortMessageHtmlLink":"Revert JVM version to 1.8 (#616)"}},{"before":"1b15242808d6c169d9cdf156d74f4b97dd6db5d0","after":"d1f1c1bfdebed630526a00c810721f6cbfa40c6a","ref":"refs/heads/jb/jvm-version-8","pushedAt":"2023-09-20T17:06:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Add tools jar","shortMessageHtmlLink":"Add tools jar"}},{"before":"340652dababff2f8023c05724bda3600bf7a0122","after":"1b15242808d6c169d9cdf156d74f4b97dd6db5d0","ref":"refs/heads/jb/jvm-version-8","pushedAt":"2023-09-20T14:34:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Revert JVM version to 1.8","shortMessageHtmlLink":"Revert JVM version to 1.8"}},{"before":null,"after":"340652dababff2f8023c05724bda3600bf7a0122","ref":"refs/heads/jb/jvm-version-8","pushedAt":"2023-09-19T22:28:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"}},{"before":"ee76bc3230d374169ee5a7eddbe1841c331b3584","after":null,"ref":"refs/heads/jb/core-act-owners","pushedAt":"2023-09-12T01:24:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"}},{"before":"1b2927b79f2b2d2f0aa404c1f6e078ff28a6ee1e","after":"00753bba2eae3fe630776fedb4648375b4558e11","ref":"refs/heads/main","pushedAt":"2023-09-12T01:24:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Set view tree owners in parent class (#615)","shortMessageHtmlLink":"Set view tree owners in parent class (#615)"}},{"before":null,"after":"ee76bc3230d374169ee5a7eddbe1841c331b3584","ref":"refs/heads/jb/core-act-owners","pushedAt":"2023-09-12T00:58:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jbarr21","name":"James Barr","path":"/jbarr21","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3178606?s=80&v=4"},"commit":{"message":"Set view tree owners in parent class","shortMessageHtmlLink":"Set view tree owners in parent class"}},{"before":"be134db532b406a70fec5ea49c462232e90c4fa4","after":"1b2927b79f2b2d2f0aa404c1f6e078ff28a6ee1e","ref":"refs/heads/main","pushedAt":"2023-08-31T02:11:12.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"idanakav","name":null,"path":"/idanakav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1896841?s=80&v=4"},"commit":{"message":"Merge pull request #613 from idanakav/plugin-0.1.5\n\nIntelliJ plugin 0.1.5","shortMessageHtmlLink":"Merge pull request #613 from idanakav/plugin-0.1.5"}},{"before":"85cf3b3c8a7f35e8332d52591e711c2704d87ea8","after":"be134db532b406a70fec5ea49c462232e90c4fa4","ref":"refs/heads/main","pushedAt":"2023-08-28T12:28:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tyvsmith","name":"Ty Smith","path":"/tyvsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/309657?s=80&v=4"},"commit":{"message":"Prepare next development version","shortMessageHtmlLink":"Prepare next development version"}},{"before":"f88e1fe1c6eb79d3870ac716f9ad5371ebe6dea8","after":"85cf3b3c8a7f35e8332d52591e711c2704d87ea8","ref":"refs/heads/main","pushedAt":"2023-08-23T02:42:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Bump kotlinx.coroutines.test to 1.7.3","shortMessageHtmlLink":"Bump kotlinx.coroutines.test to 1.7.3"}},{"before":"31f4984632225fde30ad6b702faeeab9bc783aef","after":"f88e1fe1c6eb79d3870ac716f9ad5371ebe6dea8","ref":"refs/heads/main","pushedAt":"2023-08-23T00:59:05.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"tyvsmith","name":"Ty Smith","path":"/tyvsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/309657?s=80&v=4"},"commit":{"message":"Merge pull request #609 from uber/tys/coroutines-1.7\n\nUpdate coroutines 1.7.3","shortMessageHtmlLink":"Merge pull request #609 from uber/tys/coroutines-1.7"}},{"before":"1f8839ba9add5ce3442e303d7b9bb13c914bd69c","after":"31f4984632225fde30ad6b702faeeab9bc783aef","ref":"refs/heads/main","pushedAt":"2023-08-22T23:13:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"psteiger","name":"Patrick Steiger","path":"/psteiger","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/124331?s=80&v=4"},"commit":{"message":"Add `RibCoroutineWorker` factory method with `CoroutineScope` as receiver.\n\n`RibCoroutineWorker` is already a functional interface; the purpose of this builder is to allow consumers\nto create a `RibCoroutineWorker` with `CoroutineScope` in receiver position. E.g.\n\n- Functional interface:\n```\nRibCoroutineWorker { scope ->\n scope.launch { ... }\n}\n```\n\n- This factory method:\n```\nRibCoroutineWorker {\n launch { ... }\n}\n```","shortMessageHtmlLink":"Add RibCoroutineWorker factory method with CoroutineScope as rece…"}},{"before":"a6e2109c2913152378bcb1d32fe452ccd0c1264f","after":"fa39761edbee49bceb09e06fa98098e0f1990975","ref":"refs/heads/tys/coroutines-1.7","pushedAt":"2023-08-22T22:07:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tyvsmith","name":"Ty Smith","path":"/tyvsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/309657?s=80&v=4"},"commit":{"message":"Spotless","shortMessageHtmlLink":"Spotless"}},{"before":"25b8aaf2766179a2d2125ee56d9696ae100ad798","after":"a6e2109c2913152378bcb1d32fe452ccd0c1264f","ref":"refs/heads/tys/coroutines-1.7","pushedAt":"2023-08-22T22:06:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tyvsmith","name":"Ty Smith","path":"/tyvsmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/309657?s=80&v=4"},"commit":{"message":"addressing feedback","shortMessageHtmlLink":"addressing feedback"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEMWZ4MwA","startCursor":null,"endCursor":null}},"title":"Activity · uber/RIBs"}