After (probably) one hour, when repository wants to refresh the token, it errors with 401
.
I/flutter ( 6798): Closure: (Store<ReddigramState>) => Null
E/flutter ( 6798): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: DioError [DioErrorType.RESPONSE]: Http status error [401]
E/flutter ( 6798): #0 Dio._makeRequest (package:dio/src/dio.dart:795:16)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #1 Dio._request.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:707:22)
E/flutter ( 6798): #2 _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 6798): #3 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 6798): #4 _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 6798): #5 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 6798): #6 Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 6798): #7 Future._complete (dart:async/future_impl.dart:473:7)
E/flutter ( 6798): #8 _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
E/flutter ( 6798): #9 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:28:18)
E/flutter ( 6798): #10 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:294:13)
E/flutter ( 6798): #11 Dio._executeInterceptors (package:dio/src/dio.dart)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #12 Dio._request.<anonymous closure> (package:dio/src/dio.dart:699:20)
E/flutter ( 6798): #13 Dio._checkIfNeedEnqueue (package:dio/src/dio.dart:980:22)
E/flutter ( 6798): #14 Dio._request (package:dio/src/dio.dart:698:9)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #15 Dio.request (package:dio/src/dio.dart:606:12)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #16 Dio.post (package:dio/src/dio.dart:128:12)
E/flutter ( 6798): #17 RedditRepository._post (package:reddigram/api/reddit_repository.dart:53:20)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #18 RedditRepository.refreshAccessToken (package:reddigram/api/reddit_repository.dart:67:12)
E/flutter ( 6798): #19 new RedditRepository.<anonymous closure> (package:reddigram/api/reddit_repository.dart:31:17)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #20 InterceptorsWrapper.onRequest (package:dio/src/interceptor.dart:105:14)
E/flutter ( 6798): #21 Dio._request.<anonymous closure>.<anonymous closure> (package:dio/src/dio.dart:700:60)
E/flutter ( 6798): #22 Dio._executeInterceptors (package:dio/src/dio.dart:649:38)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #23 Dio._request.<anonymous closure> (package:dio/src/dio.dart:699:20)
E/flutter ( 6798): #24 Dio._checkIfNeedEnqueue (package:dio/src/dio.dart:980:22)
E/flutter ( 6798): #25 Dio._request (package:dio/src/dio.dart:698:9)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #26 Dio.request (package:dio/src/dio.dart:606:12)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #27 Dio.get (package:dio/src/dio.dart:94:12)
E/flutter ( 6798): #28 RedditRepository.feed (package:reddigram/api/reddit_repository.dart:127:10)
E/flutter ( 6798): <asynchronous suspension>
E/flutter ( 6798): #29 fetchFreshFeed.<anonymous closure> (package:reddigram/store/feeds/actions.dart:37:24)
E/flutter ( 6798): #30 thunkMiddleware (package:redux_thunk/redux_thunk.dart:45:11)
E/flutter ( 6798): #31 Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
E/flutter ( 6798): #32 main.<anonymous closure> (package:reddigram/main.dart:21:13)
E/flutter ( 6798): #33 Store._createDispatchers.<anonymous closure> (package:redux/src/store.dart:238:43)
E/flutter ( 6798): #34 Store.dispatch (package:redux/src/store.dart:250:20)
E/flutter ( 6798): #35 new _BodyViewModel.fromStore.<anonymous closure> (package:reddigram/screens/main/feed_tab.dart:101:17)
E/flutter ( 6798): #36 _FeedTabState.build.<anonymous closure>.<anonymous closure> (package:reddigram/screens/main/feed_tab.dart:33:16)
E/flutter ( 6798): #37 RefreshIndicatorState._show.<anonymous closure> (package:flutter/src/material/refresh_indicator.dart:357:53)
E/flutter ( 6798): #38 _rootRunUnary (dart:async/zone.dart:1132:38)
E/flutter ( 6798): #39 _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter ( 6798): #40 _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
E/flutter ( 6798): #41 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
E/flutter ( 6798): #42 Future._propagateToListeners (dart:async/future_impl.dart:668:32)
E/flutter ( 6798): #43 Future._completeWithValue (dart:async/future_impl.dart:483:5)
E/flutter ( 6798): #44 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:513:7)
E/flutter ( 6798): #45 _rootRun (dart:async/zone.dart:1124:13)
E/flutter ( 6798): #46 _CustomZone.run (dart:async/zone.dart:1021:19)
E/flutter ( 6798): #47 _CustomZone.runGuarded (dart:async/zone.dart:923:7)
E/flutter ( 6798): #48 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
(...)