{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":421008345,"defaultBranch":"main","name":"examples","ownerLogin":"vercel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-10-25T12:09:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14985020?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716395720.0","currentOid":""},"activityList":{"items":[{"before":"d26b28916006634d0b7c9102a7977e7b0db38b50","after":null,"ref":"refs/heads/fix-example","pushedAt":"2024-05-22T16:35:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"}},{"before":"62c700ead921bd1e7f1a40d7bb438575a0a1b3ef","after":"635d628904b8263ab23bb3704cdab5d90aee2f08","ref":"refs/heads/main","pushedAt":"2024-05-22T16:35:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Fix pgvector example + upgrade (#918)","shortMessageHtmlLink":"Fix pgvector example + upgrade (#918)"}},{"before":null,"after":"d26b28916006634d0b7c9102a7977e7b0db38b50","ref":"refs/heads/fix-example","pushedAt":"2024-05-22T16:31:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Fix pgvector example + upgrade","shortMessageHtmlLink":"Fix pgvector example + upgrade"}},{"before":"441a9f48c058533f7c05ee1d26e713e9a969e325","after":"06cda12e87ffebb88779f54fc5d09a2595aa5b5e","ref":"refs/heads/na/update-pgvector-to-ai-sdk","pushedAt":"2024-05-15T11:20:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nicoalbanese","name":"Nico Albanese","path":"/nicoalbanese","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49612682?s=80&v=4"},"commit":{"message":"fix: update pgvector example to have placeholder kv env vars","shortMessageHtmlLink":"fix: update pgvector example to have placeholder kv env vars"}},{"before":null,"after":"441a9f48c058533f7c05ee1d26e713e9a969e325","ref":"refs/heads/na/update-pgvector-to-ai-sdk","pushedAt":"2024-05-15T10:07:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nicoalbanese","name":"Nico Albanese","path":"/nicoalbanese","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49612682?s=80&v=4"},"commit":{"message":"update pgvector example to use vercel ai sdk","shortMessageHtmlLink":"update pgvector example to use vercel ai sdk"}},{"before":"afd337b0e63926be75145ee9154e6beb92598739","after":"07d1d58b83b14fab4f86e9fe9ec4b0281d4e2ee9","ref":"refs/heads/breadcrumbs-example","pushedAt":"2024-05-13T13:05:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"goncy","name":"Gonzalo Pozzo","path":"/goncy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6494462?s=80&v=4"},"commit":{"message":"Update texts","shortMessageHtmlLink":"Update texts"}},{"before":"dbd00a2e2885eac3cc31ee36a919d1bfa1edaf41","after":"afd337b0e63926be75145ee9154e6beb92598739","ref":"refs/heads/breadcrumbs-example","pushedAt":"2024-05-13T13:02:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"goncy","name":"Gonzalo Pozzo","path":"/goncy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6494462?s=80&v=4"},"commit":{"message":"Adds loading","shortMessageHtmlLink":"Adds loading"}},{"before":"8b75c1fcd7ad5f87932aeea7d40eb43002fa7df6","after":"dbd00a2e2885eac3cc31ee36a919d1bfa1edaf41","ref":"refs/heads/breadcrumbs-example","pushedAt":"2024-05-11T19:34:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"goncy","name":"Gonzalo Pozzo","path":"/goncy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6494462?s=80&v=4"},"commit":{"message":"Update readme","shortMessageHtmlLink":"Update readme"}},{"before":null,"after":"8b75c1fcd7ad5f87932aeea7d40eb43002fa7df6","ref":"refs/heads/breadcrumbs-example","pushedAt":"2024-05-11T19:25:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"goncy","name":"Gonzalo Pozzo","path":"/goncy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6494462?s=80&v=4"},"commit":{"message":"Breadcrumbs example","shortMessageHtmlLink":"Breadcrumbs example"}},{"before":"c140da0b72880e95cfe9611e27bd2e6fcf7d6fde","after":"62c700ead921bd1e7f1a40d7bb438575a0a1b3ef","ref":"refs/heads/main","pushedAt":"2024-05-08T09:38:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dferber90","name":"Dominik Ferber","path":"/dferber90","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1765075?s=80&v=4"},"commit":{"message":"fix statsig usage (#911)\n\nPrevent statsig from fetching in middleware.\r\n\r\n- Turning on `localMode` will log an error on any network activity\r\n- Setting `initStrategyForIDLists: \"never\"` will prevent Statsig from\r\nattempting to fetch the ID List over the network, as ID Lists are not\r\nsupported by the Edge Config Adapter (yet)","shortMessageHtmlLink":"fix statsig usage (#911)"}},{"before":"efe0025db088a6ec411a61b3381c5229a2be7ed3","after":"250d84635589b63e43f442d2c6a78d181ac96b9e","ref":"refs/heads/dferber/fla-1128-fix-statsig-example","pushedAt":"2024-05-08T07:59:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dferber90","name":"Dominik Ferber","path":"/dferber90","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1765075?s=80&v=4"},"commit":{"message":"use statsig-node-lite","shortMessageHtmlLink":"use statsig-node-lite"}},{"before":null,"after":"efe0025db088a6ec411a61b3381c5229a2be7ed3","ref":"refs/heads/dferber/fla-1128-fix-statsig-example","pushedAt":"2024-05-08T07:35:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dferber90","name":"Dominik Ferber","path":"/dferber90","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1765075?s=80&v=4"},"commit":{"message":"fix statsig usage","shortMessageHtmlLink":"fix statsig usage"}},{"before":null,"after":"6705f3c8b41a318e1d4305c9d3cb40551ee60d64","ref":"refs/heads/revert-888-ofhouse/enfore-node-version","pushedAt":"2024-05-06T07:43:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"janory","name":"János Szathmáry","path":"/janory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29057504?s=80&v=4"},"commit":{"message":"Revert \"Enforce node version on python (#888)\"\n\nThis reverts commit 020b9fc8ae6d63edbb6c8832a679026d926d50c8.","shortMessageHtmlLink":"Revert \"Enforce node version on python (#888)\""}},{"before":"fe3844e8f41aeec9415741e91af5aa77c46533e4","after":"c140da0b72880e95cfe9611e27bd2e6fcf7d6fde","ref":"refs/heads/main","pushedAt":"2024-04-30T21:35:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Remove next news. (#909)\n\nThe updated example, with App Router, lives here:\r\nhttps://github.com/vercel/next-react-server-components","shortMessageHtmlLink":"Remove next news. (#909)"}},{"before":null,"after":"bb128f5a911440e59a3a904871f3e75c733125d0","ref":"refs/heads/next-news-move","pushedAt":"2024-04-30T21:28:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Remove next news.","shortMessageHtmlLink":"Remove next news."}},{"before":"3d1a3b337fe51a66634ba208480036e99b0ef2b3","after":"12a38b3c2e37c8cc25dab780b4cbe7c833ffc896","ref":"refs/heads/add-book-inventory-example","pushedAt":"2024-04-15T21:02:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"StephDietz","name":"Stephanie Dietz","path":"/StephDietz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49788645?s=80&v=4"},"commit":{"message":"update database values, create script","shortMessageHtmlLink":"update database values, create script"}},{"before":"45615a41f1423dcc86b2239508da9efa227c4b67","after":"3d1a3b337fe51a66634ba208480036e99b0ef2b3","ref":"refs/heads/add-book-inventory-example","pushedAt":"2024-04-12T16:07:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"StephDietz","name":"Stephanie Dietz","path":"/StephDietz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49788645?s=80&v=4"},"commit":{"message":"prettier and small edits","shortMessageHtmlLink":"prettier and small edits"}},{"before":"b1a4bcef423d7133f3daa167479996e7d0ce4df5","after":"45615a41f1423dcc86b2239508da9efa227c4b67","ref":"refs/heads/add-book-inventory-example","pushedAt":"2024-04-12T14:51:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"StephDietz","name":"Stephanie Dietz","path":"/StephDietz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49788645?s=80&v=4"},"commit":{"message":"fix naming, responsive styles, and dark mode","shortMessageHtmlLink":"fix naming, responsive styles, and dark mode"}},{"before":"389a044ab42faa2133244174fd85465c71c83805","after":"fe3844e8f41aeec9415741e91af5aa77c46533e4","ref":"refs/heads/main","pushedAt":"2024-04-12T06:42:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"EndangeredMassa","name":"Sean Massa","path":"/EndangeredMassa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41545?s=80&v=4"},"commit":{"message":"[python/django] remove use of \"builds\" (#905)\n\n### Description\r\n\r\nWe don't want to encourage the use of `builds` in `vercel.json`. This PR\r\nupdates the `python/django` example to not use `builds`.\r\n\r\nI tested manually deploying this example and it worked for me.\r\n\r\n### Demo URL\r\n\r\nhttps://django-qqienvle1-uncurated-tests.vercel.app/\r\n\r\n### Type of Change\r\n\r\n- [ ] New Example\r\n- [x] Example updates (Bug fixes, new features, etc.)\r\n- [ ] Other (changes to the codebase, but not to examples)","shortMessageHtmlLink":"[python/django] remove use of \"builds\" (#905)"}},{"before":null,"after":"7b95ee00e8afcad2d08b3cebea834150711ef452","ref":"refs/heads/endangeredmassa/djagno-remove-builds","pushedAt":"2024-04-11T17:18:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EndangeredMassa","name":"Sean Massa","path":"/EndangeredMassa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/41545?s=80&v=4"},"commit":{"message":"python/django: remove use of \"builds\"","shortMessageHtmlLink":"python/django: remove use of \"builds\""}},{"before":"e2a606aadddea129c724fd33a4a2a0b00278856c","after":"b1a4bcef423d7133f3daa167479996e7d0ce4df5","ref":"refs/heads/add-book-inventory-example","pushedAt":"2024-04-11T14:05:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"StephDietz","name":"Stephanie Dietz","path":"/StephDietz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49788645?s=80&v=4"},"commit":{"message":"use optimistic update and UI edits","shortMessageHtmlLink":"use optimistic update and UI edits"}},{"before":null,"after":"e2a606aadddea129c724fd33a4a2a0b00278856c","ref":"refs/heads/add-book-inventory-example","pushedAt":"2024-04-10T17:57:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"StephDietz","name":"Stephanie Dietz","path":"/StephDietz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/49788645?s=80&v=4"},"commit":{"message":"add book inventory example","shortMessageHtmlLink":"add book inventory example"}},{"before":"9a0c182aab644b825d6448adf1062287b0a58fa1","after":"389a044ab42faa2133244174fd85465c71c83805","ref":"refs/heads/main","pushedAt":"2024-04-09T13:27:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"fix(solutions-blog): added not-found page (#902)\n\ncc: @leerob \r\n\r\n### Description\r\n\r\nAdded a custom \"not found\" page. The default one breaks the layout.\r\n\r\n### Demo\r\n\r\nScreenshot:\r\n\r\n![Screenshot 2024-04-09 at 09 58\r\n07](https://github.com/vercel/examples/assets/5707542/8b17b405-bff4-496b-bc03-f0d1dfab812f)\r\n\r\n### Type of Change\r\n\r\n- [ ] New Example\r\n- [x] Example updates (Bug fixes, new features, etc.)\r\n- [ ] Other (changes to the codebase, but not to examples)","shortMessageHtmlLink":"fix(solutions-blog): added not-found page (#902)"}},{"before":"602c9e9002c8751e4448e35f687b24bb43c35262","after":"9a0c182aab644b825d6448adf1062287b0a58fa1","ref":"refs/heads/main","pushedAt":"2024-04-09T03:09:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"fix(solutions-blog): refer the `github` links to actual github source (#898)\n\ncc @leerob\r\n\r\n### Description\r\n\r\nThe `github` links are redirecting to vercel deploy, some visitors are\r\nconfused and find it hard to find the source.\r\n\r\nx-ref: [twitter comment\r\n#1](https://x.com/lxopetrucci/status/1777336583982612488)\r\nx-ref: [twitter comment\r\n#2](https://x.com/CIMSTA_official/status/1777330594638094366)\r\n\r\n### Type of Change\r\n\r\n- [ ] New Example\r\n- [x] Example updates (Bug fixes, new features, etc.)\r\n- [ ] Other (changes to the codebase, but not to examples)\r\n\r\n---------\r\n\r\nCo-authored-by: Lee Robinson ","shortMessageHtmlLink":"fix(solutions-blog): refer the github links to actual github source ("}},{"before":"81d8640cec12849bcb04f7fb8da7a86da5433784","after":"602c9e9002c8751e4448e35f687b24bb43c35262","ref":"refs/heads/main","pushedAt":"2024-04-09T03:08:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Fixed Og Image (#901)\n\n### Description\r\nSeems Like OG Image is not working on the recent blog example by lee\r\nrob.\r\n\r\n### Demo URL\r\n\r\n### Type of Change\r\n\r\n- [ ] New Example\r\n- [ X] Example updates (Bug fixes, new features, etc.)\r\n- [ ] Other (changes to the codebase, but not to examples)\r\n\r\n### New Example Checklist\r\n\r\n- [ ] 🛫 `npm run new-example` was used to create the example\r\n- [ ] 📚 The template wasn't used but I carefuly read the [Adding a new\r\nexample](https://github.com/vercel/examples#adding-a-new-example) steps\r\nand implemented them in the example\r\n- [ ] 📱 Is it responsive? Are mobile and tablets considered?","shortMessageHtmlLink":"Fixed Og Image (#901)"}},{"before":"b753abbf8c38f55e43b48ebf8b9388f7e41ef2ee","after":"81d8640cec12849bcb04f7fb8da7a86da5433784","ref":"refs/heads/main","pushedAt":"2024-04-09T00:59:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Small updates to blog. (#900)","shortMessageHtmlLink":"Small updates to blog. (#900)"}},{"before":null,"after":"740f4d07cbcd21b82fcfba812441327dbd6b70e2","ref":"refs/heads/smol","pushedAt":"2024-04-09T00:57:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Small updates to blog.","shortMessageHtmlLink":"Small updates to blog."}},{"before":"952de642d3e74b02e1fda5db984446020d2cb81e","after":"b753abbf8c38f55e43b48ebf8b9388f7e41ef2ee","ref":"refs/heads/main","pushedAt":"2024-04-08T03:00:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"Add blog / portfolio template. (#897)\n\nhttps://portfolio-blog-starter.vercel.app","shortMessageHtmlLink":"Add blog / portfolio template. (#897)"}},{"before":null,"after":"4479e4d58feaaa26352a0f5d4674ca39ec014678","ref":"refs/heads/blog-template","pushedAt":"2024-04-08T02:57:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"leerob","name":"Lee Robinson","path":"/leerob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/9113740?s=80&v=4"},"commit":{"message":"add blog","shortMessageHtmlLink":"add blog"}},{"before":"a825fe9f16889dd444f1c2b0bd83dde882197d05","after":"952de642d3e74b02e1fda5db984446020d2cb81e","ref":"refs/heads/main","pushedAt":"2024-04-03T16:02:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dferber90","name":"Dominik Ferber","path":"/dferber90","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1765075?s=80&v=4"},"commit":{"message":"fix launchdarkly example (#893)\n\nWhen using LaunchDarkly developers need to first initialize the\r\nLaunchDarkly client like so\r\n\r\n```ts\r\nimport { createClient } from '@vercel/edge-config'\r\nimport { LDClient, init } from '@launchdarkly/vercel-server-sdk'\r\n\r\n// create the edge config and launchdarkly clients\r\nconst edgeConfigClient = createClient(process.env.EDGE_CONFIG)\r\nconst ldClient = init(process.env.NEXT_PUBLIC_LD_CLIENT_SIDE_ID, edgeConfigClient)\r\n\r\n// wait for it to init of the launchdarkly client\r\nawait ldClient.waitForInitialization()\r\n\r\n// use the launchdarkly client\r\nconst flagValue = await ldClient.variation('my-flag', {}, true)\r\n```\r\n\r\nIntuitively a developer would do this\r\n\r\n```ts\r\nexport const runtime = 'edge'\r\n\r\nconst edgeClient = createClient(process.env.EDGE_CONFIG)\r\nconst ldClient = init(process.env.NEXT_PUBLIC_LD_CLIENT_SIDE_ID!, edgeClient)\r\n\r\nexport default async function Home() {\r\n await ldClient.waitForInitialization()\r\n const flagValue = await ldClient.variation('my-flag', {}, true)\r\n```\r\n\r\nBut this has a huge issue: It is not allowed to share promises across\r\nrequests in Edge Runtime - more specifically in Cloudflare Workers which\r\nEdge Functions build on. When this page gets requested twice, then the\r\nfirst call to `ldClient.waitForInitialization()` creates a promise and\r\nthe second call will await the promise created by the first request.\r\nThis then leads to Cloudflare Workers throwing this error. But\r\n`waitForInitialization` catches that error and retries indefinitely\r\nuntil the function itself times out.\r\n\r\nTo fix this, we could create a fresh client from within the home\r\ncomponent like so\r\n\r\n```ts\r\nconst edgeConfigClient = createClient(process.env.EDGE_CONFIG)\r\n\r\nasync function getLdClient(): Promise {\r\n const ldClient = init(\r\n process.env.NEXT_PUBLIC_LD_CLIENT_SIDE_ID,\r\n edgeConfigClient\r\n )\r\n\r\n await ldClient.waitForInitialization()\r\n\r\n return ldClient\r\n}\r\n\r\nexport default async function Home() {\r\n // get client from within the component so we get a fresh instance for every\r\n // request, otherwise LaunchDarkly might share promises across requests, which\r\n // can leads to timeouts in Edge Runtime\r\n const ldClient = await getLdClient()\r\n```\r\n\r\nBut this has the issue that every call to `getLdClient` would create a\r\nfresh instance, even if the calls to `getLdClient` happen for the same\r\nrequest.\r\n\r\nTo solve this, we can wrap `getLdClient` in `cache`, which caches the\r\nclient for the duration of the server request and resets for each server\r\nrequest.","shortMessageHtmlLink":"fix launchdarkly example (#893)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUSo1yAA","startCursor":null,"endCursor":null}},"title":"Activity · vercel/examples"}