{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":160083795,"defaultBranch":"master","name":"serenity","ownerLogin":"SerenityOS","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-12-02T19:28:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50811782?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716447285.0","currentOid":""},"activityList":{"items":[{"before":"549ed24694b966ee069421bad1580521fa60710e","after":"de02a2680fd6b1b26ae8dfe1ed97cd088a17405d","ref":"refs/heads/master","pushedAt":"2024-05-23T20:11:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Kernel/riscv64: Handle breakpoint traps\n\nThis means that userspace breakpoint traps no longer panic the kernel.\nThis also causes us to no longer panic on failed assertions in userspace\nwhen using gcc, as gcc compiles __builtin_trap to breakpoint\ninstructions on RISC-V.","shortMessageHtmlLink":"Kernel/riscv64: Handle breakpoint traps"}},{"before":"b30c361b0877ee4f67ce70f766495c398a307a30","after":"549ed24694b966ee069421bad1580521fa60710e","ref":"refs/heads/master","pushedAt":"2024-05-23T18:37:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"Meta: Add Tim Ledbetter to list of project maintainers :^)","shortMessageHtmlLink":"Meta: Add Tim Ledbetter to list of project maintainers :^)"}},{"before":"dc92bc284f3342810eeb4d81efa22af398592f6c","after":"b30c361b0877ee4f67ce70f766495c398a307a30","ref":"refs/heads/master","pushedAt":"2024-05-23T17:25:30.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"trflynn89","name":"Tim Flynn","path":"/trflynn89","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5600524?s=80&v=4"},"commit":{"message":"LibWeb/Fetch: Implement logic to process a response from HTTP's cache\n\nCo-Authored-By: Andrew Kaster ","shortMessageHtmlLink":"LibWeb/Fetch: Implement logic to process a response from HTTP's cache"}},{"before":"9c205537e1614b577d35ed4eab4443cdeb91cd57","after":"dc92bc284f3342810eeb4d81efa22af398592f6c","ref":"refs/heads/master","pushedAt":"2024-05-23T17:16:58.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Meta: Add virtio input devices to the RISC-V machine in run.py","shortMessageHtmlLink":"Meta: Add virtio input devices to the RISC-V machine in run.py"}},{"before":"63a56a77a269f4478cfc647565496ea0ca8647d3","after":"9c205537e1614b577d35ed4eab4443cdeb91cd57","ref":"refs/heads/master","pushedAt":"2024-05-23T12:07:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Add missing navigable null check in Document::open()\n\nI saw a null pointer dereference here on GitHub once, but don't know how\nto reproduce, or how we'd get here. Nevertheless, null-checking the\nnavigable is reasonable so let's do it.","shortMessageHtmlLink":"LibWeb: Add missing navigable null check in Document::open()"}},{"before":"c48d5402303b50104ff23b23214b3a42096c7eb5","after":"63a56a77a269f4478cfc647565496ea0ca8647d3","ref":"refs/heads/master","pushedAt":"2024-05-23T11:36:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibJS: Add fast ExecutionContext allocator\n\n...that maintains a list of allocated execution contexts so malloc()\ndoes not have to be called every time we need to get a new one.\n\n20% improvement in Octane/typescript.js\n16% improvement in Kraken/imaging-darkroom.js","shortMessageHtmlLink":"LibJS: Add fast ExecutionContext allocator"}},{"before":"f4636a0cf5e8e4c5e5a7267dd26d617d37b12e48","after":"c48d5402303b50104ff23b23214b3a42096c7eb5","ref":"refs/heads/master","pushedAt":"2024-05-23T11:07:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Kernel: Move VGATextModeConsole code to the Arch/x86_64/ISABus directory\n\nThis code is specific to x86 machines, as virtually no other computer\narchitecture has any compatibility with old VGA legacy functionality.","shortMessageHtmlLink":"Kernel: Move VGATextModeConsole code to the Arch/x86_64/ISABus directory"}},{"before":"a68222f6547d2b6c5bd704dea54f74de576f2a2d","after":"f4636a0cf5e8e4c5e5a7267dd26d617d37b12e48","ref":"refs/heads/master","pushedAt":"2024-05-23T10:10:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Stop spamming animation events on the wrong event target\n\nThis patch fixes two issues:\n\n- Animation events that should go to the target element now do\n (some were previously being dispatched on the animation itself.)\n- We update the \"previous phase\" and \"previous iteration\" fields of\n animation effects, so that we can actually detect phase changes.\n This means we stop thinking animations always just started,\n something that caused each animation to send 60 animationstart\n events every second (to the wrong target!)","shortMessageHtmlLink":"LibWeb: Stop spamming animation events on the wrong event target"}},{"before":"bab546472e9e4cdf26e08bd95d77021e89e8de11","after":"a68222f6547d2b6c5bd704dea54f74de576f2a2d","ref":"refs/heads/master","pushedAt":"2024-05-23T09:22:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Enable callbacks in chunk steps for ReadableStreamDefaultTee\n\nWe enqueue a microtask for this readable stream AO, and the methods that\nwe call from the chunk steps manipulate promises. As such, we need to\nenable callbacks for the entire microtask's temporary execution\ncontext.","shortMessageHtmlLink":"LibWeb: Enable callbacks in chunk steps for ReadableStreamDefaultTee"}},{"before":"f29ac8517efdb2a26604d2d22ad9bb37f604f875","after":"bab546472e9e4cdf26e08bd95d77021e89e8de11","ref":"refs/heads/master","pushedAt":"2024-05-23T08:57:34.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Mark FontFaceSet as a setlike IDL interface\n\nAnd implement more of the constructor logic.","shortMessageHtmlLink":"LibWeb: Mark FontFaceSet as a setlike IDL interface"}},{"before":"99f6528009ef7915334856c3e9b1060ea6872cca","after":"f29ac8517efdb2a26604d2d22ad9bb37f604f875","ref":"refs/heads/master","pushedAt":"2024-05-23T07:53:31.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibJS: Skip ordinary_call_bind_this() when possible\n\nIf during parsing it was found that function won't use `this` then\nthere is no need to initialise `this_value` during call.","shortMessageHtmlLink":"LibJS: Skip ordinary_call_bind_this() when possible"}},{"before":"060e6f4d218552bcae0ff38a3f252aa9daa6c47c","after":"99f6528009ef7915334856c3e9b1060ea6872cca","ref":"refs/heads/master","pushedAt":"2024-05-23T06:59:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Kernel: Implement virtio-blk driver","shortMessageHtmlLink":"Kernel: Implement virtio-blk driver"}},{"before":"8b1341c77ecd31a27305674b8eb3d3d9b42d49e2","after":"060e6f4d218552bcae0ff38a3f252aa9daa6c47c","ref":"refs/heads/master","pushedAt":"2024-05-23T06:56:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Meta: Fix detection of default compiler versions\n\nThe logic in this script was *intended* to use the system's default\ncompiler if it was sufficiently new, and only start searching for the\nlatest installed if the default was not suitable.\n\nHowever, the `cxx` program does not exist on Unixes, so the version\ncheck always failed. We should be using the standard `c++` program name\ninstead.\n\nAfter this change, the `CC` and `CXX` environment variables will have to\nbe used if someone wants to force a newer compiler version.","shortMessageHtmlLink":"Meta: Fix detection of default compiler versions"}},{"before":"6d0aa7e64ed3d54f87c6c16dc00239556b10d717","after":"8b1341c77ecd31a27305674b8eb3d3d9b42d49e2","ref":"refs/heads/master","pushedAt":"2024-05-23T06:55:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"LibWeb: Make exported Wasm functions keep the module instance alive\n\nAs it's not uncommon for users to drop the module instance on the floor\nafter having grabbed the few exports they need to hold on to.\nFixes a few UAFs that show up as \"invalid\" accesses to\nmemory/tables/etc.","shortMessageHtmlLink":"LibWeb: Make exported Wasm functions keep the module instance alive"}},{"before":"aac6223a1bc8f426f708b4efca9c429e6c9d70de","after":null,"ref":"refs/heads/dependabot/github_actions/JamesIves/github-pages-deploy-action-4.6.1","pushedAt":"2024-05-23T06:54:45.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"}},{"before":"e444b0aace8028b21b07707c28921e9fb9758b35","after":"6d0aa7e64ed3d54f87c6c16dc00239556b10d717","ref":"refs/heads/master","pushedAt":"2024-05-23T06:54:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"CI: Bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1\n\nBumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.0 to 4.6.1.\n- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)\n- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.0...v4.6.1)\n\n---\nupdated-dependencies:\n- dependency-name: JamesIves/github-pages-deploy-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"CI: Bump JamesIves/github-pages-deploy-action from 4.6.0 to 4.6.1"}},{"before":"2d5cb1e02d9da24922addae13ee58a18d7bc3baf","after":"e444b0aace8028b21b07707c28921e9fb9758b35","ref":"refs/heads/master","pushedAt":"2024-05-23T06:54:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Toolchain+Docs: Improve the way to enable clangd\n\nAllowing an environment variable to enable/disable the build for clangd\nand other toolchains will improve the developer-experience than\nreconfiguring and building the toolchain manually.\n\nNow you will have to call the command as following\n\t$ CLANG_ENABLE_CLANGD=ON Toolchain/BuildClang.sh","shortMessageHtmlLink":"Toolchain+Docs: Improve the way to enable clangd"}},{"before":"6a4938a52405d99577507c2a7163a5ee2b0f45a4","after":"2d5cb1e02d9da24922addae13ee58a18d7bc3baf","ref":"refs/heads/master","pushedAt":"2024-05-23T05:24:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"Chess: Add display widget for moves\n\nAdds a TextEditor widget to the chess application to display move\nhistory. It is updated whenever Board::apply_move is called to reflect\nthe current board state.","shortMessageHtmlLink":"Chess: Add display widget for moves"}},{"before":"d2b30072485c300598f66bf00850835991d9dec2","after":"6a4938a52405d99577507c2a7163a5ee2b0f45a4","ref":"refs/heads/master","pushedAt":"2024-05-23T03:55:34.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"ADKaster","name":"Andrew Kaster","path":"/ADKaster","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8388494?s=80&v=4"},"commit":{"message":"ClangPlugins: Convert all warnings to errors\n\nNow that the lambda capture plugin isn't full of false-positives, we can\nmake the jump and start halting builds for these errors. It also allows\nthese plugins to be useful in CI.","shortMessageHtmlLink":"ClangPlugins: Convert all warnings to errors"}},{"before":"5b17091a4bc3020ddf0e0f310874b4be0c8f393c","after":"d2b30072485c300598f66bf00850835991d9dec2","ref":"refs/heads/master","pushedAt":"2024-05-23T02:15:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"IDLGenerators: Use spec-compliant algorithm to parse integer values","shortMessageHtmlLink":"IDLGenerators: Use spec-compliant algorithm to parse integer values"}},{"before":"3ba5daeca9fc2e86c8f45f869fefd5e7db2542cf","after":"5b17091a4bc3020ddf0e0f310874b4be0c8f393c","ref":"refs/heads/master","pushedAt":"2024-05-22T23:00:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Ports/file: Build host version to ensure we can properly cross compile\n\nWe should build file natively as well so it can be used to compile the\ntarget build (for serenity). The Makefile doesn't do this automatically\nso to ensure it will not fail due to version mismatch between the host\nversion and target version, we ensure we always have a native binary at\nhand.","shortMessageHtmlLink":"Ports/file: Build host version to ensure we can properly cross compile"}},{"before":"899c38d3429de286a58f1a71c13fcf0c13933a6c","after":"3ba5daeca9fc2e86c8f45f869fefd5e7db2542cf","ref":"refs/heads/master","pushedAt":"2024-05-22T21:25:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Kernel: Actually set physical base pointer correctly in prekernel stage\n\nI did a mistake and set the kernel_physical_base value to be just on\nthe actual linked kernel ELF start offset, while this value should\nrepresent together with KERNEL_MAPPING_BASE the actual higher-half load\naddress.\n\nBy changing this value, we resolve a bug in which disabling KASLR\ndoesn't work and will cause the prekernel to hang on this statement:\n```c++\nVERIFY(kernel_load_base >= kernel_mapping_base + 0x200000);\n```","shortMessageHtmlLink":"Kernel: Actually set physical base pointer correctly in prekernel stage"}},{"before":"c83fc59534b4b2d1f051e53898bf97beb9349eaa","after":"899c38d3429de286a58f1a71c13fcf0c13933a6c","ref":"refs/heads/master","pushedAt":"2024-05-22T19:51:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Mark IDBFactory.open() with FIXME extended attribute in IDL\n\nThe stub implementation broke x.com and probably other sites as well,\nbut let's at least mark it FIXME so we get some debug logging about it.","shortMessageHtmlLink":"LibWeb: Mark IDBFactory.open() with FIXME extended attribute in IDL"}},{"before":"ebb3d8025c56066149b212785666f07d9fb702b1","after":"c83fc59534b4b2d1f051e53898bf97beb9349eaa","ref":"refs/heads/master","pushedAt":"2024-05-22T17:29:05.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"trflynn89","name":"Tim Flynn","path":"/trflynn89","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5600524?s=80&v=4"},"commit":{"message":"Tests/LibGfx: Also test animated GIFs","shortMessageHtmlLink":"Tests/LibGfx: Also test animated GIFs"}},{"before":"7ae990d2e5eeb17b461482e3db19c1d1d3c2594c","after":"ebb3d8025c56066149b212785666f07d9fb702b1","ref":"refs/heads/master","pushedAt":"2024-05-22T16:30:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibJS: Get `this` from execution context for non-arrow functions\n\nAllows to skip function environment allocation for non-arrow functions\nif the only reason it is needed is to hold `this` binding.\n\nThe parser is changed to do following:\n- If a function is an arrow function and uses `this` then all functions\n in a scope chain are marked to allocate function environment for\n `this` binding.\n- If a function uses `new.target` then all functions in a scope chain\n are marked to allocate function environment.\n\n`ordinary_call_bind_this()` is changed to put `this` value in execution\ncontext when function environment allocation is skipped.\n\n35% improvement in Octane/typescript.js\n50% improvement in Octane/deltablue.js\n19% improvement in Octane/raytrace.js","shortMessageHtmlLink":"LibJS: Get this from execution context for non-arrow functions"}},{"before":"b7b51d01c32bea0494c799a69da7d25e34d3b959","after":"7ae990d2e5eeb17b461482e3db19c1d1d3c2594c","ref":"refs/heads/master","pushedAt":"2024-05-22T12:25:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alimpfard","name":"Ali Mohammad Pur","path":"/alimpfard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14001776?s=80&v=4"},"commit":{"message":"LibCrypto: Don't compute 2*N remainders in Adler32\n\nOtherwise Zlib decompression spends half of the time computing the\nchecksum.","shortMessageHtmlLink":"LibCrypto: Don't compute 2*N remainders in Adler32"}},{"before":"5a85067b49948070cdf804db495e926c32a67842","after":"b7b51d01c32bea0494c799a69da7d25e34d3b959","ref":"refs/heads/master","pushedAt":"2024-05-22T10:41:47.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"trflynn89","name":"Tim Flynn","path":"/trflynn89","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5600524?s=80&v=4"},"commit":{"message":"LibGfx/AnimationWriter: Survive animations with two identical frames\n\nCreating a completely empty bitmap fails. Just write a 1x1 bitmap\nif the bitmap ends up empty for now.","shortMessageHtmlLink":"LibGfx/AnimationWriter: Survive animations with two identical frames"}},{"before":"c0e504fbdddb41b11880eb0750888800addaf2b6","after":"5a85067b49948070cdf804db495e926c32a67842","ref":"refs/heads/master","pushedAt":"2024-05-21T21:32:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alimpfard","name":"Ali Mohammad Pur","path":"/alimpfard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14001776?s=80&v=4"},"commit":{"message":"Revert \"LibCore: Add Core::deferred_invoke_if(F, Condition)\"\n\nThis reverts commit a362c37c8b3d2c8f0d5e23276bfe81cb1c24d384.\n\nThe commit tried to add an unused function that continued our tradition\nof not properly waiting for things but instead flooding event loop with\ncondition checks that delay firing of the event. I think this is a\nfundamentally flawed approach. See also checks for\n`fire_when_not_visible` in LibCore/EventLoopImplementationUnix.cpp.","shortMessageHtmlLink":"Revert \"LibCore: Add Core::deferred_invoke_if(F, Condition)\""}},{"before":"58bb5e1f7a34d361fbe07cfb06e66a2d5951e68e","after":"c0e504fbdddb41b11880eb0750888800addaf2b6","ref":"refs/heads/master","pushedAt":"2024-05-21T17:29:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Add some missing `[FIXME]` IDL attributes","shortMessageHtmlLink":"LibWeb: Add some missing [FIXME] IDL attributes"}},{"before":"4d37b9e715e2e71682d32f372b5e4684b9631c4a","after":"58bb5e1f7a34d361fbe07cfb06e66a2d5951e68e","ref":"refs/heads/master","pushedAt":"2024-05-21T17:28:43.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Use `[Reflect]` to implement `HTMLPreElement.width`","shortMessageHtmlLink":"LibWeb: Use [Reflect] to implement HTMLPreElement.width"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUml3MAA","startCursor":null,"endCursor":null}},"title":"Activity ยท SerenityOS/serenity"}