{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":65245890,"defaultBranch":"master","name":"epoxy","ownerLogin":"airbnb","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-08-08T23:05:11.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/698437?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1706215825.0","currentOid":""},"activityList":{"items":[{"before":"0724a3a88db20400b2068d2fdf44767b70598d21","after":null,"ref":"refs/heads/rossbacher-relase-514","pushedAt":"2024-01-25T20:48:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"}},{"before":"a3400ccb6fc0c552b954b3de3b235f27418b3389","after":"c0813764351e4de97b7abd0694af5dad9db848f2","ref":"refs/heads/master","pushedAt":"2024-01-25T20:48:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"},"commit":{"message":"Release 5.1.4 (#1371)\n\nCo-authored-by: Andreas Rossbacher ","shortMessageHtmlLink":"Release 5.1.4 (#1371)"}},{"before":null,"after":"0724a3a88db20400b2068d2fdf44767b70598d21","ref":"refs/heads/rossbacher-relase-514","pushedAt":"2024-01-25T19:42:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"},"commit":{"message":"Release 5.1.4","shortMessageHtmlLink":"Release 5.1.4"}},{"before":"9a43af4d043e71f29afe4cbeadf8c008740a5184","after":"a3400ccb6fc0c552b954b3de3b235f27418b3389","ref":"refs/heads/master","pushedAt":"2024-01-25T19:37:49.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"},"commit":{"message":"Change the way the Compose interop works to avoid Android 12 bug (#1370)\n\n* The way the composeEpoxyModel funtion was written it would create a function that looked like this (in decompiled dex bytecode)\r\n\r\n```\r\npublic static final ComposeEpoxyModel composeEpoxyModel(String id, Object[] keys, Function2 composeFunction) {\r\n ...\r\n ComposeEpoxyModel $this$composeEpoxyModel_u24lambda_u240 = new ComposeEpoxyModel(Arrays.copyOf(keys, keys.length), composeFunction);\r\n $this$composeEpoxyModel_u24lambda_u240.id(id);\r\n return $this$composeEpoxyModel_u24lambda_u240;\r\n}\r\n```\r\n\r\nthis would trigger a ART bug in the (non mainline patched version of Android 12) to optimize the this line\r\n\r\n```\r\n$this$composeEpoxyModel_u24lambda_u240.id(id);\r\n```\r\n\r\nand lead to crashes on Android 12.\r\n\r\nMore background at:\r\nhttps://github.com/airbnb/epoxy/issues/1199 and\r\nhttps://issuetracker.google.com/issues/197818595\r\n\r\nThis works around this issue by making sure that the creation, setting the id and adding to the controller of a ComposeEpoxyModelis happening in the same location in compiled bytecode.\r\n\r\nNote: If you run R8 with optimization enabled, outlining might still outline some of that inlined code again and thus still cause this probblem but that is a different issue that can be dealed with by disabling outlining or all optimization.\r\n\r\n* Fix lint error\r\n\r\n---------\r\n\r\nCo-authored-by: Andreas Rossbacher ","shortMessageHtmlLink":"Change the way the Compose interop works to avoid Android 12 bug (#1370)"}},{"before":"230a17521af8c5c7a420067f44998122e24ab2ed","after":"a18aeeb592d2f4a9533d5b1e3497060d2290f8c0","ref":"refs/heads/rossbacher-updateComposeInteropToAvoidAndroid12Bug","pushedAt":"2024-01-22T22:03:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"},"commit":{"message":"Fix lint error","shortMessageHtmlLink":"Fix lint error"}},{"before":null,"after":"230a17521af8c5c7a420067f44998122e24ab2ed","ref":"refs/heads/rossbacher-updateComposeInteropToAvoidAndroid12Bug","pushedAt":"2024-01-22T21:05:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rossbacher","name":"Andreas Rossbacher","path":"/rossbacher","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6025027?s=80&v=4"},"commit":{"message":"The way the composeEpoxyModel funtion was written it would create a function that looked like this (in decompiled dex bytecode)\n\n```\npublic static final ComposeEpoxyModel composeEpoxyModel(String id, Object[] keys, Function2 composeFunction) {\n ...\n ComposeEpoxyModel $this$composeEpoxyModel_u24lambda_u240 = new ComposeEpoxyModel(Arrays.copyOf(keys, keys.length), composeFunction);\n $this$composeEpoxyModel_u24lambda_u240.id(id);\n return $this$composeEpoxyModel_u24lambda_u240;\n}\n```\n\nthis would trigger a ART bug in the (non mainline patched version of Android 12) to optimize the this line\n\n```\n$this$composeEpoxyModel_u24lambda_u240.id(id);\n```\n\nand lead to crashes on Android 12.\n\nMore background at:\nhttps://github.com/airbnb/epoxy/issues/1199 and\nhttps://issuetracker.google.com/issues/197818595\n\nThis works around this issue by making sure that the creation, setting the id and adding to the controller of a ComposeEpoxyModelis happening in the same location in compiled bytecode.\n\nNote: If you run R8 with optimization enabled, outlining might still outline some of that inlined code again and thus still cause this probblem but that is a different issue that can be dealed with by disabling outlining or all optimization.","shortMessageHtmlLink":"The way the composeEpoxyModel funtion was written it would create a f…"}},{"before":"e365d6e95440cc219a768125244677d9ba148139","after":null,"ref":"refs/heads/eli-release_513","pushedAt":"2023-05-19T19:45:47.788Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"cc4f250dfd6836975759e4c16fbe4cbde925a4a3","after":"9a43af4d043e71f29afe4cbeadf8c008740a5184","ref":"refs/heads/master","pushedAt":"2023-05-19T19:45:44.652Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Release 5.1.3 (#1353)\n\n* Release 5.1.3\r\n\r\n* fix releasing docs","shortMessageHtmlLink":"Release 5.1.3 (#1353)"}},{"before":"97180e52e0675d9364ca42763cf536d7f055541e","after":"e365d6e95440cc219a768125244677d9ba148139","ref":"refs/heads/eli-release_513","pushedAt":"2023-05-19T19:45:36.042Z","pushType":"push","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"fix releasing docs","shortMessageHtmlLink":"fix releasing docs"}},{"before":null,"after":"97180e52e0675d9364ca42763cf536d7f055541e","ref":"refs/heads/eli-release_513","pushedAt":"2023-05-19T19:36:44.670Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Release 5.1.3","shortMessageHtmlLink":"Release 5.1.3"}},{"before":"774fe072fdc99c7182dff86fb6e2b5f8a5253661","after":null,"ref":"refs/heads/pmecho--visibility-tracker-without-kotlin-update","pushedAt":"2023-05-19T19:32:43.550Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"651d695a8a2b1120adb3ee8ebdc1fc2bf540f04d","after":null,"ref":"refs/heads/pmecho-view-binder","pushedAt":"2023-05-19T19:32:26.370Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"0395289f8f3a93ed703453b5543a0390b6cd209d","after":null,"ref":"refs/heads/vinay-multi-module-interface-model-package","pushedAt":"2023-05-19T19:32:25.390Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"bf2cb8692a7726504f0b296e89e1dbf1b72bdc4b","after":null,"ref":"refs/heads/pmecho-view-binder-visibility-tests","pushedAt":"2023-05-19T19:32:24.343Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"71fb79f2dabf2571a0b757c336b7d56bfb47c01a","after":null,"ref":"refs/heads/vinay-fix-epoxy-bug","pushedAt":"2023-05-19T19:32:22.123Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"d128df0578b0d4fd23dd7f913a97a6a910a3120c","after":null,"ref":"refs/heads/eli-release_512","pushedAt":"2023-05-19T19:32:09.912Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"fc91c7053f2e708f49181f75ea52806a018b8c8b","after":"cc4f250dfd6836975759e4c16fbe4cbde925a4a3","ref":"refs/heads/master","pushedAt":"2023-05-19T19:32:06.725Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Prepare for release 6.1.2 (#1352)","shortMessageHtmlLink":"Prepare for release 6.1.2 (#1352)"}},{"before":"4f8e3e9e87ad6371db83f27beda48ce871dff2cd","after":null,"ref":"refs/heads/eli-fix_kapt_bug","pushedAt":"2023-05-19T19:29:54.956Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"dcb463e8325d138b310f298ffcaad30a12f5e0b2","after":"fc91c7053f2e708f49181f75ea52806a018b8c8b","ref":"refs/heads/master","pushedAt":"2023-05-19T19:29:50.301Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Update kotlin to 1.8.21 (#1351)\n\n* Update to kotlin 1.8.21\r\n\r\n* clean up\r\n\r\n* make artifactory username optional","shortMessageHtmlLink":"Update kotlin to 1.8.21 (#1351)"}},{"before":"09b8479247efc52bada8061fd701a4cdac4c8fe8","after":"4f8e3e9e87ad6371db83f27beda48ce871dff2cd","ref":"refs/heads/eli-fix_kapt_bug","pushedAt":"2023-05-19T19:21:21.960Z","pushType":"push","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"make artifactory username optional","shortMessageHtmlLink":"make artifactory username optional"}},{"before":"3064f67a689eb82f9673836d5b8609b8f2486429","after":"09b8479247efc52bada8061fd701a4cdac4c8fe8","ref":"refs/heads/eli-fix_kapt_bug","pushedAt":"2023-05-19T19:07:03.032Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"clean up","shortMessageHtmlLink":"clean up"}},{"before":"a183c4e1343680011819e437d56271691c57a47e","after":"dcb463e8325d138b310f298ffcaad30a12f5e0b2","ref":"refs/heads/master","pushedAt":"2023-05-19T18:54:43.091Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Resolve unchecked call warning for WrappedEpoxyModelClickListener (#1337)","shortMessageHtmlLink":"Resolve unchecked call warning for WrappedEpoxyModelClickListener (#1337"}},{"before":"5af2c8191dcf914734f1b4442eec3cb73bb2d626","after":"a183c4e1343680011819e437d56271691c57a47e","ref":"refs/heads/master","pushedAt":"2023-05-19T18:52:58.984Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Fix refresh KDoc (#1334)","shortMessageHtmlLink":"Fix refresh KDoc (#1334)"}},{"before":"572c177555ee5267e8d9a5e92e25400a36e5d79d","after":"3064f67a689eb82f9673836d5b8609b8f2486429","ref":"refs/heads/eli-fix_kapt_bug","pushedAt":"2023-05-19T18:49:17.449Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Update to kotlin 1.8.21","shortMessageHtmlLink":"Update to kotlin 1.8.21"}},{"before":"31d282e91a7b3e8ad10a7837410cadedbce90d25","after":null,"ref":"refs/heads/eli-fix_click_listener_problem","pushedAt":"2023-05-19T18:48:23.757Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"}},{"before":"b8fa69ec50858f3730b2cdffe559c833bb9cc7bc","after":"5af2c8191dcf914734f1b4442eec3cb73bb2d626","ref":"refs/heads/master","pushedAt":"2023-05-19T18:48:19.681Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Fix click listener kapt bug (#1327)\n\n* fix click listener kapt bug and update publishing\r\n\r\n* fix property lookup","shortMessageHtmlLink":"Fix click listener kapt bug (#1327)"}},{"before":"2ad48dd73091884105a131a355fe9647970b38ef","after":"31d282e91a7b3e8ad10a7837410cadedbce90d25","ref":"refs/heads/eli-fix_click_listener_problem","pushedAt":"2023-05-19T18:48:01.251Z","pushType":"push","commitsCount":3,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Merge branch 'master' into eli-fix_click_listener_problem","shortMessageHtmlLink":"Merge branch 'master' into eli-fix_click_listener_problem"}},{"before":"50f8c2107d29a141dbe3e283849971d57cecc0e7","after":"b8fa69ec50858f3730b2cdffe559c833bb9cc7bc","ref":"refs/heads/master","pushedAt":"2023-05-19T18:09:24.594Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"epoxy-kspsample : use ksp block to specify arguments (#1347)\n\nAs discussed here https://github.com/airbnb/epoxy/pull/1316#issuecomment-1540983979","shortMessageHtmlLink":"epoxy-kspsample : use ksp block to specify arguments (#1347)"}},{"before":null,"after":"572c177555ee5267e8d9a5e92e25400a36e5d79d","ref":"refs/heads/eli-fix_kapt_bug","pushedAt":"2023-05-19T18:01:40.353Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"Fix click listener type checking","shortMessageHtmlLink":"Fix click listener type checking"}},{"before":null,"after":"2b4426601c455619cf30b19fd668508b6c4ed255","ref":"refs/heads/eli-agp_8_0_update","pushedAt":"2023-05-19T05:26:27.514Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"elihart","name":"Eli Hart","path":"/elihart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2739242?s=80&v=4"},"commit":{"message":"update to agp 8.0","shortMessageHtmlLink":"update to agp 8.0"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD6VPagAA","startCursor":null,"endCursor":null}},"title":"Activity · airbnb/epoxy"}