{"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":"95b9d775360f5b3cb973ee185ccedea6089d350e","after":"dacba5e610c552e1711b18710e4006db18588633","ref":"refs/heads/master","pushedAt":"2024-05-27T15:37:27.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":"Tests/LibWeb: Initialize 'arrayBuffer' to an UInt8Array\n\nThis initializes 'arrayBuffer' to an UInt8Array so that we can\nmanipulate the contents of 'arrayBuffer'. The test verifies that the\ninternal buffer is an ArrayBuffer.\n\nAlso:\n* Correct comparison in test so that we compare arrayBuffer to\n arrayClone, not to itself.\n* Remove FIXME, this outputs [object ArrayBuffer] in Firefox and Chrome\n too.","shortMessageHtmlLink":"Tests/LibWeb: Initialize 'arrayBuffer' to an UInt8Array"}},{"before":"3095daa7c8b9199ba7413a739d34ce9b7095caef","after":"95b9d775360f5b3cb973ee185ccedea6089d350e","ref":"refs/heads/master","pushedAt":"2024-05-27T15:35:42.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"Kernel: Prevent reference to unaligned u32 in MBRPartitionTable init\n\nThis is technically UB, so triggers KUBSAN.","shortMessageHtmlLink":"Kernel: Prevent reference to unaligned u32 in MBRPartitionTable init"}},{"before":"f989ebe1807f5261d5ad864d57fb0ea4884fd71f","after":"3095daa7c8b9199ba7413a739d34ce9b7095caef","ref":"refs/heads/master","pushedAt":"2024-05-27T15:34:59.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: Implement HTMLImageElement.currentSrc\n\nRemoves some console noise from lner.co.uk :)","shortMessageHtmlLink":"LibWeb: Implement HTMLImageElement.currentSrc"}},{"before":"2aab56bf71a5295d0122a94eb7304852ae76e41e","after":"f989ebe1807f5261d5ad864d57fb0ea4884fd71f","ref":"refs/heads/master","pushedAt":"2024-05-27T15:33:40.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: Replace visit() with ifelseif chain in CommandList::execute()\n\nDeeply nested stack traces caused by using visit() were really hard to\nread in profiles.","shortMessageHtmlLink":"LibWeb: Replace visit() with ifelseif chain in CommandList::execute()"}},{"before":"8988dce93d718bfd6cf324c9fac25ec096bf6002","after":"2aab56bf71a5295d0122a94eb7304852ae76e41e","ref":"refs/heads/master","pushedAt":"2024-05-27T15:33:29.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":"LibJS: Null-check current executable in VM::dump_backtrace()\n\nIf there is no current executable (because we're in a native function\ncall), we shouldn't try to dereference it.","shortMessageHtmlLink":"LibJS: Null-check current executable in VM::dump_backtrace()"}},{"before":"e345d65def82b9eae7f05712a8731ca411c84335","after":"8988dce93d718bfd6cf324c9fac25ec096bf6002","ref":"refs/heads/master","pushedAt":"2024-05-27T11:02:17.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":"LibGfx: Add early bounds checking to `accumulate_non_zero_scanline()`\n\nNonzero fills are much more common (as the default fill rule), so if\nthis does result in any speed-up it makes sense to do it here too.","shortMessageHtmlLink":"LibGfx: Add early bounds checking to accumulate_non_zero_scanline()"}},{"before":"0eeae7ff24e5ca7638bbc59581bbbc796faf7795","after":"e345d65def82b9eae7f05712a8731ca411c84335","ref":"refs/heads/master","pushedAt":"2024-05-27T10:44:22.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":"LibWasm: Use TRY macro when possible\n\nThis removes a lot of the error handling boilerplate, and is more\nconsistent with the rest of the codebase.","shortMessageHtmlLink":"LibWasm: Use TRY macro when possible"}},{"before":"1a9d8e8fbe360f2d3b376ca0e13c507bd2cc6e8b","after":"0eeae7ff24e5ca7638bbc59581bbbc796faf7795","ref":"refs/heads/master","pushedAt":"2024-05-27T02:26:17.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Use stack to represent blit/sample corners commands state\n\n...instead of allocating separate BorderRadiusCornerClipper for each\nexecuted sample/blit commands pair.\n\nWith this change a vector of BorderRadiusCornerClipper has far fewer\nitems. For example on twitter profile page its size goes down from\n~3000 to ~3 items.","shortMessageHtmlLink":"LibWeb: Use stack to represent blit/sample corners commands state"}},{"before":"0711e9d749558cf5875ecd3ea60e1526c4db0dc1","after":"1a9d8e8fbe360f2d3b376ca0e13c507bd2cc6e8b","ref":"refs/heads/master","pushedAt":"2024-05-26T19:00:55.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":"LibCompress: When limiting huffman tree depth, sacrifice bottom of tree\n\nDeflate and WebP can store at most 15 bits per symbol, meaning their\nhuffman trees can be at most 15 levels deep.\n\nDuring construction, when we hit this level, we used to try again\nwith an ever lower frequency cap per symbol. This had the effect\nof giving the symbols with the highest frequency lower frequencies\nfirst, causing the most-frequent symbols to be merged. For example,\nmaybe the most-frequent symbol had 1 bit, and the 2nd-frequent\ntwo bits (and everything else at least 3). With the cap, the two\nmost frequent symbols might both have 2 symbols, freeing up bits\nfor the lower levels of the tree.\n\nThis has the effect of making the most-frequent symbols longer at\nfirst, which isn't great for file size.\n\nInstead of using a frequency cap, ignore ever more of the low\nbits of the frequency. This sacrifices resolution where it hurts\nthe lower levels of the tree first, and those are stored less\nfrequently.\n\nFor deflate, the 64 kiB block size means this doesn't have a big\neffect, but for WebP it can have a big effect:\n\nsunset-retro.png (876K): 2.02M -> 1.73M -- now (very slightly) smaller\nthan twice the input size! Maybe we'll be competitive one day.\n\n(For wow.webp and 7z7c.webp, it has no effect, since we don't hit\nthe \"tree too deep\" case there, since those have relatively few\ncolors.)\n\nNo behavior change other than smaller file size. (No performance\ncost either, and it's less code too.)","shortMessageHtmlLink":"LibCompress: When limiting huffman tree depth, sacrifice bottom of tree"}},{"before":"f0269daeb6f1913406bb55d0e283cdcb6cd54f28","after":"0711e9d749558cf5875ecd3ea60e1526c4db0dc1","ref":"refs/heads/master","pushedAt":"2024-05-26T17:02:49.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibGfx/WebPWriter: Use huffman compression\n\nThis implements some of basic webp compression: Huffman coding.\n(The other parts of the basics are backreferences, and color cache\nentries; and after that there are the four transforms -- predictor,\nsubtract green, color indexing, color.)\n\nHow much huffman coding helps depends on the input's entropy.\nConstant-color channels are now encoded in constant space, but\notherwise a huffman code always needs at least one bit per symbol.\nThis means just huffman coding can at the very best reduce output\nsize to 1/8th of input size.\n\nFor three test input files:\n\nsunset-retro.png (876K): 2.25M -> 2.02M\n(helps fairly little; from 2.6x as big as the png input to 2.36x)\n\ngiphy.gif (184k): 11M -> 4.9M\n(pretty decent, from 61x as big as the gif input to 27x as big)\n\n7z7c.gif (11K): 775K -> 118K\n(almost as good as possible an improvement for just huffman coding,\nfrom 70x as big as the gif input to 10.7x as big)\n\nNo measurable encoding perf impact for encoding.\n\nThe code is pretty similar to Deflate.cpp in LibCompress, with just\nenough differences that sharing code doesn't look like it's worth\nit to me. I left comments outlining similarities.","shortMessageHtmlLink":"LibGfx/WebPWriter: Use huffman compression"}},{"before":"eb3b8f8ee4562409c6b2dc3306bc57181a4d902d","after":"f0269daeb6f1913406bb55d0e283cdcb6cd54f28","ref":"refs/heads/master","pushedAt":"2024-05-26T16:51:52.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":"LibGfx: Make `Color::NamedColor` be an enum class\n\nAs this is used extensively across the codebase, the change would add a\nlot of noise. To prevent it, let's also add an `using enum` declaration.","shortMessageHtmlLink":"LibGfx: Make Color::NamedColor be an enum class"}},{"before":"663cc753a736ff06033846e953c47e8ba2ee12ee","after":"eb3b8f8ee4562409c6b2dc3306bc57181a4d902d","ref":"refs/heads/master","pushedAt":"2024-05-26T16:29:24.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibWeb: Implement EventSource for server-sent events\n\nEventSource allows opening a persistent HTTP connection to a server over\nwhich events are continuously streamed.\n\nUnfortunately, our test infrastructure does not allow for automating any\ntests of this feature yet. It only works with HTTP connections.","shortMessageHtmlLink":"LibWeb: Implement EventSource for server-sent events"}},{"before":"09f4032eeb786a391c150f69538773434d49e09a","after":"663cc753a736ff06033846e953c47e8ba2ee12ee","ref":"refs/heads/master","pushedAt":"2024-05-26T15:11:54.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"kalenikaliaksandr","name":"Alexander Kalenik","path":"/kalenikaliaksandr","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45686940?s=80&v=4"},"commit":{"message":"LibWeb: Fix clip box calculation in PaintableWithLines\n\nAll painting commands except SetClipRect are shifted by scroll offset\nbefore command list execution. This change removes scroll offset\ntranslation for sample/blit corner commands in\n`PaintableWithLines::paint` so it is only applied once in\n`CommandList::apply_scroll_offsets()`.","shortMessageHtmlLink":"LibWeb: Fix clip box calculation in PaintableWithLines"}},{"before":"f28bb90d9bd6c65cde25c3044e29e75879d4348a","after":"09f4032eeb786a391c150f69538773434d49e09a","ref":"refs/heads/master","pushedAt":"2024-05-26T13:54:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AtkinsSJ","name":"Sam Atkins","path":"/AtkinsSJ","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/222642?s=80&v=4"},"commit":{"message":"LibGfx/PNG: Read metadata from the eXIf chunk\n\nThe test image comes from this WPT test:\nhttp://wpt.live/png/exif-chunk.html","shortMessageHtmlLink":"LibGfx/PNG: Read metadata from the eXIf chunk"}},{"before":"18d39deefe8e51ff4ee9e17ab4c1bd2ea1b91d96","after":"f28bb90d9bd6c65cde25c3044e29e75879d4348a","ref":"refs/heads/master","pushedAt":"2024-05-26T10:29:41.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: Remove non-spec compliant code from internal_construct\n\nIt seems that we are now spec compliant enough to be able to remove this\ncode block :^)\n\nDiff Tests:\n +2 ✅ -2 ❌","shortMessageHtmlLink":"LibJS: Remove non-spec compliant code from internal_construct"}},{"before":"71ccd8ad250d17c6ff741cadbfaf30caef96b64d","after":"18d39deefe8e51ff4ee9e17ab4c1bd2ea1b91d96","ref":"refs/heads/master","pushedAt":"2024-05-26T05:55:50.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"Tests/LibWeb: Add ref test for `clip-path: polygon(...)`","shortMessageHtmlLink":"Tests/LibWeb: Add ref test for clip-path: polygon(...)"}},{"before":"17ae65cedc1d811b2473b7ffd5338b3dbe917868","after":"71ccd8ad250d17c6ff741cadbfaf30caef96b64d","ref":"refs/heads/master","pushedAt":"2024-05-26T05:49:49.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: Implement BaseAudioContext.createBuffer\n\nThis is a simple factory function which effectively just calls the\nAudioBuffer constructor.","shortMessageHtmlLink":"LibWeb: Implement BaseAudioContext.createBuffer"}},{"before":"67b1f4af5555aff14080488c7154d3278e15cf80","after":"17ae65cedc1d811b2473b7ffd5338b3dbe917868","ref":"refs/heads/master","pushedAt":"2024-05-26T05:48:37.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: Implement AudioBuffer.copyToChannel","shortMessageHtmlLink":"LibWeb: Implement AudioBuffer.copyToChannel"}},{"before":"a8ef84f8c3afeed083f49828d881f2d219fbbe34","after":"67b1f4af5555aff14080488c7154d3278e15cf80","ref":"refs/heads/master","pushedAt":"2024-05-26T05:47:59.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: Implement HTMLFormElement.encoding","shortMessageHtmlLink":"LibWeb: Implement HTMLFormElement.encoding"}},{"before":"e2b2b2439c2fc5dc6aa7c3f90a0191768ec3df65","after":"a8ef84f8c3afeed083f49828d881f2d219fbbe34","ref":"refs/heads/master","pushedAt":"2024-05-25T20:19:47.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: Use LengthPercentage for calc values in Transformation matrix","shortMessageHtmlLink":"LibWeb: Use LengthPercentage for calc values in Transformation matrix"}},{"before":"ba5192b2e7df71810323357b53d19a9984fd10cb","after":"e2b2b2439c2fc5dc6aa7c3f90a0191768ec3df65","ref":"refs/heads/master","pushedAt":"2024-05-25T20:19:40.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: Apply corner clip before scroll offset for PaintableWithLines\n\nFixes bug when corner clip mask moves along with the scrolled text.","shortMessageHtmlLink":"LibWeb: Apply corner clip before scroll offset for PaintableWithLines"}},{"before":"ed8d036b4171bca12bb7eaa6ff17783614468b36","after":"ba5192b2e7df71810323357b53d19a9984fd10cb","ref":"refs/heads/master","pushedAt":"2024-05-25T19:24:14.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":"LibWasm: Use u32's instead of size_t's when reading LEB128 numbers\n\nThe WebAssembly spec never relies on host system information, like\nsize_t. For consistency's sake, we should stick to the usage of u32's\ninstead of size_t's. This didn't cause issues before because\nLEB128-encoded u64's are a superset of LEB128-encoded u32's.","shortMessageHtmlLink":"LibWasm: Use u32's instead of size_t's when reading LEB128 numbers"}},{"before":"fb79aa6159d950e0c0559f2c658d6e322c4c13ed","after":"ed8d036b4171bca12bb7eaa6ff17783614468b36","ref":"refs/heads/master","pushedAt":"2024-05-25T14:13:15.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":"LibWasm: Properly read data section tags\n\nThe previous version of the function read the tag as a u8. However, as\nper the spec, the tag of the data section should be a u32, LEB128\nencoded.\n\nhttps://webassembly.github.io/spec/core/binary/modules.html#data-section","shortMessageHtmlLink":"LibWasm: Properly read data section tags"}},{"before":"934516d75b0f3a0215c809684a17034737b0747b","after":"fb79aa6159d950e0c0559f2c658d6e322c4c13ed","ref":"refs/heads/master","pushedAt":"2024-05-25T05:42:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AtkinsSJ","name":"Sam Atkins","path":"/AtkinsSJ","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/222642?s=80&v=4"},"commit":{"message":"LibGfx/GIF: Correctly write frames with a non-null position","shortMessageHtmlLink":"LibGfx/GIF: Correctly write frames with a non-null position"}},{"before":"398c99e981e64b8bdee5a7e3249cbb7260127881","after":"934516d75b0f3a0215c809684a17034737b0747b","ref":"refs/heads/master","pushedAt":"2024-05-25T05:36:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"AtkinsSJ","name":"Sam Atkins","path":"/AtkinsSJ","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/222642?s=80&v=4"},"commit":{"message":"Tests/LibGfx: Don't use a color name as an ARGB32 value\n\n...and use a different color name until a (relatively harmless) bug\nwriting fully-opaque frames to an animation that also has transparent\nframes is fixed. (I've had a local fix for that for a while, but\nI'm waiting for #24397 to land.)","shortMessageHtmlLink":"Tests/LibGfx: Don't use a color name as an ARGB32 value"}},{"before":"05f9733192fa4f1969d9a56752cc107954159fa9","after":"398c99e981e64b8bdee5a7e3249cbb7260127881","ref":"refs/heads/master","pushedAt":"2024-05-24T12:47:26.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"trflynn89","name":"Tim Flynn","path":"/trflynn89","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5600524?s=80&v=4"},"commit":{"message":"Meta: Use SHA-256 verification for downloaded CA certificate files","shortMessageHtmlLink":"Meta: Use SHA-256 verification for downloaded CA certificate files"}},{"before":"15a8baee0307f8c9cec7c0ba174e111d4df2d0ac","after":"05f9733192fa4f1969d9a56752cc107954159fa9","ref":"refs/heads/master","pushedAt":"2024-05-24T10:34:52.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"awesomekling","name":"Andreas Kling","path":"/awesomekling","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5954907?s=80&v=4"},"commit":{"message":"LibGfx: Make accumulate_even_odd_scanline() go faster\n\n...by checking scanline vector bounds before entering the loop.","shortMessageHtmlLink":"LibGfx: Make accumulate_even_odd_scanline() go faster"}},{"before":"de02a2680fd6b1b26ae8dfe1ed97cd088a17405d","after":"15a8baee0307f8c9cec7c0ba174e111d4df2d0ac","ref":"refs/heads/master","pushedAt":"2024-05-24T05:25:11.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: Save time for animationcancel event before transitioning to idle\n\nThe if statement in the dispatch implies we are in the idle state, so of\ncourse the active time will always be undefined. If this was cancelled\nvia a call to cancel(), we can save the time at that point. Otherwise,\njust send 0.","shortMessageHtmlLink":"LibWeb: Save time for animationcancel event before transitioning to idle"}},{"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 :^)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVQsXXAA","startCursor":null,"endCursor":null}},"title":"Activity · SerenityOS/serenity"}