{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":452769633,"defaultBranch":"main","name":"satori","ownerLogin":"vercel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-01-27T17:01:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14985020?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726616263.0","currentOid":""},"activityList":{"items":[{"before":"ff80448924541575bfd72c179a5ceb199912a9cf","after":"c55e4da1f5a66edc906f3ab5f901efff4b7cd6f2","ref":"refs/heads/main","pushedAt":"2024-09-17T23:36:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix: clipping behavior of children with transform (#635)","shortMessageHtmlLink":"fix: clipping behavior of children with transform (#635)"}},{"before":"fe2534a3b8b9cf2a01c04041d982f196d10e2810","after":"ff80448924541575bfd72c179a5ceb199912a9cf","ref":"refs/heads/main","pushedAt":"2024-09-14T14:29:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"feat: support `repeating-linear-gradient` (#630)\n\nNow that #624 has been merged, let me bring`repeating-linear-gradient`\r\nto satori~ ❤️\r\n\r\nClose https://github.com/vercel/satori/issues/554\r\n\r\nNote about the algorithm:\r\n
repeating-linear-gradient
(#630)"}},{"before":"965b3a12a28ab624d55246f17bebc5d9b90f35a2","after":"fe2534a3b8b9cf2a01c04041d982f196d10e2810","ref":"refs/heads/main","pushedAt":"2024-07-04T05:23:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"refactor: gradient & support more degree unit (#624)","shortMessageHtmlLink":"refactor: gradient & support more degree unit (#624)"}},{"before":"3d3bee38c36379406241b40c232063b180cdfcbd","after":"965b3a12a28ab624d55246f17bebc5d9b90f35a2","ref":"refs/heads/main","pushedAt":"2024-07-04T05:17:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix: incorrect data URL parsing (#596)\n\nFixes #597 with correct regex.\r\n\r\n[Data URL\r\nSpecification](https://www.rfc-editor.org/rfc/rfc2397#section-3)","shortMessageHtmlLink":"fix: incorrect data URL parsing (#596)"}},{"before":"1f0389bff606e5eaefd5301d9dcf900f40e2ef4f","after":null,"ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T20:45:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"}},{"before":"d1dfccef303137cfcedf6a9cdf79624b257ae3e0","after":"3d3bee38c36379406241b40c232063b180cdfcbd","ref":"refs/heads/main","pushedAt":"2024-06-02T20:45:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"chore: Remove Node 18 from CI; update test snapshots (#620)\n\nThere's a recent line height change that affects snapshots slightly.","shortMessageHtmlLink":"chore: Remove Node 18 from CI; update test snapshots (#620)"}},{"before":"376f65c31eeb4acf6e0ef544d728d17f25f57f3b","after":"1f0389bff606e5eaefd5301d9dcf900f40e2ef4f","ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T20:42:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"update lockfile","shortMessageHtmlLink":"update lockfile"}},{"before":"1f9895fc106a41202467f9bc9e07d9e8727faa43","after":"376f65c31eeb4acf6e0ef544d728d17f25f57f3b","ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T20:39:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"remove attw","shortMessageHtmlLink":"remove attw"}},{"before":"29d3b58e9485a4e7b6089e55f75230b6bed31d37","after":"1f9895fc106a41202467f9bc9e07d9e8727faa43","ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T20:37:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"downgrade attw","shortMessageHtmlLink":"downgrade attw"}},{"before":"6d59f34783e9e40ac8cbe8c762cddeb220d8e980","after":"29d3b58e9485a4e7b6089e55f75230b6bed31d37","ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T20:27:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"upgrade attw","shortMessageHtmlLink":"upgrade attw"}},{"before":null,"after":"6d59f34783e9e40ac8cbe8c762cddeb220d8e980","ref":"refs/heads/shu/8jlr","pushedAt":"2024-06-02T19:42:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"update snapshots","shortMessageHtmlLink":"update snapshots"}},{"before":"9bc47fd41937be1bc96db2c91420323d034bebef","after":"d1dfccef303137cfcedf6a9cdf79624b257ae3e0","ref":"refs/heads/main","pushedAt":"2024-06-02T19:37:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"Correctly position font baseline and line-height (#599)\n\nThis patch changes logic how baseline and line-height are calculated, to\r\nmatch what browsers do and\r\ntools like Figma.\r\n\r\nThis is especially noticeable on font IBM Plex Sans due to how its\r\nmetrics are set up. It was less noticeable on Inter, because previous\r\ncalculations somehow arrived at almost correct numbers.\r\n\r\nImplementation notes:\r\n\r\n- `useOS2Table` is removed, because it’s not what browsers/Figma seem to\r\nbe using\r\n- yMax, yMin are not used in text positioning at all\r\n- lineHeight is calculated before as a fraction of fontSize, so height\r\njust recalculates it back\r\n\r\nBefore:\r\n\r\n![Screenshot 2024-03-06 at 19 12\r\n12](https://github.com/vercel/satori/assets/285292/dbe5cacf-4839-4d3b-9c9d-cabd8eb189eb)\r\n\r\nAfter:\r\n\r\n![Screenshot 2024-03-06 at 19 12\r\n35](https://github.com/vercel/satori/assets/285292/467012bb-16cc-45e5-bc7e-34cc9e59f2fb)\r\n\r\nBackground blue/orange text is a static PNG rendered with Figma, black\r\ntext is rendered with Satori.\r\n\r\nShould solve #577\r\n\r\nReferences:\r\nhttps://iamvdo.me/en/blog/css-font-metrics-line-height-and-vertical-align\r\n\r\n![Screenshot 2024-03-06 at 19 22\r\n47](https://github.com/vercel/satori/assets/285292/3215bc2f-8bee-4785-a30e-2868255bc63b)\r\n\r\nAnd https://www.figma.com/blog/line-height-changes/:\r\n\r\n![Screenshot 2024-03-06 at 19 27\r\n16](https://github.com/vercel/satori/assets/285292/92aa7800-74cd-4e08-a167-e3e34ac02abf)\r\n\r\nBackground image (if needed):\r\n\r\n\r\nhttps://github.com/vercel/satori/assets/285292/3c8d6a75-cdca-4774-b285-7bd64bae51ee","shortMessageHtmlLink":"Correctly position font baseline and line-height (#599)"}},{"before":null,"after":"94c448451a827aea06fdea5c31d87c31b44a2331","ref":"refs/heads/shu/3axs","pushedAt":"2024-03-11T18:46:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix #600","shortMessageHtmlLink":"fix #600"}},{"before":"69e4bb79466b923b8b270948e87db4805daf963a","after":"9bc47fd41937be1bc96db2c91420323d034bebef","ref":"refs/heads/main","pushedAt":"2024-01-30T01:21:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix: positioned mask image (#566)\n\nResolves #565\r\n\r\n---------\r\n\r\nCo-authored-by: Shu Ding white-space: normal
("}},{"before":"77c3a289df452d7bf4796a6bd8ee5c8d91f552ec","after":null,"ref":"refs/heads/dependabot/npm_and_yarn/babel/traverse-7.23.2","pushedAt":"2023-10-20T13:35:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"styfle","name":"Steven","path":"/styfle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/229881?s=80&v=4"}},{"before":"461b0ef94fe6f693ead8d968b81653af4bf886e9","after":"a2abe37948071414ba93d2e084e1c09dad5c4899","ref":"refs/heads/main","pushedAt":"2023-10-20T13:34:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"styfle","name":"Steven","path":"/styfle","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/229881?s=80&v=4"},"commit":{"message":"build(deps): bump @babel/traverse from 7.22.20 to 7.23.2 (#567)","shortMessageHtmlLink":"build(deps): bump @babel/traverse from 7.22.20 to 7.23.2 (#567)"}},{"before":null,"after":"77c3a289df452d7bf4796a6bd8ee5c8d91f552ec","ref":"refs/heads/dependabot/npm_and_yarn/babel/traverse-7.23.2","pushedAt":"2023-10-20T13:29:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump @babel/traverse from 7.22.20 to 7.23.2\n\nBumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.20 to 7.23.2.\n- [Release notes](https://github.com/babel/babel/releases)\n- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)\n\n---\nupdated-dependencies:\n- dependency-name: \"@babel/traverse\"\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] splitEffects
to split multiple effects (#553)"}},{"before":"538af1a1fb20256ceeb745a578905366e9dd9494","after":"fc356ec85b59b0a34314a81aa44b528e49f02a92","ref":"refs/heads/main","pushedAt":"2023-09-20T14:51:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"chore: update pnpm to 8 and and node@20 in ci (#552)\n\nThis PR aims to reach the following results:\r\n- pnpm to v8\r\n- add node v20 to ci\r\n- make vercel playground work well after upgrading pnpm to v8(need\r\n@shuding access to the vercel dashboard to make it deploy well)\r\n\r\n@shuding Thanks for your time~","shortMessageHtmlLink":"chore: update pnpm to 8 and and node@20 in ci (#552)"}},{"before":"f68206ec8a01055fd8f5e15f5494949b5c408ed0","after":"538af1a1fb20256ceeb745a578905366e9dd9494","ref":"refs/heads/main","pushedAt":"2023-09-20T12:27:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"chore(readme): add supported `alignItems` values (#546)","shortMessageHtmlLink":"chore(readme): add supported alignItems
values (#546)"}},{"before":"0a016f1c2e37aaf9518909f13969092a81e5583b","after":"f68206ec8a01055fd8f5e15f5494949b5c408ed0","ref":"refs/heads/main","pushedAt":"2023-09-20T12:18:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix: remove some `any` (#547)\n\n## Description\r\nThere are many uses of `any` throughout the codebase. We could aim to\r\ntighten up the typings to be more precise. This PR makes only small\r\nimprovements, but please share any thoughts on further changes we could\r\nmake or naming conventions to standardize on. I want you to know that\r\nall feedback is welcome. <3\r\n\r\n@Jackie1210 @shuding.","shortMessageHtmlLink":"fix: remove some any
(#547)"}},{"before":"fcaae1d6c5545fbe20bf658eb5eb754475a37a6b","after":"0a016f1c2e37aaf9518909f13969092a81e5583b","ref":"refs/heads/main","pushedAt":"2023-09-17T01:03:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"fix: should respect stringify number for line-height (#543)\n\nClose #535\r\n\r\nCo-authored-by: Shu Ding embedFont
typo in readme (#534)"}},{"before":"0a05c92efab07f4923e475980dcf2b8b6582daad","after":"0a258931fe2291bdd461103780ac01e3c700b845","ref":"refs/heads/main","pushedAt":"2023-08-11T19:00:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"shuding","name":"Shu Ding","path":"/shuding","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3676859?s=80&v=4"},"commit":{"message":"docs: add note on min max height and width (#526)\n\n## Description\r\n\r\nAdds a note to clarify that `\"min-content\"` and `\"max-content\"` can not\r\nbe used on the `minWidth`, `minHeight`, `maxWidth` and `maxHeight` style\r\nproperties.\r\n\r\nCloses #521","shortMessageHtmlLink":"docs: add note on min max height and width (#526)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMzozNjo0OC4wMDAwMDBazwAAAAS5E7Y4","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xN1QyMzozNjo0OC4wMDAwMDBazwAAAAS5E7Y4","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOC0xMVQxOTowMDo1My4wMDAwMDBazwAAAANpFm_l"}},"title":"Activity · vercel/satori"}