diff --git a/install_dependencies.sh b/install_dependencies.sh deleted file mode 100755 index ed3818f..0000000 --- a/install_dependencies.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash -pushd packages/paperless_api -flutter pub get -flutter pub run build_runner build --delete-conflicting-outputs -popd -flutter pub get -flutter pub run build_runner build --delete-conflicting-outputs -flutter pub run intl_utils:generate \ No newline at end of file diff --git a/lib/core/interceptor/dio_http_error_interceptor.dart b/lib/core/interceptor/dio_http_error_interceptor.dart index 7e67790..b5a0700 100644 --- a/lib/core/interceptor/dio_http_error_interceptor.dart +++ b/lib/core/interceptor/dio_http_error_interceptor.dart @@ -22,7 +22,7 @@ class DioHttpErrorInterceptor extends Interceptor { DioError( error: const PaperlessServerException(ErrorCode.deviceOffline), requestOptions: err.requestOptions, - type: DioErrorType.connectTimeout, + type: DioErrorType.connectionTimeout, ), ); } @@ -52,7 +52,7 @@ class DioHttpErrorInterceptor extends Interceptor { DioError( error: errorMessages, requestOptions: err.requestOptions, - type: DioErrorType.response, + type: DioErrorType.badResponse, ), ); } @@ -66,7 +66,7 @@ class DioHttpErrorInterceptor extends Interceptor { handler.reject( DioError( requestOptions: err.requestOptions, - type: DioErrorType.response, + type: DioErrorType.badResponse, error: const PaperlessServerException( ErrorCode.missingClientCertificate), ), diff --git a/lib/core/interceptor/retry_on_connection_change_interceptor.dart b/lib/core/interceptor/retry_on_connection_change_interceptor.dart index e6f90a6..6c78173 100644 --- a/lib/core/interceptor/retry_on_connection_change_interceptor.dart +++ b/lib/core/interceptor/retry_on_connection_change_interceptor.dart @@ -28,10 +28,12 @@ class RetryOnConnectionChangeInterceptor extends Interceptor { } bool _shouldRetryOnHttpException(DioError err) { - return err.type == DioErrorType.other && - ((err.error is HttpException && - err.message.contains( - 'Connection closed before full header was received'))); + return err.type == DioErrorType.unknown && + (err.error is HttpException && + (err.message?.contains( + 'Connection closed before full header was received', + ) ?? + false)); } } diff --git a/lib/core/interceptor/server_reachability_error_interceptor.dart b/lib/core/interceptor/server_reachability_error_interceptor.dart index bfc4183..a895451 100644 --- a/lib/core/interceptor/server_reachability_error_interceptor.dart +++ b/lib/core/interceptor/server_reachability_error_interceptor.dart @@ -19,7 +19,7 @@ class ServerReachabilityErrorInterceptor extends Interceptor { ); } } - if (err.type == DioErrorType.connectTimeout) { + if (err.type == DioErrorType.connectionTimeout) { return _rejectWithStatus( ReachabilityStatus.connectionTimeout, err, @@ -55,6 +55,6 @@ void _rejectWithStatus( error: reachabilityStatus, requestOptions: err.requestOptions, response: err.response, - type: DioErrorType.other, + type: DioErrorType.unknown, )); } diff --git a/lib/core/security/session_manager.dart b/lib/core/security/session_manager.dart index bb57078..8cbc96d 100644 --- a/lib/core/security/session_manager.dart +++ b/lib/core/security/session_manager.dart @@ -1,9 +1,8 @@ import 'dart:io'; -import 'package:dio/adapter.dart'; import 'package:dio/dio.dart'; +import 'package:dio/io.dart'; import 'package:paperless_api/paperless_api.dart'; -import 'package:paperless_mobile/core/interceptor/dio_http_error_interceptor.dart'; import 'package:paperless_mobile/core/interceptor/retry_on_connection_change_interceptor.dart'; import 'package:paperless_mobile/features/login/model/client_certificate.dart'; import 'package:pretty_dio_logger/pretty_dio_logger.dart'; @@ -20,9 +19,9 @@ class SessionManager { static Dio _initDio(List interceptors) { //en- and decoded by utf8 by default final Dio dio = Dio(BaseOptions()); - dio.options.receiveTimeout = const Duration(seconds: 25).inMilliseconds; + dio.options.receiveTimeout = const Duration(seconds: 25); dio.options.responseType = ResponseType.json; - (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = + (dio.httpClientAdapter as IOHttpClientAdapter).onHttpClientCreate = (client) => client..badCertificateCallback = (cert, host, port) => true; dio.interceptors.addAll([ ...interceptors, @@ -59,7 +58,7 @@ class SessionManager { clientCertificate.bytes, password: clientCertificate.passphrase, ); - final adapter = DefaultHttpClientAdapter() + final adapter = IOHttpClientAdapter() ..onHttpClientCreate = (client) => HttpClient(context: context) ..badCertificateCallback = (X509Certificate cert, String host, int port) => true; @@ -81,7 +80,7 @@ class SessionManager { } void resetSettings() { - client.httpClientAdapter = DefaultHttpClientAdapter(); + client.httpClientAdapter = IOHttpClientAdapter(); client.options.baseUrl = ''; client.options.headers.remove('Authorization'); serverInformation = PaperlessServerInformationModel(); diff --git a/lib/core/service/connectivity_status_service.dart b/lib/core/service/connectivity_status_service.dart index dca7eae..58967cb 100644 --- a/lib/core/service/connectivity_status_service.dart +++ b/lib/core/service/connectivity_status_service.dart @@ -1,8 +1,6 @@ -import 'dart:developer'; import 'dart:io'; import 'package:connectivity_plus/connectivity_plus.dart'; -import 'package:dio/adapter.dart'; import 'package:dio/dio.dart'; import 'package:paperless_mobile/core/global/os_error_codes.dart'; import 'package:paperless_mobile/core/interceptor/server_reachability_error_interceptor.dart'; @@ -71,8 +69,8 @@ class ConnectivityStatusServiceImpl implements ConnectivityStatusService { SessionManager manager = SessionManager([ServerReachabilityErrorInterceptor()]) ..updateSettings(clientCertificate: clientCertificate) - ..client.options.connectTimeout = 5000 - ..client.options.receiveTimeout = 5000; + ..client.options.connectTimeout = const Duration(seconds: 5) + ..client.options.receiveTimeout = const Duration(seconds: 5); final response = await manager.client.get('$serverAddress/api/'); if (response.statusCode == 200) { @@ -80,7 +78,7 @@ class ConnectivityStatusServiceImpl implements ConnectivityStatusService { } return ReachabilityStatus.notReachable; } on DioError catch (error) { - if (error.type == DioErrorType.other && + if (error.type == DioErrorType.unknown && error.error is ReachabilityStatus) { return error.error as ReachabilityStatus; } diff --git a/lib/features/documents/view/pages/documents_page.dart b/lib/features/documents/view/pages/documents_page.dart index 140c999..e2a5aae 100644 --- a/lib/features/documents/view/pages/documents_page.dart +++ b/lib/features/documents/view/pages/documents_page.dart @@ -242,13 +242,6 @@ class _DocumentsPageState extends State children: [ Builder( builder: (context) { - final itemHeight = - MediaQuery.sizeOf(context).height - - MediaQuery.viewInsetsOf(context).bottom - - MediaQuery.viewInsetsOf(context).top - - kToolbarHeight - - kTextTabBarHeight - - 56; return RefreshIndicator( edgeOffset: kToolbarHeight + kTextTabBarHeight, onRefresh: _onReloadDocuments, @@ -281,7 +274,6 @@ class _DocumentsPageState extends State return SliverAdaptiveDocumentsView( viewType: state.viewType, - maxItemExtent: itemHeight, onTap: _openDetails, onSelected: context .read() diff --git a/lib/features/documents/view/widgets/adaptive_documents_view.dart b/lib/features/documents/view/widgets/adaptive_documents_view.dart index be9338f..0a6ea83 100644 --- a/lib/features/documents/view/widgets/adaptive_documents_view.dart +++ b/lib/features/documents/view/widgets/adaptive_documents_view.dart @@ -23,7 +23,6 @@ abstract class AdaptiveDocumentsView extends StatelessWidget { final void Function(int? id)? onCorrespondentSelected; final void Function(int? id)? onDocumentTypeSelected; final void Function(int? id)? onStoragePathSelected; - final double maxItemExtent; bool get showLoadingPlaceholder => (!hasLoaded && isLoading); const AdaptiveDocumentsView({ @@ -42,7 +41,6 @@ abstract class AdaptiveDocumentsView extends StatelessWidget { required this.isLoading, required this.hasLoaded, this.enableHeroAnimation = true, - required this.maxItemExtent, }); } @@ -63,7 +61,6 @@ class SliverAdaptiveDocumentsView extends AdaptiveDocumentsView { super.enableHeroAnimation, required super.isLoading, required super.hasLoaded, - super.maxItemExtent = double.infinity, }); @override @@ -112,8 +109,7 @@ class SliverAdaptiveDocumentsView extends AdaptiveDocumentsView { //TODO: Build detailed loading animation return DocumentsListLoadingWidget.sliver(); } - return SliverFixedExtentList( - itemExtent: maxItemExtent, + return SliverList( delegate: SliverChildBuilderDelegate( childCount: documents.length, (context, index) { @@ -189,7 +185,6 @@ class DefaultAdaptiveDocumentsView extends AdaptiveDocumentsView { super.selectedDocumentIds, super.viewType, super.enableHeroAnimation = true, - super.maxItemExtent = double.infinity, }); @override diff --git a/packages/paperless_api/lib/src/modules/authentication_api/authentication_api_impl.dart b/packages/paperless_api/lib/src/modules/authentication_api/authentication_api_impl.dart index 171f67d..d2b313d 100644 --- a/packages/paperless_api/lib/src/modules/authentication_api/authentication_api_impl.dart +++ b/packages/paperless_api/lib/src/modules/authentication_api/authentication_api_impl.dart @@ -24,7 +24,7 @@ class PaperlessAuthenticationApiImpl implements PaperlessAuthenticationApi { } on DioError catch (error) { if (error.error is PaperlessServerException || error.error is Map) { - throw error.error; + throw error.error as Map; } else { throw PaperlessServerException( ErrorCode.authenticationFailed, diff --git a/packages/paperless_api/lib/src/modules/documents_api/paperless_documents_api_impl.dart b/packages/paperless_api/lib/src/modules/documents_api/paperless_documents_api_impl.dart index 0536ddb..f4e74d0 100644 --- a/packages/paperless_api/lib/src/modules/documents_api/paperless_documents_api_impl.dart +++ b/packages/paperless_api/lib/src/modules/documents_api/paperless_documents_api_impl.dart @@ -2,14 +2,10 @@ import 'dart:convert'; import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; -import 'package:intl/intl.dart'; import 'package:paperless_api/paperless_api.dart'; import 'package:paperless_api/src/constants.dart'; -import 'package:paperless_api/src/converters/local_date_time_json_converter.dart'; class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { - static const _dateTimeConverter = LocalDateTimeJsonConverter(); - final Dio client; PaperlessDocumentsApiImpl(this.client); @@ -65,7 +61,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { ); } } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -82,7 +78,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { throw const PaperlessServerException(ErrorCode.documentUpdateFailed); } } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -109,7 +105,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { throw const PaperlessServerException(ErrorCode.documentLoadFailed); } } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -123,7 +119,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { } throw const PaperlessServerException(ErrorCode.documentDeleteFailed); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -150,7 +146,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { } throw const PaperlessServerException(ErrorCode.documentPreviewFailed); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -172,7 +168,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { } on PaperlessServerException { throw const PaperlessServerException(ErrorCode.documentAsnQueryFailed); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -191,7 +187,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { ); } } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -204,7 +200,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { ); return response.data; } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -218,7 +214,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { response.data as Map, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -237,7 +233,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { } throw const PaperlessServerException(ErrorCode.autocompleteQueryError); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -252,7 +248,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { } throw const PaperlessServerException(ErrorCode.suggestionsQueryError); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -266,7 +262,7 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi { return null; } } on DioError catch (err) { - throw err.error; + throw err.error!; } } } diff --git a/packages/paperless_api/lib/src/modules/labels_api/paperless_labels_api_impl.dart b/packages/paperless_api/lib/src/modules/labels_api/paperless_labels_api_impl.dart index 1bff1ca..5af3579 100644 --- a/packages/paperless_api/lib/src/modules/labels_api/paperless_labels_api_impl.dart +++ b/packages/paperless_api/lib/src/modules/labels_api/paperless_labels_api_impl.dart @@ -103,7 +103,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -122,7 +122,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -142,7 +142,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -160,7 +160,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -178,7 +178,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -195,7 +195,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -215,7 +215,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -235,7 +235,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -256,7 +256,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -273,7 +273,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -316,7 +316,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -333,7 +333,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi { } throw const PaperlessServerException(ErrorCode.unknown); } on DioError catch (err) { - throw err.error; + throw err.error!; } } } diff --git a/packages/paperless_api/lib/src/modules/saved_views_api/paperless_saved_views_api_impl.dart b/packages/paperless_api/lib/src/modules/saved_views_api/paperless_saved_views_api_impl.dart index 21a5693..609f750 100644 --- a/packages/paperless_api/lib/src/modules/saved_views_api/paperless_saved_views_api_impl.dart +++ b/packages/paperless_api/lib/src/modules/saved_views_api/paperless_saved_views_api_impl.dart @@ -39,7 +39,7 @@ class PaperlessSavedViewsApiImpl implements PaperlessSavedViewsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -55,7 +55,7 @@ class PaperlessSavedViewsApiImpl implements PaperlessSavedViewsApi { httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } diff --git a/packages/paperless_api/lib/src/request_utils.dart b/packages/paperless_api/lib/src/request_utils.dart index 12add18..0972fcc 100644 --- a/packages/paperless_api/lib/src/request_utils.dart +++ b/packages/paperless_api/lib/src/request_utils.dart @@ -29,7 +29,7 @@ Future getSingleResult( httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } @@ -66,12 +66,13 @@ Future> getCollection( httpStatusCode: response.statusCode, ); } on DioError catch (err) { - throw err.error; + throw err.error!; } } List _collectionFromJson( - _CollectionFromJsonSerializationParams params) { + _CollectionFromJsonSerializationParams params, +) { return params.list.map((result) => params.fromJson(result)).toList(); } diff --git a/packages/paperless_api/pubspec.yaml b/packages/paperless_api/pubspec.yaml index 396538a..9685b52 100644 --- a/packages/paperless_api/pubspec.yaml +++ b/packages/paperless_api/pubspec.yaml @@ -17,7 +17,7 @@ dependencies: http: ^0.13.5 json_annotation: ^4.7.0 intl: ^0.17.0 - dio: ^4.0.6 + dio: ^5.0.0 collection: ^1.17.0 jiffy: ^5.0.0 diff --git a/pubspec.lock b/pubspec.lock index eb5bbcc..0f03455 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: args - sha256: "139d809800a412ebb26a3892da228b2d0ba36f0ef5d9a82166e5e52ec8d61611" + sha256: "4cab82a83ffef80b262ddedf47a0a8e56ee6fbf7fe21e6e768b02792034dd440" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" asn1lib: dependency: transitive description: @@ -101,18 +101,18 @@ packages: dependency: transitive description: name: bloc - sha256: bd4f8027bfa60d96c8046dec5ce74c463b2c918dce1b0d36593575995344534a + sha256: "658a5ae59edcf1e58aac98b000a71c762ad8f46f1394c34a52050cafb3e11a80" url: "https://pub.dev" source: hosted - version: "8.1.0" + version: "8.1.1" bloc_test: dependency: "direct dev" description: name: bloc_test - sha256: "622b97678bf8c06a94f4c26a89ee9ebf7319bf775383dee2233e86e1f94ee28d" + sha256: ffbb60c17ee3d8e3784cb78071088e353199057233665541e8ac6cd438dca8ad url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "9.1.1" boolean_selector: dependency: transitive description: @@ -245,58 +245,26 @@ packages: dependency: "direct main" description: name: collection - sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 url: "https://pub.dev" source: hosted - version: "1.17.1" + version: "1.17.0" connectivity_plus: dependency: "direct main" description: name: connectivity_plus - sha256: "3f8fe4e504c2d33696dac671a54909743bc6a902a9bb0902306f7a2aed7e528e" + sha256: "8875e8ed511a49f030e313656154e4bbbcef18d68dfd32eb853fac10bce48e96" url: "https://pub.dev" source: hosted - version: "2.3.9" - connectivity_plus_linux: - dependency: transitive - description: - name: connectivity_plus_linux - sha256: "3caf859d001f10407b8e48134c761483e4495ae38094ffcca97193f6c271f5e2" - url: "https://pub.dev" - source: hosted - version: "1.3.1" - connectivity_plus_macos: - dependency: transitive - description: - name: connectivity_plus_macos - sha256: "488d2de1e47e1224ad486e501b20b088686ba1f4ee9c4420ecbc3b9824f0b920" - url: "https://pub.dev" - source: hosted - version: "1.2.6" + version: "3.0.3" connectivity_plus_platform_interface: dependency: transitive description: name: connectivity_plus_platform_interface - sha256: b8795b9238bf83b64375f63492034cb3d8e222af4d9ce59dda085edf038fa06f + sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a url: "https://pub.dev" source: hosted - version: "1.2.3" - connectivity_plus_web: - dependency: transitive - description: - name: connectivity_plus_web - sha256: "81332be1b4baf8898fed17bb4fdef27abb7c6fd990bf98c54fd978478adf2f1a" - url: "https://pub.dev" - source: hosted - version: "1.2.5" - connectivity_plus_windows: - dependency: transitive - description: - name: connectivity_plus_windows - sha256: "535b0404b4d5605c4dd8453d67e5d6d2ea0dd36e3b477f50f31af51b0aeab9dd" - url: "https://pub.dev" - source: hosted - version: "1.2.2" + version: "1.2.4" convert: dependency: transitive description: @@ -309,10 +277,10 @@ packages: dependency: transitive description: name: coverage - sha256: "961c4aebd27917269b1896382c7cb1b1ba81629ba669ba09c27a7e5710ec9040" + sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" url: "https://pub.dev" source: hosted - version: "1.6.2" + version: "1.6.3" cross_file: dependency: transitive description: @@ -341,18 +309,18 @@ packages: dependency: "direct dev" description: name: dart_code_metrics - sha256: bb4ec5e729788dde5f7e8e9df4c05ec3b78532a5763e635337153ce40085514b + sha256: "026e28da197a03caeccccc0b174ec98ef03da3c81c4543314d7add121aab4375" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.6.0" dart_code_metrics_presets: dependency: transitive description: name: dart_code_metrics_presets - sha256: "43dc1fdcb424fc3aa79964304d09eeda4f199351c52cdc854f8228a9d0296b60" + sha256: "9c51724f836aebc4465228954cb5757e5a99737af26a452b5dec0a2d5d0b4d66" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" dart_style: dependency: transitive description: @@ -437,10 +405,10 @@ packages: dependency: "direct main" description: name: dio - sha256: "7d328c4d898a61efc3cd93655a0955858e29a0aa647f0f9e02d59b3bb275e2e8" + sha256: "9fdbf71baeb250fc9da847f6cb2052196f62c19906a3657adfc18631a667d316" url: "https://pub.dev" source: hosted - version: "4.0.6" + version: "5.0.0" dots_indicator: dependency: transitive description: @@ -547,10 +515,10 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: "890c51c8007f0182360e523518a0c732efb89876cb4669307af7efada5b55557" + sha256: "434951eea948dbe87f737b674281465f610b8259c16c097b8163ce138749a775" url: "https://pub.dev" source: hosted - version: "8.1.1" + version: "8.1.2" flutter_blurhash: dependency: transitive description: @@ -735,18 +703,18 @@ packages: dependency: "direct main" description: name: fluttertoast - sha256: "7cc92eabe01e3f1babe1571c5560b135dfc762a34e41e9056881e2196b178ec1" + sha256: "774fa28b07f3a82c93596bc137be33189fec578ed3447a93a5a11c93435de394" url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.1.3" font_awesome_flutter: dependency: "direct main" description: name: font_awesome_flutter - sha256: "875dbb9ec1ad30d68102019ceb682760d06c72747c1c5b7885781b95f88569cc" + sha256: "959ef4add147753f990b4a7c6cccb746d5792dbdc81b1cde99e62e7edb31b206" url: "https://pub.dev" source: hosted - version: "10.3.0" + version: "10.4.0" form_builder_validators: dependency: "direct main" description: @@ -836,10 +804,10 @@ packages: dependency: "direct main" description: name: hydrated_bloc - sha256: "5871204f14b24638dc9d18d5b94cf22a66fc4be40756925cafff3a7553c7d7b7" + sha256: eb92d88061b6b911c48779b08a91c8a9f3a3aa8475f80d9380045375d9876536 url: "https://pub.dev" source: hosted - version: "9.0.0" + version: "9.1.0" image: dependency: "direct main" description: @@ -897,10 +865,10 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.6.5" json_annotation: dependency: "direct main" description: @@ -937,10 +905,10 @@ packages: dependency: transitive description: name: local_auth_android - sha256: ba48fe0e1cae140a0813ce68c2540250d7f573a8ae4d4b6c681b2d2583584953 + sha256: cfcbc4936e288d61ef85a04feef6b95f49ba496d4fd98364e6abafb462b06a1f url: "https://pub.dev" source: hosted - version: "1.0.17" + version: "1.0.18" local_auth_ios: dependency: transitive description: @@ -977,10 +945,10 @@ packages: dependency: transitive description: name: matcher - sha256: c94db23593b89766cda57aab9ac311e3616cf87c6fa4e9749df032f66f30dcb8 + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" url: "https://pub.dev" source: hosted - version: "0.12.14" + version: "0.12.13" material_color_utilities: dependency: transitive description: @@ -993,10 +961,10 @@ packages: dependency: transitive description: name: meta - sha256: "12307e7f0605ce3da64cf0db90e5fcab0869f3ca03f76be6bb2991ce0a55e82b" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.8.0" mime: dependency: "direct main" description: @@ -1128,10 +1096,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.8.2" path_drawing: dependency: transitive description: @@ -1176,10 +1144,10 @@ packages: dependency: transitive description: name: path_provider_linux - sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379 + sha256: "2e32f1640f07caef0d3cb993680f181c79e54a3827b997d5ee221490d131fbd9" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.1.8" path_provider_platform_interface: dependency: transitive description: @@ -1312,10 +1280,10 @@ packages: dependency: "direct main" description: name: pretty_dio_logger - sha256: "948f7eeb36e7aa0760b51c1a8e3331d4b21e36fabd39efca81f585ed93893544" + sha256: "00b80053063935cf9a6190da344c5373b9d0e92da4c944c878ff2fbef0ef6dc2" url: "https://pub.dev" source: hosted - version: "1.2.0-beta-1" + version: "1.3.1" process: dependency: transitive description: @@ -1392,10 +1360,10 @@ packages: dependency: "direct main" description: name: share_plus - sha256: e387077716f80609bb979cd199331033326033ecd1c8f200a90c5f57b1c9f55e + sha256: "8c6892037b1824e2d7e8f59d54b3105932899008642e6372e5079c6939b4b625" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.1" share_plus_platform_interface: dependency: transitive description: @@ -1621,26 +1589,26 @@ packages: dependency: transitive description: name: test - sha256: b54d427664c00f2013ffb87797a698883c46aee9288e027a50b46eaee7486fa2 + sha256: a5fcd2d25eeadbb6589e80198a47d6a464ba3e2049da473943b8af9797900c2d url: "https://pub.dev" source: hosted - version: "1.22.2" + version: "1.22.0" test_api: dependency: transitive description: name: test_api - sha256: "6182294da5abf431177fccc1ee02401f6df30f766bc6130a0852c6b6d7ee6b2d" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 url: "https://pub.dev" source: hosted - version: "0.4.18" + version: "0.4.16" test_core: dependency: transitive description: name: test_core - sha256: "95ecc12692d0dd59080ab2d38d9cf32c7e9844caba23ff6cd285690398ee8ef4" + sha256: "0ef9755ec6d746951ba0aabe62f874b707690b5ede0fecc818b138fcc9b14888" url: "https://pub.dev" source: hosted - version: "0.4.22" + version: "0.4.20" timezone: dependency: transitive description: @@ -1685,10 +1653,10 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "698fa0b4392effdc73e9e184403b627362eb5fbf904483ac9defbb1c2191d809" + sha256: e8f2efc804810c0f2f5b485f49e7942179f56eabcfe81dce3387fec4bb55876b url: "https://pub.dev" source: hosted - version: "6.1.8" + version: "6.1.9" url_launcher_android: dependency: transitive description: @@ -1701,10 +1669,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: bb328b24d3bccc20bdf1024a0990ac4f869d57663660de9c936fb8c043edefe3 + sha256: "0a5af0aefdd8cf820dd739886efb1637f1f24489900204f50984634c07a54815" url: "https://pub.dev" source: hosted - version: "6.0.18" + version: "6.1.0" url_launcher_linux: dependency: transitive description: @@ -1765,10 +1733,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "2277c73618916ae3c2082b6df67b6ebb64b4c69d9bf23b23700707952ac30e60" + sha256: e7fb6c2282f7631712b69c19d1bff82f3767eea33a2321c14fa59ad67ea391c7 url: "https://pub.dev" source: hosted - version: "10.1.2" + version: "9.4.0" watcher: dependency: transitive description: @@ -1789,10 +1757,10 @@ packages: dependency: transitive description: name: webdriver - sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" + sha256: ef67178f0cc7e32c1494645b11639dd1335f1d18814aa8435113a92e9ef9d841 url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.0.1" webkit_inspection_protocol: dependency: transitive description: @@ -1834,5 +1802,5 @@ packages: source: hosted version: "3.1.1" sdks: - dart: ">=2.19.0 <4.0.0" + dart: ">=2.19.0 <3.0.0" flutter: ">=3.4.0-17.0.pre" diff --git a/pubspec.yaml b/pubspec.yaml index 4f284a5..035c1c5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: package_info_plus: ^1.4.3+1 font_awesome_flutter: ^10.1.0 local_auth: ^2.1.2 - connectivity_plus: ^2.3.9 + connectivity_plus: ^3.0.3 flutter_native_splash: ^2.2.11 share_plus: ^6.2.0 @@ -77,7 +77,7 @@ dependencies: badges: ^2.0.3 flutter_colorpicker: ^1.0.3 provider: ^6.0.5 - dio: ^4.0.6 + dio: ^5.0.0 hydrated_bloc: ^9.0.0 json_annotation: ^4.7.0 pretty_dio_logger: ^1.2.0-beta-1 diff --git a/scripts/install_dependencies.sh b/scripts/install_dependencies.sh new file mode 100644 index 0000000..74306ac --- /dev/null +++ b/scripts/install_dependencies.sh @@ -0,0 +1,11 @@ +#!/bin/bash +# Uses flutter submodule dependency +git submodules update --init +pushd ../ +pushd packages/paperless_api +../../flutter/bin/flutter pub get +../../flutter/bin/flutter pub run build_runner build --delete-conflicting-outputs +popd +flutter/bin/flutter pub get +flutter/bin/flutter pub run build_runner build --delete-conflicting-outputs +flutter/bin/flutter pub run intl_utils:generate