{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":448586865,"defaultBranch":"master","name":"softbuffer","ownerLogin":"rust-windowing","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-01-16T15:02:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/49372933?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717267993.0","currentOid":""},"activityList":{"items":[{"before":"f0d8b32137e38f2a866f3360462e9916f887d4aa","after":null,"ref":"refs/heads/notgull/send","pushedAt":"2024-06-01T18:53:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"}},{"before":"88740e2cea40bb73d5967a4360d1c80194d01f0a","after":"56ae973dca3489f2ed896093ab829c9ed5f330eb","ref":"refs/heads/master","pushedAt":"2024-06-01T18:53:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"feat: Implement Send and Sync for softbuffer types\n\nPreviously, types in softbuffer were !Send and !Sync. However it would\r\nbe nice if types could be shared across threads. Therefore I've made the\r\nfollowing changes:\r\n\r\n- Context is Send+Sync iff D is Send+Sync\r\n- Surface is Send iff D is Send+Sync and W is Send\r\n- Buffer<'x, D, W> is Send iff D if Send+Sync and W is Send\r\n\r\nMaterially, I've made the following changes across the backends:\r\n\r\n- X11, Wayland and KMS use Arc for their displays instead of Rc.\r\n- MacOS uses MainThreadBound to secure windowing resources. This\r\n restriction was already implicitly enforced anyhow.\r\n- Windows creates a thread specifically for allocating and then\r\n deallocating device contexts. This lets us get around the thread\r\n affinity problem.\r\n\r\nCloses #205\r\n\r\nSigned-off-by: John Nunley \r\nCo-authored-by: Mads Marquart ","shortMessageHtmlLink":"feat: Implement Send and Sync for softbuffer types"}},{"before":"bbb52cce0a9b6a2e6930e8862ea1c945ff61028e","after":"f0d8b32137e38f2a866f3360462e9916f887d4aa","ref":"refs/heads/notgull/send","pushedAt":"2024-06-01T18:42:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"bugfix: Fix CI errors\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"bugfix: Fix CI errors"}},{"before":"639837b1d9a5ee621fb5533a42ddbcea237d49da","after":"bbb52cce0a9b6a2e6930e8862ea1c945ff61028e","ref":"refs/heads/notgull/send","pushedAt":"2024-06-01T18:36:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"fmt\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"fmt"}},{"before":"4813b07e0b799ab519fe8f8622db424fd72e0c42","after":"639837b1d9a5ee621fb5533a42ddbcea237d49da","ref":"refs/heads/notgull/send","pushedAt":"2024-06-01T18:35:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"m: New multithreading strategy for Windows\n\nThis new strategy discards the old subclassing strategy, which led to deadlocks\nwhen the main thread was blocked. Instead we instantiate a new thread\nspecifically for creating and destroying DC's. Then we set up a channel so that\nall DCs are created and then destroyed on that thread.\n\nI am open to suggestions as to ways to avoid allocating the new thread.\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"m: New multithreading strategy for Windows"}},{"before":"8aac50e14e156fb80ce53b1f7bb185eeb1f1d571","after":"4813b07e0b799ab519fe8f8622db424fd72e0c42","ref":"refs/heads/notgull/send","pushedAt":"2024-05-30T03:55:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"ex: Add example for multithreading\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"ex: Add example for multithreading"}},{"before":"bc058dc7036a519fec717df9a1f8c215f39510ef","after":"8aac50e14e156fb80ce53b1f7bb185eeb1f1d571","ref":"refs/heads/notgull/send","pushedAt":"2024-05-20T01:14:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"m: Update src/backends/cg.rs\n\nCo-authored-by: Mads Marquart ","shortMessageHtmlLink":"m: Update src/backends/cg.rs"}},{"before":"79a2c89ffed641b5e79518d79c09418deb46da96","after":"88740e2cea40bb73d5967a4360d1c80194d01f0a","ref":"refs/heads/master","pushedAt":"2024-05-19T23:52:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"v0.4.3\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"v0.4.3"}},{"before":"5ab233e8bfa16469d01e8bb22f9106ef642c4895","after":null,"ref":"refs/heads/notgull/next","pushedAt":"2024-05-19T23:52:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"}},{"before":"e8dd90a44495ffd1612c4d34c448a3a7ba5986a1","after":"bc058dc7036a519fec717df9a1f8c215f39510ef","ref":"refs/heads/notgull/send","pushedAt":"2024-05-19T23:32:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"bugfix: Activate right feature in obj2-foundation\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"bugfix: Activate right feature in obj2-foundation"}},{"before":"02102327404935d67ca39191e5309ea1b21c360a","after":"79a2c89ffed641b5e79518d79c09418deb46da96","ref":"refs/heads/master","pushedAt":"2024-05-19T23:31:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"docs: Re-format README.md to add a table\n\nThis adds a nice markdown table in Platform support.\r\n\r\nCo-authored-by: John Nunley ","shortMessageHtmlLink":"docs: Re-format README.md to add a table"}},{"before":"0c54f9ec94e6e7f358b27568f0498e93510fbbd9","after":"e8dd90a44495ffd1612c4d34c448a3a7ba5986a1","ref":"refs/heads/notgull/send","pushedAt":"2024-05-19T23:27:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"m: Mark orbital as send/sync\n\n@jackpot51 confirmed in chat that Orbital's types should be thread-safe.\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"m: Mark orbital as send/sync"}},{"before":"ad1f216187bf001f3dc7ad4779fb880a32ff2f02","after":"5ab233e8bfa16469d01e8bb22f9106ef642c4895","ref":"refs/heads/notgull/next","pushedAt":"2024-05-19T22:55:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"v0.4.3\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"v0.4.3"}},{"before":"4589e12619f8df3a58bd5d43b555abf581c04ef1","after":"ad1f216187bf001f3dc7ad4779fb880a32ff2f02","ref":"refs/heads/notgull/next","pushedAt":"2024-05-19T22:46:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"v0.4.3\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"v0.4.3"}},{"before":null,"after":"4589e12619f8df3a58bd5d43b555abf581c04ef1","ref":"refs/heads/notgull/next","pushedAt":"2024-05-19T22:45:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"v0.4.3\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"v0.4.3"}},{"before":null,"after":"9cdb7527363ff0fed31c37ad489d9f708339ccc9","ref":"refs/heads/wl-fixes","pushedAt":"2024-05-15T22:43:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ids1024","name":"Ian Douglas Scott","path":"/ids1024","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2263150?s=80&v=4"},"commit":{"message":"wayland: Release `wl_shm`","shortMessageHtmlLink":"wayland: Release wl_shm"}},{"before":"87572ba88d43453420b77dfd77d479e8142b7da5","after":"0c54f9ec94e6e7f358b27568f0498e93510fbbd9","ref":"refs/heads/notgull/send","pushedAt":"2024-05-08T03:24:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"chore: fmt\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"chore: fmt"}},{"before":null,"after":"87572ba88d43453420b77dfd77d479e8142b7da5","ref":"refs/heads/notgull/send","pushedAt":"2024-05-08T03:20:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"feat: Implement Send for softbuffer types\n\nPreviously, types in softbuffer were !Send and !Sync. However it would\nbe nice if types could be shared across threads. Therefore I've made the\nfollowing changes:\n\n- Context is Send+Sync iff D is Send+Sync\n- Surface is Send iff D is Send+Sync and W is Send\n- Buffer<'x, D, W> is Send iff D if Send+Sync and W is Send\n\nMaterially, I've made the following changes across the backends:\n\n- X11, Wayland and KMS use Arc for their displays instead of Rc.\n- MacOS uses MainThreadBound to secure windowing resources. This\n restriction was already implicitly enforced anyhow.\n- Windows uses a subclassing strategy to manage creating and destroying\n resources. This subclass is applied to windows that are registered\n into softbuffer, and is then used to manage resources.\n\nCloses #205\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"feat: Implement Send for softbuffer types"}},{"before":"21952a128387cdc988bd209fa23132607bef6304","after":null,"ref":"refs/heads/notgull/image","pushedAt":"2024-05-07T02:39:25.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"}},{"before":"0e6706c7afba582deaa8c47ff049d03cb0f8e363","after":"02102327404935d67ca39191e5309ea1b21c360a","ref":"refs/heads/master","pushedAt":"2024-05-07T02:39:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"deps: Update image to v0.25.0\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"deps: Update image to v0.25.0"}},{"before":"31b02826afacb73dbd85178c2502c0bba689e202","after":null,"ref":"refs/heads/dependabot/cargo/winit-test-0.2.0","pushedAt":"2024-05-07T02:39:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"d4cd49ead2584af9b9db059c68cc0f59aca34f18","after":null,"ref":"refs/heads/dependabot/cargo/image-0.25.0","pushedAt":"2024-05-07T02:34:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"21952a128387cdc988bd209fa23132607bef6304","ref":"refs/heads/notgull/image","pushedAt":"2024-05-07T02:34:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"deps: Update image to v0.25.0\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"deps: Update image to v0.25.0"}},{"before":"a4ac11a18bebfdeab3628ef065617c6132496cdf","after":null,"ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-05-07T02:25:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"}},{"before":"28ebe6e7373bae59196bff5b39d047bcc0a41137","after":"0e6706c7afba582deaa8c47ff049d03cb0f8e363","ref":"refs/heads/master","pushedAt":"2024-05-07T02:25:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"ex: Bump winit to v0.30\n\nThis commit bumps winit, which is used in some examples, to version\r\nv0.30.\r\n\r\nThis new version comes with many new changes; mainly the move away from\r\nclosures towards applications. In order to work with this, I create a\r\nsimple \"winit_app\" module that allows the examples to simply and easily\r\ncreate winit applications. It takes two closures: one that initializes\r\nsome state on resume, and another that handles events.\r\n\r\nI've found this approach reduces diff noise by a lot.\r\n\r\nBenchmarks still use deprecated functions for now.\r\n\r\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"ex: Bump winit to v0.30"}},{"before":"2fcc93e1fd73e9a42ba8577b60d44fe9c52146b7","after":"a4ac11a18bebfdeab3628ef065617c6132496cdf","ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-05-05T21:48:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"build: Use rustc-check-cfg in build.rs\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"build: Use rustc-check-cfg in build.rs"}},{"before":"ac5fbf8c8028da8641172e1a72e714963943dd1f","after":"2fcc93e1fd73e9a42ba8577b60d44fe9c52146b7","ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-05-05T21:44:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"chore: Review comments\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"chore: Review comments"}},{"before":"ee87146bb9302f52cdc4f3e995d15cbf9af92e99","after":"ac5fbf8c8028da8641172e1a72e714963943dd1f","ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-04-30T01:18:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"ci: Fix bumpalo\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"ci: Fix bumpalo"}},{"before":"0830a72d813c1da7acd50f66b646e2810fe0b6df","after":"ee87146bb9302f52cdc4f3e995d15cbf9af92e99","ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-04-30T01:15:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"docs: Fix README.md example\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"docs: Fix README.md example"}},{"before":"f9f66d3b16d8a54268d27da7ce0ff5fb3d8ad9da","after":"0830a72d813c1da7acd50f66b646e2810fe0b6df","ref":"refs/heads/notgull/winit-0.30","pushedAt":"2024-04-30T01:10:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"notgull","name":"John Nunley","path":"/notgull","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19805233?s=80&v=4"},"commit":{"message":"ci: Various CI fixes\n\nSigned-off-by: John Nunley ","shortMessageHtmlLink":"ci: Various CI fixes"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWdrSegA","startCursor":null,"endCursor":null}},"title":"Activity ยท rust-windowing/softbuffer"}