{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":826985235,"defaultBranch":"main","name":"List-with-Postgres-and-useOptimistic-nextjs15-react19","ownerLogin":"zenWai","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-07-10T19:27:52.000Z","ownerAvatar":"https://github.com/avatars/u/124523559?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721237365.0","currentOid":""},"activityList":{"items":[{"before":"32e0a46a0e8b94cab422ec7a46ed4d13f4050924","after":"62ed3fefb84485d80a9fd365d9630bd662d250a0","ref":"refs/heads/main","pushedAt":"2024-07-23T12:33:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"63d280ed9481a05150d931e718d820a4cd787e1c","after":"32e0a46a0e8b94cab422ec7a46ed4d13f4050924","ref":"refs/heads/main","pushedAt":"2024-07-23T12:30:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"3b1187e387cd888eeee0b110191938a3a09ce569","after":"63d280ed9481a05150d931e718d820a4cd787e1c","ref":"refs/heads/main","pushedAt":"2024-07-17T18:11:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"48cb572d018dfcb0b3e3ea555d6baea32cf9cc54","after":"3b1187e387cd888eeee0b110191938a3a09ce569","ref":"refs/heads/main","pushedAt":"2024-07-17T18:09:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"571b90b7fa2955a229572dcc09d7ea8ea4d991a0","after":"48cb572d018dfcb0b3e3ea555d6baea32cf9cc54","ref":"refs/heads/main","pushedAt":"2024-07-17T17:37:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```new React 19 compiler fixed my bug``` (#9)\n\n- As per docs implemented the new experimental compiler.\r\n- Was able to remove some of the useCallbacks.\r\n- The new compiler would block the component handleSort, when used without useCallback,from re-rendering to oblivion. I want the callback anyway.\r\n- The new Compiler fixed my bug where I had the TODO. Bug was, after initial load or a page reload, the first added item would not have the background changed. Something was happening with the state of setRecentlyUpdated and the conditional styling.\r\n\r\nOverall very impressed with the new compiler, but the dev experience is awfull.\r\n✓ Starting...\r\n ✓ Ready in 1815ms\r\n ✓ Compiled /middleware in 335ms (105 modules)\r\n ○ Compiling / ...\r\n ✓ Compiled / in 6.6s (1301 modules)\r\n\r\n```Don't see anything strange in terms of memory, bundle size looks smaller```","shortMessageHtmlLink":"new React 19 compiler fixed my bug (#9)"}},{"before":null,"after":"8d47cb4736aee168af1fa501b50615018e90b0a4","ref":"refs/heads/experimental-react19-compiler","pushedAt":"2024-07-17T17:29:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```new React 19 compiler fixed my bug```\n- As per docs implemented the new experimental compiler.\n- Was able to remove some of the useCallbacks.\n- The new compiler would block the component handleSort, when used without useCallback,from re-rendering to oblivion. I want the callback anyway.\n- The new Compiler fixed my bug where I had the TODO. Bug was, after initial load or a page reload, the first added item would not have the background changed. Something was happening with the state of setRecentlyUpdated and the conditional styling.\n\nOverall very impressed with the new compiler, but the dev experience is awfull.\n✓ Starting...\n ✓ Ready in 1815ms\n ✓ Compiled /middleware in 335ms (105 modules)\n ○ Compiling / ...\n ✓ Compiled / in 6.6s (1301 modules)\n\n```Don't see anything strange in terms of memory, bundle size looks smaller```","shortMessageHtmlLink":"new React 19 compiler fixed my bug"}},{"before":"b1daa333ab71e23045d748dcdba9eee20b93d2c3","after":"571b90b7fa2955a229572dcc09d7ea8ea4d991a0","ref":"refs/heads/main","pushedAt":"2024-07-17T14:10:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```animations``` (#8)\n\nImplement item animations on sorting and optimize item addition/updating feedback in list component\r\n\r\n- Added animations to the list items using `framer-motion`.\r\n- Optimized the feedback mechanism for item addition and updates in the list component.\r\n- Implemented a temporary highlight for newly added or updated items using a state variable to track the most recently modified item.\r\n- Modified the `saveAction` function to return the ID of the newly saved item.","shortMessageHtmlLink":"animations (#8)"}},{"before":null,"after":"a1ae8114f64f977999de5d3989c4890ca62aa60f","ref":"refs/heads/animations","pushedAt":"2024-07-17T14:08:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```animations```\nImplement item animations on sorting and optimize item addition/updating feedback in list component\n\n- Added animations to the list items using `framer-motion`.\n- Optimized the feedback mechanism for item addition and updates in the list component.\n- Implemented a temporary highlight for newly added or updated items using a state variable to track the most recently modified item.\n- Modified the `saveAction` function to return the ID of the newly saved item.","shortMessageHtmlLink":"animations"}},{"before":"d88fa31ead4e47d0e9de9266eea38a20ca829f0b","after":"b1daa333ab71e23045d748dcdba9eee20b93d2c3","ref":"refs/heads/main","pushedAt":"2024-07-17T10:15:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'origin/main'","shortMessageHtmlLink":"Merge remote-tracking branch 'origin/main'"}},{"before":"15a6d63093c8f3b0bcfcd60509b550ef4cb8c9e3","after":"d88fa31ead4e47d0e9de9266eea38a20ca829f0b","ref":"refs/heads/main","pushedAt":"2024-07-17T10:06:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"312aa24077ddaa14b003911e17f19eceeb2d6386","after":"15a6d63093c8f3b0bcfcd60509b550ef4cb8c9e3","ref":"refs/heads/main","pushedAt":"2024-07-17T10:05:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"51df3db0623c690cfa627c90b9aafe474c32a10c","after":"312aa24077ddaa14b003911e17f19eceeb2d6386","ref":"refs/heads/main","pushedAt":"2024-07-17T09:47:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"8fd672b01658c19e9a5764e18b61a232bc5a31e3","after":"51df3db0623c690cfa627c90b9aafe474c32a10c","ref":"refs/heads/main","pushedAt":"2024-07-17T09:39:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"c8e815da0b189364f3f7be9a4d39dd7d2b5c2a9d","after":"8fd672b01658c19e9a5764e18b61a232bc5a31e3","ref":"refs/heads/main","pushedAt":"2024-07-17T09:04:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Prettier","shortMessageHtmlLink":"Prettier"}},{"before":"4ed52a57fd69958f97a470a7ad758f2e7c2c114e","after":"c8e815da0b189364f3f7be9a4d39dd7d2b5c2a9d","ref":"refs/heads/main","pushedAt":"2024-07-17T04:08:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```tweaks```\n- remove redundant !isEditing ib item-of-list.tsx\n- switch newest <=> oldest sorting\n- new added optimistic items show at start of list.","shortMessageHtmlLink":"tweaks"}},{"before":"ef37c8bdb83c6f5fdbe4f094ef46e030e188abe9","after":"4ed52a57fd69958f97a470a7ad758f2e7c2c114e","ref":"refs/heads/main","pushedAt":"2024-07-17T03:45:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```Implement sorting functionality with Select``` (#7)\n\n- Added sorting functionality to the list component alphabetical order and creation date.\r\n- Items sent to the Items component are sorted server-side according to searchParams, this makes the items have no flickering on page reload and/or sort flickering.\r\n- Enhanced SkeletonList component with a SortBySkeleton for better UX during loading states.\r\n- Modified the HomePage and List components to support sorting based on search parameters before feeding to List component.\r\n- Added sorting logic on client-side optimisticItems.\r\n- Updated types to include formatted_date and sending properties for items.\r\n- Added new utility function for formatting item data based on search parameters.","shortMessageHtmlLink":"Implement sorting functionality with Select (#7)"}},{"before":null,"after":"8500c6156cb007f722e228a7d353e2655b614e20","ref":"refs/heads/sorting-searchparams","pushedAt":"2024-07-17T03:45:07.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```Implement sorting functionality with Select```\n\n- Added sorting functionality to the list component alphabetical order and creation date.\n- Items sent to the Items component are sorted server-side according to searchParams, this makes the items have no flickering on page reload and/or sort flickering.\n- Enhanced SkeletonList component with a SortBySkeleton for better UX during loading states.\n- Modified the HomePage and List components to support sorting based on search parameters before feeding to List component.\n- Added sorting logic on client-side optimisticItems.\n- Updated types to include formatted_date and sending properties for items.\n- Added new utility function for formatting item data based on search parameters.","shortMessageHtmlLink":"Implement sorting functionality with Select"}},{"before":"8c896aa06b0bdf179b2fff4503877f8603b1b415","after":"ef37c8bdb83c6f5fdbe4f094ef46e030e188abe9","ref":"refs/heads/main","pushedAt":"2024-07-16T10:39:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Enhance error handling, user identification edge cases, improved zod and schemas, data validation enhance (#6)\n\n- Adjust project structure and schemas for data validation\r\n- Refine actions for item manipulation with validation and error handling\r\n- Utilize UUID validation for user identification in middleware\r\n- Update styles and component adjustments for new functionalities\r\n- error.tsx nextjs convention to catch errors\r\n- formatItemsData.ts formats items for data and sort before feeding to component to have no flickering.\r\n- type safety","shortMessageHtmlLink":"Enhance error handling, user identification edge cases, improved zod …"}},{"before":null,"after":"ba7b302b6ee22ce657cd0d4b1f08984b5fd19f4a","ref":"refs/heads/error-handling-and-edge-cases","pushedAt":"2024-07-16T10:37:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```\nEnhance error handling, user identification edge cases, improved zod and schemas, data validation enhance\n\n- Adjust project structure and schemas for data validation\n- Refine actions for item manipulation with validation and error handling\n- Utilize UUID validation for user identification in middleware\n- Update styles and component adjustments for new functionalities\n- error.tsx nextjs convention to catch errors\n- formatItemsData.ts formats items for data and sort before feeding to component to have no flickering.\n- type safety\n```","shortMessageHtmlLink":"```"}},{"before":"9ed932a842fc1f0ee66ecdff1d561ca56c03112c","after":"8c896aa06b0bdf179b2fff4503877f8603b1b415","ref":"refs/heads/main","pushedAt":"2024-07-13T21:37:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Unique list per user (#6)\n\n* ```\r\nUnique item lists per user with UI enhancements and backend adjustments\r\n```\r\n- **User-Specific Item Lists:**\r\n - Implemented middleware to assign a unique `userId` via cookies for user identification.\r\n - Adjusted database queries in `app/db.ts` to fetch and manipulate items based on the `userId`.\r\n - Ensured user existence in the database before performing item operations.\r\n - List gets aditional prop for user id\r\n - Actions gets aditional prop for user id\r\n\r\n- **UI Enhancements:**\r\n - Added a loading component (`SkeletonList`) to display a placeholder UI during data fetching.\r\n - Other minor changes","shortMessageHtmlLink":"Unique list per user (#6)"}},{"before":"8b8ef1e329d4df911f3080ab380b0b70e614a187","after":"3eb33c724a51f274c5bd5fe5ea8ea69ef9b74093","ref":"refs/heads/unique-list-per-user","pushedAt":"2024-07-13T21:32:10.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Merged main into unique-list-per-user","shortMessageHtmlLink":"Merged main into unique-list-per-user"}},{"before":"a93f816ed50b0a83d485140eef0d40d150deb286","after":"9ed932a842fc1f0ee66ecdff1d561ca56c03112c","ref":"refs/heads/main","pushedAt":"2024-07-13T21:26:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Some UI (#5)\n\n* `Refactor UI and enhance functionality`\r\n```\r\n- Improve list component UI and functionality.\r\n- Adjust project structure for components and types.\r\n- Optimize database interactions and validation logic.\r\n- Add new dependencies for UI enhancements.\r\n- Fix some race conditions.\r\n- Can edit several items consecutively.\r\n```","shortMessageHtmlLink":"Some UI (#5)"}},{"before":"2224cc3162aef9adce1215d5f4492b9553e9e621","after":"d483075887af83e6e756e6d575d162556e703e34","ref":"refs/heads/some-ui","pushedAt":"2024-07-13T21:21:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"Merged main into some-ui","shortMessageHtmlLink":"Merged main into some-ui"}},{"before":null,"after":"2224cc3162aef9adce1215d5f4492b9553e9e621","ref":"refs/heads/some-ui","pushedAt":"2024-07-13T21:01:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```\nRefactor UI and enhance functionality\n\n- Improve list component UI and functionality.\n- Adjust project structure for components and types.\n- Optimize database interactions and validation logic.\n- Add new dependencies for UI enhancements.\n- Fix some race conditions.\n- Can edit several items consecutively.\n```","shortMessageHtmlLink":"```"}},{"before":null,"after":"8b8ef1e329d4df911f3080ab380b0b70e614a187","ref":"refs/heads/unique-list-per-user","pushedAt":"2024-07-13T20:33:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"```\nUnique item lists per user with UI enhancements and backend adjustments\n```\n- **User-Specific Item Lists:**\n - Implemented middleware to assign a unique `userId` via cookies for user identification.\n - Adjusted database queries in `app/db.ts` to fetch and manipulate items based on the `userId`.\n - Ensured user existence in the database before performing item operations.\n - List gets aditional prop user id\n\n- **UI Enhancements:**\n - Added a loading component (`SkeletonList`) to display a placeholder UI during data fetching.\n - Other minor changes","shortMessageHtmlLink":"```"}},{"before":"714c7dc4f760b21d01778f3e93f3d608650d8d75","after":"a93f816ed50b0a83d485140eef0d40d150deb286","ref":"refs/heads/main","pushedAt":"2024-07-12T04:00:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"`edit items` (#3)\n\n- user can edit and add a item at the same time.\r\n- edit and deletion disabled while editing","shortMessageHtmlLink":"edit items (#3)"}},{"before":null,"after":"98aeaea974e257c6ea7b4c2850825aa2bc0c6cbd","ref":"refs/heads/editing-items","pushedAt":"2024-07-11T23:31:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"`edit items`\n- user can edit and add a item at the same time.\n- edit and deletion disabled while editing","shortMessageHtmlLink":"edit items"}},{"before":"9aa5df179061acee05bf1ea4fe219870d9072dc0","after":"714c7dc4f760b21d01778f3e93f3d608650d8d75","ref":"refs/heads/main","pushedAt":"2024-07-11T04:52:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"`close button for toaster`\n- prettier","shortMessageHtmlLink":"close button for toaster"}},{"before":"14729fc07f7572b9a2e5a953f33c4736120a2a3a","after":"9aa5df179061acee05bf1ea4fe219870d9072dc0","ref":"refs/heads/main","pushedAt":"2024-07-11T04:47:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"*`handle deletions` (#2)","shortMessageHtmlLink":"*handle deletions (#2)"}},{"before":null,"after":"fd66877f887400b8be582234cb8f4f0858ff635d","ref":"refs/heads/handleDelete","pushedAt":"2024-07-11T04:47:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"zenWai","name":"Presa","path":"/zenWai","primaryAvatarUrl":"https://github.com/avatars/u/124523559?s=80&v=4"},"commit":{"message":"*`handle deletions`","shortMessageHtmlLink":"*handle deletions"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yM1QxMjozMzoyNi4wMDAwMDBazwAAAASG1Xi2","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yM1QxMjozMzoyNi4wMDAwMDBazwAAAASG1Xi2","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0xMVQwNDo0NzoxMC4wMDAwMDBazwAAAAR8as1P"}},"title":"Activity · zenWai/List-with-Postgres-and-useOptimistic-nextjs15-react19"}