{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":165522651,"defaultBranch":"master","name":"egui","ownerLogin":"emilk","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-01-13T15:39:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1148717?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725533054.0","currentOid":""},"activityList":{"items":[{"before":"0424d6961cb6e6ed5d71e7c17a0b9a6743ae1c5d","after":"27ef164e4d77d9cc259a295495a7da2241a586dc","ref":"refs/heads/gh-pages","pushedAt":"2024-09-05T10:45:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@7cb61f8031d2d7ccfa8cfb2442a52a2a31ec923c ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 7cb61f8 ๐Ÿš€"}},{"before":"35f097f448d58dbf9cf20e01aff6882f6fbd1cd1","after":null,"ref":"refs/heads/emilk/visible-sizing-pass","pushedAt":"2024-09-05T10:44:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"}},{"before":"f74152988fd4333e04cfde6a0e22fc44b3857d0e","after":"7cb61f8031d2d7ccfa8cfb2442a52a2a31ec923c","ref":"refs/heads/master","pushedAt":"2024-09-05T10:44:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Deprecate `ui.set_sizing_pass` (#5074)\n\nUse `UiBuilder::new().sizing_pass().invisible()` instead.\r\n\r\nAlso changes `UiBuilder::sizing_pass` to no longer turn the ui\r\ninvisible. You'll have to opt-in to that instead when it makes sense,\r\ne.g. for the first frame of a tooltip, but not when auto-sizing a column\r\nin a `Table`.","shortMessageHtmlLink":"Deprecate ui.set_sizing_pass (#5074)"}},{"before":"342e6a7e5b64de6a71b2d924aef2123488de3ed8","after":"35f097f448d58dbf9cf20e01aff6882f6fbd1cd1","ref":"refs/heads/emilk/visible-sizing-pass","pushedAt":"2024-09-05T10:37:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"clippy","shortMessageHtmlLink":"clippy"}},{"before":null,"after":"342e6a7e5b64de6a71b2d924aef2123488de3ed8","ref":"refs/heads/emilk/visible-sizing-pass","pushedAt":"2024-09-05T10:33:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Deprecate `ui.set_sizing_pass`\n\nUse `UiBuilder::new().sizing_pass().invisible()` instead.\n\nAlso changes `UiBuilder::sizing_pass` to no longer turn the ui\ninvisible. You'll have to opt-in to that instead when it makes sense,\ne.g. for the first frame of a tooltip, but not when auto-sizing a column\nin a `Table`.","shortMessageHtmlLink":"Deprecate ui.set_sizing_pass"}},{"before":"ee58155eec1d03ffdd3e8e62e57a8fbfa5b28350","after":"0424d6961cb6e6ed5d71e7c17a0b9a6743ae1c5d","ref":"refs/heads/gh-pages","pushedAt":"2024-09-05T06:51:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@f74152988fd4333e04cfde6a0e22fc44b3857d0e ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ f741529 ๐Ÿš€"}},{"before":"9b0c70f9964ad932cca9891355161116bd607362","after":"ee58155eec1d03ffdd3e8e62e57a8fbfa5b28350","ref":"refs/heads/gh-pages","pushedAt":"2024-09-05T06:49:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@df9cd21248f249ff3e364079205bfc52ad2c38ed ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ df9cd21 ๐Ÿš€"}},{"before":"df9cd21248f249ff3e364079205bfc52ad2c38ed","after":"f74152988fd4333e04cfde6a0e22fc44b3857d0e","ref":"refs/heads/master","pushedAt":"2024-09-05T06:49:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `Options::input_options` for click-delay etc (#4942)\n\nThis takes 3 hardcoded constants from `input_state.rs` and puts them in\r\na `InputOptions` struct that then gets added to `Options`. This allows\r\nadjusting these values at runtime, for example, to increase\r\n`MAX_CLICK_DIST` for touchscreen usage.\r\n\r\n* [x] I have followed the instructions in the PR template","shortMessageHtmlLink":"Add Options::input_options for click-delay etc (#4942)"}},{"before":"2be93aca5d0db973ab163267fb4162363786ffba","after":"df9cd21248f249ff3e364079205bfc52ad2c38ed","ref":"refs/heads/master","pushedAt":"2024-09-05T06:48:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Conditionally propagate web events using a filter in WebOptions (#5056)\n\nCurrently egui will prevent all web events from propagating. This causes\r\nissues in contexts where you are using egui in a larger web context that\r\nwants to receive events that egui does not directly respond to. For\r\nexample, currently using egui in a VSCode extension will block all app\r\nhotkeys, such as saving and opening the panel.\r\n\r\nThis adds a closure to `WebOptions` that takes in a reference to the\r\negui event that is generated from a web event and returns if the\r\ncorresponding web event should be propagated or not. The default for it\r\nis to always return false.\r\n\r\nAlternatives I considered were:\r\n1. Having the propagation filter be a property of the focus in memory.\r\nThat way it could be configured by the view currently selected. I opted\r\naway from that because I wanted to avoid lowering eframe implementation\r\nspecific stuff into egui.\r\n2. Having events contain a `web_propagate` flag that could be set when\r\nhandling them. However, that would not be compatible with the current\r\nsystem of egui events being handled outside of the web event handler.\r\n\r\nI just recently started using egui so I am not sure how idiomatic my\r\napproach here is. I would be happy to switch this over to a different\r\narchitecture if there are suggestions.\r\n\r\n\r\n\r\n* [x] I have followed the instructions in the PR template","shortMessageHtmlLink":"Conditionally propagate web events using a filter in WebOptions (#5056)"}},{"before":"905ff08def7659ac38e807b8878be1d442f0540d","after":"9b0c70f9964ad932cca9891355161116bd607362","ref":"refs/heads/gh-pages","pushedAt":"2024-09-05T06:11:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@2be93aca5d0db973ab163267fb4162363786ffba ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 2be93ac ๐Ÿš€"}},{"before":"9fe4028f439b26e61c262789d9fe1fda8780fb88","after":"2be93aca5d0db973ab163267fb4162363786ffba","ref":"refs/heads/master","pushedAt":"2024-09-05T06:09:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Fix visual glitch in `scroll_bar_rect` added in #5070","shortMessageHtmlLink":"Fix visual glitch in scroll_bar_rect added in #5070"}},{"before":"8069d75f540e8c7cede1570574cf50454ecbae42","after":"905ff08def7659ac38e807b8878be1d442f0540d","ref":"refs/heads/gh-pages","pushedAt":"2024-09-04T19:21:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@9fe4028f439b26e61c262789d9fe1fda8780fb88 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 9fe4028 ๐Ÿš€"}},{"before":"de2f6c00ce760454c1c1a5df32e8962d17287705","after":null,"ref":"refs/heads/emilk/scroll-bar-rect","pushedAt":"2024-09-04T19:20:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"}},{"before":"0b92b93233f56b323a80c4353d18ee7c2130e0f4","after":"9fe4028f439b26e61c262789d9fe1fda8780fb88","ref":"refs/heads/master","pushedAt":"2024-09-04T19:20:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `ScrollArea::scroll_bar_rect` (#5070)\n\nUseful for constraining the scroll bars to a smaller area. This will be\r\nused by the new `egui_table` crate\r\n(https://github.com/rerun-io/egui_table)\r\n\r\n\r\n![egui_table](https://github.com/user-attachments/assets/cf2a4946-914d-4f5f-91f8-63da08345413)","shortMessageHtmlLink":"Add ScrollArea::scroll_bar_rect (#5070)"}},{"before":null,"after":"de2f6c00ce760454c1c1a5df32e8962d17287705","ref":"refs/heads/emilk/scroll-bar-rect","pushedAt":"2024-09-04T19:12:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add ScrollArea::scroll_bar_rect","shortMessageHtmlLink":"Add ScrollArea::scroll_bar_rect"}},{"before":"7228177db5fc4baa7e47b3317e9117c9fad3a397","after":"8069d75f540e8c7cede1570574cf50454ecbae42","ref":"refs/heads/gh-pages","pushedAt":"2024-09-04T15:03:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@0b92b93233f56b323a80c4353d18ee7c2130e0f4 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 0b92b93 ๐Ÿš€"}},{"before":"125c2ea4519e1f76dee72b29a5286a00c088d4f4","after":null,"ref":"refs/heads/emilk/shrink-clip-rect","pushedAt":"2024-09-04T15:01:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"}},{"before":"454abf705b87aba70cef582d6ce80f74aa398906","after":"0b92b93233f56b323a80c4353d18ee7c2130e0f4","ref":"refs/heads/master","pushedAt":"2024-09-04T15:01:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `ui.shrink_clip_rect` (#5068)","shortMessageHtmlLink":"Add ui.shrink_clip_rect (#5068)"}},{"before":null,"after":"125c2ea4519e1f76dee72b29a5286a00c088d4f4","ref":"refs/heads/emilk/shrink-clip-rect","pushedAt":"2024-09-04T14:36:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `ui.shrink_clip_rect`","shortMessageHtmlLink":"Add ui.shrink_clip_rect"}},{"before":"90d43b88b4bf80491ad8a6da2c47a50743a513d8","after":null,"ref":"refs/heads/antoine/sides-show-return-values","pushedAt":"2024-09-03T14:25:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"abey79","name":"Antoine Beyeler","path":"/abey79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49431240?s=80&v=4"}},{"before":"b9435541df664f36c0956007afe4155514eebc5c","after":"454abf705b87aba70cef582d6ce80f74aa398906","ref":"refs/heads/master","pushedAt":"2024-09-03T14:25:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"abey79","name":"Antoine Beyeler","path":"/abey79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49431240?s=80&v=4"},"commit":{"message":"Add generic return values to `egui::Sides::show()` (#5065)\n\nThis addresses this comment:\r\n- https://github.com/rerun-io/rerun/pull/7344#discussion_r1742140870\r\n\r\n\r\n* [x] I have followed the instructions in the PR template","shortMessageHtmlLink":"Add generic return values to egui::Sides::show() (#5065)"}},{"before":null,"after":"90d43b88b4bf80491ad8a6da2c47a50743a513d8","ref":"refs/heads/antoine/sides-show-return-values","pushedAt":"2024-09-03T14:17:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"abey79","name":"Antoine Beyeler","path":"/abey79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49431240?s=80&v=4"},"commit":{"message":"Add generic return values to `egui::Sides::show()`","shortMessageHtmlLink":"Add generic return values to egui::Sides::show()"}},{"before":"810ed3a76db73d79ba970a12f9714c90883d68c5","after":"7228177db5fc4baa7e47b3317e9117c9fad3a397","ref":"refs/heads/gh-pages","pushedAt":"2024-09-03T07:30:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@b9435541df664f36c0956007afe4155514eebc5c ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ b943554 ๐Ÿš€"}},{"before":"7bac528d4d32f22fc0e2578198945a0ff3d876e2","after":"b9435541df664f36c0956007afe4155514eebc5c","ref":"refs/heads/master","pushedAt":"2024-09-03T07:29:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Allow non-`static` `eframe::App` lifetime (#5060)\n\nI love egui! Thank you Emil <3\r\n\r\nThis request specifically enables an `eframe::App` which stores a\r\nlifetime.\r\n\r\nIn general, I believe this is necessary because `eframe::App` currently\r\ndoes not seem to provide a good place to allocate and then borrow from\r\nlong-lived data between `update()` calls. To attempt to borrow such\r\nlong-lived data from a field of the `App` itself would be to create a\r\nself-referential struct. A hacky alternative is to allocate long-lived\r\ndata with `Box::leak`, but that's a code smell and would cause problems\r\nif a program ever creates multiple Apps.\r\n\r\nAs a more specific motivating example, I am developing with the\r\n[inkwell](https://github.com/TheDan64/inkwell/) crate which requires\r\ncreating a `inkwell::context::Context` instance which is then borrowed\r\nfrom by a bazillion things with a dedicated `'ctx` lifetime. I need such\r\na `inkwell::context::Context` for the duration of my `eframe::App` but I\r\ncan't store it as a field of the app. The most natural solution to me is\r\nto simply to lift the inkwell context outside of the App and borrow from\r\nit, but that currently fails because the AppCreator implicitly has a\r\n`'static` lifetime requirement due to the use of `dyn` trait objects.\r\n\r\nHere is a simpler, self-contained motivating example adapted from the\r\ncurrent [hello world example](https://docs.rs/eframe/latest/eframe/):\r\n\r\n```rust\r\nuse eframe::egui;\r\n\r\nstruct LongLivedThing {\r\n message: String,\r\n}\r\n\r\nfn main() {\r\n let long_lived_thing = LongLivedThing {\r\n message: \"Hello World!\".to_string(),\r\n };\r\n\r\n let native_options = eframe::NativeOptions::default();\r\n eframe::run_native(\r\n \"My egui App\",\r\n native_options,\r\n Box::new(|cc| Ok(Box::new(MyEguiApp::new(cc, &long_lived_thing)))),\r\n // ^^^^^^^^^^^^^^^^^\r\n // BORROWING from long_lived_thing in App\r\n );\r\n}\r\n\r\nstruct MyEguiApp<'a> {\r\n long_lived_thing: &'a LongLivedThing,\r\n}\r\n\r\nimpl<'a> MyEguiApp<'a> {\r\n fn new(cc: &eframe::CreationContext<'_>, long_lived_thing: &'a LongLivedThing) -> Self {\r\n // Customize egui here with cc.egui_ctx.set_fonts and cc.egui_ctx.set_visuals.\r\n // Restore app state using cc.storage (requires the \"persistence\" feature).\r\n // Use the cc.gl (a glow::Context) to create graphics shaders and buffers that you can use\r\n // for e.g. egui::PaintCallback.\r\n MyEguiApp { long_lived_thing }\r\n }\r\n}\r\n\r\nimpl<'a> eframe::App for MyEguiApp<'a> {\r\n fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) {\r\n egui::CentralPanel::default().show(ctx, |ui| {\r\n ui.heading(&self.long_lived_thing.message);\r\n });\r\n }\r\n}\r\n```\r\n\r\nThis currently fails to compile with:\r\n```plaintext\r\nerror[E0597]: `long_lived_thing` does not live long enough\r\n --> src/main.rs:16:55\r\n |\r\n16 | Box::new(|cc| Ok(Box::new(MyEguiApp::new(cc, &long_lived_thing)))),\r\n | ----------------------------------------------^^^^^^^^^^^^^^^^----\r\n | | | |\r\n | | | borrowed value does not live long enough\r\n | | value captured here\r\n | cast requires that `long_lived_thing` is borrowed for `'static`\r\n17 | );\r\n18 | }\r\n | - `long_lived_thing` dropped here while still borrowed\r\n |\r\n = note: due to object lifetime defaults, `Box FnOnce(&'a CreationContext<'b>) -> Result, Box>>` actually means `Box<(dyn for<'a, 'b> FnOnce(&'a CreationContext<'b>) -> Result, Box> + 'static)>`\r\n```\r\n\r\nWith the added lifetimes in this request, I'm able to compile and run\r\nthis as expected on Ubuntu + Wayland. I see the CI has been emailing me\r\nabout some build failures and I'll do what I can to address those.\r\nCurrently running the check.sh script as well.\r\n\r\nThis is intended to resolve https://github.com/emilk/egui/issues/2152\r\n\r\n\r\n\r\n* Closes https://github.com/emilk/egui/issues/2152\r\n* [x] I have followed the instructions in the PR template","shortMessageHtmlLink":"Allow non-static eframe::App lifetime (#5060)"}},{"before":"2a9c638031d12b8c3f08589605c23d93015bd47f","after":"ece336c218924e0bb92ad4c324fc251618c61c79","ref":"refs/heads/emilk/skip-frame","pushedAt":"2024-09-02T12:40:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Fix: copy `time` in `RawInput::take`","shortMessageHtmlLink":"Fix: copy time in RawInput::take"}},{"before":"e8644bfbbbf0fcb82c0b6eb296ab1721e9cd58c7","after":"2a9c638031d12b8c3f08589605c23d93015bd47f","ref":"refs/heads/emilk/skip-frame","pushedAt":"2024-09-02T11:30:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `ctx.skip_frame()` to promt an immediate extra pass","shortMessageHtmlLink":"Add ctx.skip_frame() to promt an immediate extra pass"}},{"before":null,"after":"e8644bfbbbf0fcb82c0b6eb296ab1721e9cd58c7","ref":"refs/heads/emilk/skip-frame","pushedAt":"2024-09-02T11:04:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Fix: Make sure `RawInput::take` clears all events, like it says it does","shortMessageHtmlLink":"Fix: Make sure RawInput::take clears all events, like it says it does"}},{"before":"cd9cdff077cb7c209ba324bd09c9ad3db0765c8b","after":"810ed3a76db73d79ba970a12f9714c90883d68c5","ref":"refs/heads/gh-pages","pushedAt":"2024-09-02T08:48:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deploying to gh-pages from @ emilk/egui@7bac528d4d32f22fc0e2578198945a0ff3d876e2 ๐Ÿš€","shortMessageHtmlLink":"Deploying to gh-pages from @ 7bac528 ๐Ÿš€"}},{"before":"0e77d24ea1e9948c2c3d8cf3d1acc852756c3b25","after":null,"ref":"refs/heads/emilk/sides","pushedAt":"2024-09-02T08:47:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"}},{"before":"be944f09153e3bf809c9a982004dc8ea8f153893","after":"7bac528d4d32f22fc0e2578198945a0ff3d876e2","ref":"refs/heads/master","pushedAt":"2024-09-02T08:47:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"emilk","name":"Emil Ernerfeldt","path":"/emilk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1148717?s=80&v=4"},"commit":{"message":"Add `egui::Sides` for adding UI on left and right sides (#5036)\n\n* Closes https://github.com/emilk/egui/issues/5015","shortMessageHtmlLink":"Add egui::Sides for adding UI on left and right sides (#5036)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErbcwxQA","startCursor":null,"endCursor":null}},"title":"Activity ยท emilk/egui"}