\u003Cbr /> \u003Cimg width=\"502\" alt=\"Screen Shot 2022-03-25 at 2 57 18 PM\" src=\"https://user-images.githubusercontent.com/734428/160080618-1320d0f9-5674-4133-9a57-9fd7f6e77ce2.png\"> | **3m** \u003Cbr />\u003Cbr /> \u003Cimg width=\"498\" alt=\"Screen Shot 2022-03-25 at 2 54 50 PM\" src=\"https://user-images.githubusercontent.com/734428/160080718-4f3fad38-71e5-4793-a839-797a0f87b65e.png\">\r\nInstall Deps in Actions | [1m 25s](https://github.com/kodadot/nft-gallery/runs/5676422402?check_suite_focus=true#step:4:35) | [**28s**](https://github.com/kodadot/nft-gallery/runs/5687650302?check_suite_focus=true#step:6:467)\r\n\r\n\r\nimpressive time savings.\r\nCurious if you would be keen to write an article on how we've migrated from yarn to pnpm? \r\nSome people might find it interesting as we are still early! \r\nThis morning found friends deciding between npm and yarn 😅.\r\n\r\nWe are usually publishing at https://medium.com/kodadot :)\r\n\r\nIssue is reserved for @preschian \r\n\r\n_Originally posted by @yangwao in https://github.com/kodadot/nft-gallery/issues/2643#issuecomment-1078864547_\r\n\r\n### Ref \r\n- https://medium.com/pnpm/why-should-we-use-pnpm-75ca4bfe7d93#:~:text=pnpm%20is%20not%20only%20faster,them%20from%20the%20global%20store.\r\n- https://rushjs.io/pages/maintainer/package_managers/\r\n- https://blog.logrocket.com/javascript-package-managers-compared/\r\n- [What does make pnpm special?](https://twitter.com/moo9000/status/1507297097070043184)\r\n- PNPM is the only option that solves the [NPM doppelgangers](https://rushjs.io/pages/advanced/npm_doppelgangers/) problem. In a complex monorepo, doppelgangers sometimes cause a lot of trouble, so PNPM has an important advantage in this regard.\r\n- we can push KodaDot logo to https://pnpm.io/users",[3275,3276,3278,3279],{"name":3215,"color":3216},{"name":3277,"color":3188},"p3",{"name":3235,"color":3185},{"name":3238,"color":3239},2671,"How we've migrated from yarn to pnpm","2025-09-20T01:42:48Z","https://github.com/kodadot/nft-gallery/issues/2671",0.7619882,{"description":3286,"labels":3287,"number":3290,"owner":3195,"repository":3196,"state":3197,"title":3291,"updated_at":3292,"url":3293,"score":3294},"\r\n\u003Cimg width=\"514\" alt=\"image\" src=\"https://github.com/user-attachments/assets/c6fe6a2d-b3c6-40d5-8f9f-cd1e00eacd5c\">\r\n\r\nrelated to https://github.com/kodadot/nft-gallery/pull/10702",[3288],{"name":3289,"color":3185},"A-maintenance",10983,"Fix failed test","2024-12-25T06:28:42Z","https://github.com/kodadot/nft-gallery/issues/10983",0.76527363,{"description":3296,"labels":3297,"number":3304,"owner":3195,"repository":3196,"state":3197,"title":3305,"updated_at":3306,"url":3307,"score":3308},"This is quite experimental, but we need to supercharge our UX as with more parachains we need to push our stuff on the edge servers as Pinata suffers, is quite slow and doesn't quite keep pace for files.\r\nWe are a bit failing into a centralized pit, but we will store copies of IPFS & Arweave for sure still. \r\nSo stuff is still decentralized for whatever reason you need to have it permanent and distributed, yet we need to go fast whenever users browse our interface.\r\n\r\nInitial idea is to scrape all jpegs on daily basis, once per day, \r\neven ones from Singular and push them to KodaDot Netlify account to supercharge loading times.\r\n(we can make Plural by KodaDot)\r\n\r\n### Ref\r\n- https://docs.netlify.com/large-media/overview/\r\n- Netlify Large Media is intended for files up to 100 MB in size.\r\n- Netlify can handle transformation if needed https://docs.netlify.com/large-media/usage-and-billing/ probably we will transform them to 666x666 locally, keeping aspect ratio in mind, it should be sufficient for fast loading them \r\n- transform them into webp format to save at least 30% smaller\r\n\r\n",[3298,3300,3301],{"name":3299,"color":3188},"p4",{"name":3190,"color":3185},{"name":3302,"color":3303},"experimental","B09211",1515,"Fetch all jpegs and push them into Netlify LM","2022-02-05T17:59:56Z","https://github.com/kodadot/nft-gallery/issues/1515",0.7654076,{"description":3310,"labels":3311,"number":3312,"owner":3195,"repository":3196,"state":3197,"title":3313,"updated_at":3314,"url":3315,"score":3316},"Apparently pinata doesn't carry that much load for gallery\r\n\r\n\r\nWe should pick from list other gw points for that\r\nhttps://ipfs.github.io/public-gateway-checker/",[],313,"Use cloudflare-ipfs for rest static content and pinata for video content","2021-09-21T07:43:44Z","https://github.com/kodadot/nft-gallery/issues/313",0.76932204,["Reactive",3318],{},["Set"],["ShallowReactive",3321],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fDUpfzE0t6Xb03eUq7i-zGlDybUHjIwdW_D_Kr3VCZSw":-1},"/kodadot/nft-gallery/1889"]