{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":141128198,"defaultBranch":"master","name":"percy","ownerLogin":"chinedufn","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-07-16T11:14:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2099811?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1685115758.27514","currentOid":""},"activityList":{"items":[{"before":"21fd9ae7c1d5eef854e1a0bb86f0b6e81919322f","after":"c49e27907247f198dab317ed29b0c9635a3b1faf","ref":"refs/heads/master","pushedAt":"2023-07-20T17:50:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Update license field following SPDX 2.1 license expression standard (#194)\n\nThe new recommendation is to follow the SPDX 2.1 standard. This allows automatic license verification software to work properly. Reference: https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields","shortMessageHtmlLink":"Update license field following SPDX 2.1 license expression standard (#…"}},{"before":"abbd1a949cf680ece524856c11216b416dd2e645","after":null,"ref":"refs/heads/fix-event","pushedAt":"2023-05-26T15:42:38.275Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"}},{"before":"324fb6d9685d82d14126668be150e6b85ec79eb9","after":"21fd9ae7c1d5eef854e1a0bb86f0b6e81919322f","ref":"refs/heads/master","pushedAt":"2023-05-26T14:33:06.566Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix syntax err","shortMessageHtmlLink":"Fix syntax err"}},{"before":"d2cf85dbe60f594a12cf9edb4ed53aa7040fcd66","after":"324fb6d9685d82d14126668be150e6b85ec79eb9","ref":"refs/heads/master","pushedAt":"2023-05-26T14:12:36.018Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"percy-dom 0.9.6","shortMessageHtmlLink":"percy-dom 0.9.6"}},{"before":"8efe051e2cc40e68b08c6aadd6a9180c1f22a65c","after":"d2cf85dbe60f594a12cf9edb4ed53aa7040fcd66","ref":"refs/heads/master","pushedAt":"2023-05-26T14:11:24.501Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix panic in Firefox (#193)\n\nThis commit changes a `dyn_into()` into a `.unchecked_into()` since, for\r\ncurrently, unknown reasons `.dyn_into().unwrap()` was panicking in\r\na real application Firefox (but not in our headless Firefox tests).\r\n\r\nThe `web-sys` version was \"0.3.61\"","shortMessageHtmlLink":"Fix panic in Firefox (#193)"}},{"before":null,"after":"abbd1a949cf680ece524856c11216b416dd2e645","ref":"refs/heads/fix-event","pushedAt":"2023-05-26T14:10:50.367Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix panic in Firefox\n\nThis commit changes a `dyn_into()` into a `.unchecked_into()` since, for\ncurrently, unknown reasons `.dyn_into().unwrap()` was panicking in\na real application Firefox (but not in our headless Firefox tests).\n\nThe `web-sys` version was \"0.3.61\"","shortMessageHtmlLink":"Fix panic in Firefox"}},{"before":"c4873e4acb537e37304e15ee4d7340ec7927857d","after":"8efe051e2cc40e68b08c6aadd6a9180c1f22a65c","ref":"refs/heads/master","pushedAt":"2023-05-03T00:59:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"percy-dom 0.9.5","shortMessageHtmlLink":"percy-dom 0.9.5"}},{"before":"716995543792a03b3a3cdbca1c7bffcb20e54b49","after":"37b6d90ad14b4fa2a96577272fc766237019c6db","ref":"refs/heads/gh-pages","pushedAt":"2023-05-03T00:58:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"deploy: c4873e4acb537e37304e15ee4d7340ec7927857d","shortMessageHtmlLink":"deploy: c4873e4"}},{"before":"3d4f047c75333baa516a9ba9e8b662bc867cd9c6","after":null,"ref":"refs/heads/fix-remove-and-move","pushedAt":"2023-05-03T00:58:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"}},{"before":"1842b6448a62af8227d3f0521dbfc1c1c79e3812","after":"c4873e4acb537e37304e15ee4d7340ec7927857d","ref":"refs/heads/master","pushedAt":"2023-05-03T00:58:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix indexing when moving nodes (#192)\n\nThis commit fixing the diffing bug where we were using the wrong node\r\nindex when moving siblings under certain conditions.","shortMessageHtmlLink":"Fix indexing when moving nodes (#192)"}},{"before":null,"after":"3d4f047c75333baa516a9ba9e8b662bc867cd9c6","ref":"refs/heads/fix-remove-and-move","pushedAt":"2023-05-03T00:58:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix indexing when moving nodes\n\nThis commit fixing the diffing bug where we were using the wrong node\nindex when moving siblings under certain conditions.","shortMessageHtmlLink":"Fix indexing when moving nodes"}},{"before":"163d0b9282eb90e8aba28daf54e325033403894d","after":"1842b6448a62af8227d3f0521dbfc1c1c79e3812","ref":"refs/heads/master","pushedAt":"2023-05-02T12:59:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix CI","shortMessageHtmlLink":"Fix CI"}},{"before":"1e75f3bb0d9ba2753ddd099b0d387e8b44b63b21","after":null,"ref":"refs/heads/implicit-keys","pushedAt":"2023-05-01T17:51:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"}},{"before":"6cf0c0c8fa19a89778c84767e2f3f393a0d83431","after":"163d0b9282eb90e8aba28daf54e325033403894d","ref":"refs/heads/master","pushedAt":"2023-05-01T17:50:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"percy-dom 0.9.4","shortMessageHtmlLink":"percy-dom 0.9.4"}},{"before":"90bdf2585cce9a037263e92ce0f67d4cff74d793","after":"6cf0c0c8fa19a89778c84767e2f3f393a0d83431","ref":"refs/heads/master","pushedAt":"2023-05-01T17:50:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Introduce implicit keying (#191)\n\nThis commit introduces implicit keys to siblings that are being diffed.\r\n\r\nThis was introduced to solve for the following case:\r\n\r\n```text\r\nstart:
\r\nend:
\r\n```\r\n\r\nBefore this commit, if the `input` in the above example was focused at\r\nthe start, it would lose its focused after the patches were applied\r\nsince the `span` would have gotten replaced by the `img`.\r\n\r\nNow all elements with the same tag are implicitly keyed such that\r\nthe diffing algorithm will send up generating patches that will move\r\nelements instead of replace them, when possible.\r\n\r\nNote that there is a cost to this, since the longest increasing\r\nsubsequence algorithm that we're using to diff keyed siblings is\r\n`O(n log n).\r\n\r\nThis commit makes it such that `n` will always be the number of child\r\nelements, now that all child elements have either an explicit or\r\nimplicit key and will all pass through our LCS pass.\r\n\r\nNote that the `n` is the number of siblings across the chldren of two\r\ndifferent nodes, not the number of nodes in the entire dom tree.\r\n\r\nSo, for most realistic use cases `n` should be relatively small, since\r\nmost use cases don't have large lists of sibling nodes.","shortMessageHtmlLink":"Introduce implicit keying (#191)"}},{"before":null,"after":"1e75f3bb0d9ba2753ddd099b0d387e8b44b63b21","ref":"refs/heads/implicit-keys","pushedAt":"2023-05-01T17:49:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Introduce implicit keying\n\nThis commit introduces implicit keys to siblings that are being diffed.\n\nThis was introduced to solve for the following case:\n\n```text\nstart:
\nend:
\n```\n\nBefore this commit, if the `input` in the above example was focused at\nthe start, it would lose its focused after the patches were applied\nsince the `span` would have gotten replaced by the `img`.\n\nNow all elements with the same tag are implicitly keyed such that\nthe diffing algorithm will send up generating patches that will move\nelements instead of replace them, when possible.\n\nNote that there is a cost to this, since the longest increasing\nsubsequence algorithm that we're using to diff keyed siblings is\n`O(n log n).\n\nThis commit makes it such that `n` will always be the number of child\nelements, now that all child elements have either an explicit or\nimplicit key and will all pass through our LCS pass.\n\nNote that the `n` is the number of siblings across the chldren of two\ndifferent nodes, not the number of nodes in the entire dom tree.\n\nSo, for most realistic use cases `n` should be relatively small, since\nmost use cases don't have large lists of sibling nodes.","shortMessageHtmlLink":"Introduce implicit keying"}},{"before":"ab05e00d0a94772d2ab6779ff1bde5da2ca106b4","after":null,"ref":"refs/heads/preserve-focusable-elements","pushedAt":"2023-05-01T12:05:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"}},{"before":"8391a3a04ad821ad829120eabf02aa41d599c913","after":null,"ref":"refs/heads/fix-implicit-idx","pushedAt":"2023-05-01T12:04:52.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"}},{"before":"3219e77e2fdd2c0340658ba71c27013d220c76b3","after":"90bdf2585cce9a037263e92ce0f67d4cff74d793","ref":"refs/heads/master","pushedAt":"2023-05-01T12:04:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Fix textarea implicit keying (#190)\n\nThis commit adds a test and fix for a bug where we were using `input`\r\nelement implicit keys for `textarea` elements.","shortMessageHtmlLink":"Fix textarea implicit keying (#190)"}},{"before":null,"after":"8391a3a04ad821ad829120eabf02aa41d599c913","ref":"refs/heads/fix-implicit-idx","pushedAt":"2023-05-01T12:03:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"0.9.3","shortMessageHtmlLink":"0.9.3"}},{"before":"ad621ddf2325fb7633ce08f56ce33cf41cf285c4","after":"3219e77e2fdd2c0340658ba71c27013d220c76b3","ref":"refs/heads/master","pushedAt":"2023-05-01T11:46:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"percy-dom 0.9.2","shortMessageHtmlLink":"percy-dom 0.9.2"}},{"before":"0ea6b0d14cce87833d40674e95a150639289168a","after":"ad621ddf2325fb7633ce08f56ce33cf41cf285c4","ref":"refs/heads/master","pushedAt":"2023-05-01T11:45:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Preserve focusable elements (#189)\n\nThis commit make our diffing algorithm prefer to moving focusable\r\nelements such as inputs and textareas over removing and recreating them.\r\n\r\nThis is meant to prevent scenarios where our diff/patch would lead to an\r\ninput element losing focus, such as when prepending a sibling element\r\nbefore an input element.\r\n\r\nFor example, before this commit the following start and end virtual dom\r\nwould lead to us recreating the input element and so it would lose focus.\r\n\r\n```\r\nStart:
\r\nEnd:

\r\n```\r\n\r\nAs of this commit the input element will no longer lose focus.\r\n\r\nWe accomplish this by treating focusable elements such as inputs and\r\ntextareas in much the same way that we treat keyed elements, such that\r\nthe diffing algorithm attempts to, when possible, move them instead of\r\nrecreate them.","shortMessageHtmlLink":"Preserve focusable elements (#189)"}},{"before":null,"after":"ab05e00d0a94772d2ab6779ff1bde5da2ca106b4","ref":"refs/heads/preserve-focusable-elements","pushedAt":"2023-05-01T11:44:27.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chinedufn","name":"Chinedu Francis Nwafili","path":"/chinedufn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2099811?s=80&v=4"},"commit":{"message":"Preserve focusable elements\n\nThis commit make our diffing algorithm prefer to moving focusable\nelements such as inputs and textareas over removing and recreating them.\n\nThis is meant to prevent scenarios where our diff/patch would lead to an\ninput element losing focus, such as when prepending a sibling element\nbefore an input element.\n\nFor example, before this commit the following start and end virtual dom\nwould lead to us recreating the input element and so it would lose focus.\n\n```\nStart:
\nEnd:

\n```\n\nAs of this commit the input element will no longer lose focus.\n\nWe accomplish this by treating focusable elements such as inputs and\ntextareas in much the same way that we treat keyed elements, such that\nthe diffing algorithm attempts to, when possible, move them instead of\nrecreate them.","shortMessageHtmlLink":"Preserve focusable elements"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADWdMPAgA","startCursor":null,"endCursor":null}},"title":"Activity · chinedufn/percy"}