{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":459186377,"defaultBranch":"main","name":"complete-flutter-course","ownerLogin":"bizz84","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-02-14T14:04:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/153167?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1715864802.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"28a5b040826b205e9ab2848e6d6067229de9e805","ref":"refs/heads/update-november-2023","pushedAt":"2024-05-16T13:06:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Update macOS files","shortMessageHtmlLink":"Update macOS files"}},{"before":"d39139a8e12f6e5a421af947820d73f0bff40a8e","after":"01484d847353c42b967fa1297af05fe8f9f911f8","ref":"refs/heads/section13-riverpod-generator-refactor","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Update providers for all the repositories and service classes to the new Riverpod Generator syntax","shortMessageHtmlLink":"Update providers for all the repositories and service classes to the …"}},{"before":"f85c365c6a0a5e798c325601a13570962e18107c","after":"05e9f3590d529d36f9467c2a2b1f0b4d5db68857","ref":"refs/heads/section11-submit-form-data","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Update controller to avoid submitting the review if the data hasn't changed","shortMessageHtmlLink":"Update controller to avoid submitting the review if the data hasn't c…"}},{"before":"b21ec33607f0a1904548bac0e592bfc418f13323","after":"0c521773a1bb57340c1e7aa445a36c085ff682b4","ref":"refs/heads/section02-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Disable debugLogDiagnostics, remove key: state.pageKey arguments","shortMessageHtmlLink":"Disable debugLogDiagnostics, remove key: state.pageKey arguments"}},{"before":"45201fa584047fa68e5bc086b686105d54ada523","after":"1139c3c0f9bdfaa9970fcba1429d6516beb823a2","ref":"refs/heads/section13-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Remove EmailPasswordSignInState, refactor email & password feature to use AsyncValue as state\n\n# Conflicts:\n#\tecommerce_app/test/src/features/authentication/presentation/sign_in/email_password_sign_in_controller_test.dart","shortMessageHtmlLink":"Remove EmailPasswordSignInState, refactor email & password feature to…"}},{"before":"9f2bff2a2b10f5985ab6ce90cd1ec2a5c1778b58","after":"11ea68e664d86cbc0df08db1cf483f5c447cf948","ref":"refs/heads/section08-end-part-1","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Implemented cart service tests","shortMessageHtmlLink":"Implemented cart service tests"}},{"before":"ea2e9f86740a6f9bd8b806e3b463949e5111993d","after":"140f7b95d76f7a59984fe35670a2b6f5e73d717a","ref":"refs/heads/section05-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Use refreshListenable with GoRouterRefreshStream\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/authentication/presentation/account/account_screen.dart\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/authentication/presentation/account/account_screen.dart\n#\tecommerce_app/lib/src/features/authentication/presentation/sign_in/email_password_sign_in_screen.dart","shortMessageHtmlLink":"Use refreshListenable with GoRouterRefreshStream"}},{"before":"d7ba6110983d4f3cc964eb68c1c449fdba41ebf3","after":"14275080838ad8128f6c1d00638aa185de892d2f","ref":"refs/heads/section04-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add AsyncValueWidget and use it in the product widgets\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/orders/presentation/orders_list/order_item_list_tile.dart","shortMessageHtmlLink":"Add AsyncValueWidget and use it in the product widgets"}},{"before":"75c6213f2075d7e69b943004c1f535041a9881eb","after":"146fa8166d16dd9e3a632fb8b8a2c1e3a59b7e83","ref":"refs/heads/main","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Added may 2024 update notes","shortMessageHtmlLink":"Added may 2024 update notes"}},{"before":"c077f144a70020c786f8ae5ff644cdb6c37936bc","after":"1d28ee4de59fee297a4a3e9a2330c120dcfd1ddd","ref":"refs/heads/section09-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Starter project section 9\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/orders/presentation/orders_list/orders_list_screen.dart","shortMessageHtmlLink":"Starter project section 9"}},{"before":"b2f7ad1fae74ca05cf4187ebe35f10b004e598db","after":"2726a4f8c0aa08736e428e11b4590dd41ec4293b","ref":"refs/heads/section06-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Update docs\n\n# Conflicts:\n#\tREADME.md\n\n# Conflicts:\n#\tREADME.md","shortMessageHtmlLink":"Update docs"}},{"before":"7fdde60a2a8e5ded1058f376dbeab50c20306beb","after":"2781644b0d649e0c4634197a83d69303241cdacd","ref":"refs/heads/section07-golden-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add auth flow integration test","shortMessageHtmlLink":"Add auth flow integration test"}},{"before":"db4ca3d106c05cf7d3d12e91227a7979aca2c9cb","after":"2af9fdef830d8bd4e1ae2c3fda41d1ec614be36a","ref":"refs/heads/section11-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Completed code and tests for section 11\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/products/presentation/product_screen/leave_review_action.dart\n#\tecommerce_app/lib/src/features/reviews/data/fake_purchases_repository.dart","shortMessageHtmlLink":"Completed code and tests for section 11"}},{"before":"5e855aba2e566ff03f1598385ed08c6d3b9fbe7f","after":"2ecdcf55b2bd8e583638dc3bdffe8f952afc532c","ref":"refs/heads/section11-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Starter project for section 11\n\n# Conflicts:\n#\tecommerce_app/lib/src/app.dart\n#\tecommerce_app/pubspec.lock\n#\tecommerce_app/pubspec.yaml","shortMessageHtmlLink":"Starter project for section 11"}},{"before":"d294f12df7ca7b4e7a386cc7bc3c2b91536a84a1","after":"307cf5472d9f0b0ef5655e7641f9b14192b604ef","ref":"refs/heads/section06-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add test workflow","shortMessageHtmlLink":"Add test workflow"}},{"before":"37653c934858754eee7bda5cdce27e9768b6a718","after":"52bcfa5ac9ecda2ac88cd96cf869dc00340f6e16","ref":"refs/heads/section13-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Updated unit tests for all AsyncNotifier subclasses\n\n# Conflicts:\n#\tecommerce_app/test/src/features/authentication/presentation/account/account_screen_controller_test.dart\n\n# Conflicts:\n#\tecommerce_app/test/src/features/cart/presentation/add_to_cart/add_to_cart_controller_test.dart","shortMessageHtmlLink":"Updated unit tests for all AsyncNotifier subclasses"}},{"before":"e3b099785bbe6ec957de7f28620b94792511f7f9","after":"533299e240d72e65e675b74c2729042bab3b9331","ref":"refs/heads/section10-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Revert \"Install multiple_result and use Result in the FakeAuthRepository\"\n\nThis reverts commit 437399507461e410f793c39cb5b9ef0cdc680a57.","shortMessageHtmlLink":"Revert \"Install multiple_result and use Result in the FakeAuthReposit…"}},{"before":"a965630d88d6489817d98ad90cc2f4a84a59e3e6","after":"57ec125375582968288a36b20cf4214cb924f523","ref":"refs/heads/section08-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Starter project for section 8 (#14)\n\n* Update MutableCart extension, add corresponding tests\n\n* Use dateFormatterProvider and currencyFormatterProvider rather than global formatters\n\n* Set addDelay to false for faster loading\n\n* Add FakeLocalCartRepository and FakeRemoteCartRepository\n\n* Cleanup LocalCartRepository, RemoteCartRepository\n\n* Update MutableCart extension and tests\n\n* Updated to latest package versions\n\n* Improved documentation\n\n# Conflicts:\n#\tecommerce_app/pubspec.lock\n#\tecommerce_app/pubspec.yaml","shortMessageHtmlLink":"Starter project for section 8 (#14)"}},{"before":"acac10408df7f07cb6d07979de3f71c690f5173a","after":"5d0948a393c5e53846c09df759760acf81c30c61","ref":"refs/heads/section10-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Starter project for section 10","shortMessageHtmlLink":"Starter project for section 10"}},{"before":"fa4607c8173e7a2211242db7c6a59fc1e74a4611","after":"7bd66058d3e18b6ad354ecca95ba1e045557329a","ref":"refs/heads/section05-refactor","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Use ref.listen with select() method","shortMessageHtmlLink":"Use ref.listen with select() method"}},{"before":"52ea6ba7b7b6ed25336052acf658a532f15c8bb6","after":"7ea90ace16086ecd5e0ddbeab69e54f7a2a7c945","ref":"refs/heads/section07-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add additional tests for EmailPasswordSignInContents, additional tester.pump() in signInWithEmailAndPassword helper","shortMessageHtmlLink":"Add additional tests for EmailPasswordSignInContents, additional test…"}},{"before":"820bba9d86a3ed9068187963242d686d4ebe6317","after":"8aaac191c5e6b44957ee431b1c0b02a019cfd08a","ref":"refs/heads/section07-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Use Navigator.of(context) inside showAlertDialog so MaterialApp.router is not needed in tests\n\n# Conflicts:\n#\tecommerce_app/lib/src/common_widgets/alert_dialogs.dart","shortMessageHtmlLink":"Use Navigator.of(context) inside showAlertDialog so MaterialApp.route…"}},{"before":"d5542f4eeded86f22c911fe2f3030121c1185904","after":"8aef35ad28dfb0a7321169fd2b8792a6fc59e422","ref":"refs/heads/section03-finished","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add fetchProductsList, watchProductsList, watchProduct","shortMessageHtmlLink":"Add fetchProductsList, watchProductsList, watchProduct"}},{"before":"ffb30d40efc90165e6eca12a830dfe4075e09fb3","after":"8e1beaf5677eff9b951185c7017452371c386e4e","ref":"refs/heads/section03-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Move to \"feature-first\" project structure (#7)\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/authentication/presentation/sign_in/email_password_sign_in_screen.dart","shortMessageHtmlLink":"Move to \"feature-first\" project structure (#7)"}},{"before":"05f653c7de6ede9b02a3d1e7f2935da0d09c4672","after":"95ff49526de6e06ba394bca304e9a6b301a97cd3","ref":"refs/heads/section04-refactor","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Use ConsumerWidget and Consumer to read productsRepositoryProvider\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/orders/presentation/orders_list/order_item_list_tile.dart\n#\tecommerce_app/lib/src/features/products/presentation/products_list/products_grid.dart\n\n# Conflicts:\n#\tecommerce_app/lib/src/features/products/presentation/product_screen/product_screen.dart","shortMessageHtmlLink":"Use ConsumerWidget and Consumer to read productsRepositoryProvider"}},{"before":"62feb08418a24f3e52960a804856c937fe9d87a5","after":"96bcc1d461b419d5704c728b119877498c970f2d","ref":"refs/heads/starter-project","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Recreate all target projects with flutter CLI, update icons","shortMessageHtmlLink":"Recreate all target projects with flutter CLI, update icons"}},{"before":"0e438c9f45716d8657a0d4ceff717eccca3fb454","after":"9ba69274bbb23295ab5da955ad77bf251eba0ad6","ref":"refs/heads/section04-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add lesson names for section 3","shortMessageHtmlLink":"Add lesson names for section 3"}},{"before":"31911964dca8aa94740a737d775fb18c0342fdb8","after":"a2eb904fcf84637582ae26fb4ba74603a7d212fe","ref":"refs/heads/section08-add-to-cart-done","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"autoDispose the addToCartControllerProvider + tests","shortMessageHtmlLink":"autoDispose the addToCartControllerProvider + tests"}},{"before":"2e6ea3591e58a71cc35fd8f076930585b295aa3b","after":"ba6a6e02221b032d6ec31f96c64d2da2e4a83905","ref":"refs/heads/section12-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add lesson names for section 11","shortMessageHtmlLink":"Add lesson names for section 11"}},{"before":"6f3d6d4754ed7dddc3b3077f7ea645f940318148","after":"c0418d718160e27da3a1ebeba31dc1047064b63c","ref":"refs/heads/section05-starter","pushedAt":"2024-05-16T13:05:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"bizz84","name":"Andrea Bizzotto","path":"/bizz84","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/153167?s=80&v=4"},"commit":{"message":"Add lesson names for section 4","shortMessageHtmlLink":"Add lesson names for section 4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAES6OfWgA","startCursor":null,"endCursor":null}},"title":"Activity · bizz84/complete-flutter-course"}