From 2d40fd1676ca036cf1927552016c3bb78362c92c Mon Sep 17 00:00:00 2001 From: Minyewoo Date: Fri, 24 Nov 2023 18:04:06 +0300 Subject: [PATCH 1/8] Upgraded to Dart 3 --- example/pubspec.yaml | 7 +++++-- pubspec.yaml | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 4cef891..86535e6 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0+1 publish_to: 'none' environment: - sdk: '>=2.18.2 <3.0.0' + sdk: '>=3.0.0 <4.0.0' dependencies: flutter: @@ -20,7 +20,10 @@ dependencies: git: url: https://github.com/a-givertzman/hmi_networking.git ref: master - fl_chart: ^0.55.1 + fl_chart: + git: + url: https://github.com/a-givertzman/fl_chart.git + ref: master another_flushbar: ^1.12.29 dev_dependencies: diff --git a/pubspec.yaml b/pubspec.yaml index ef382e8..4cd474b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ version: 0.0.1 homepage: https://github.com/a-givertzman/hmi_widgets environment: - sdk: '>=2.18.2 <3.0.0' + sdk: '>=3.0.0 <4.0.0' flutter: ">=1.17.0" dependencies: @@ -20,7 +20,7 @@ dev_dependencies: # flutter_lints: ^2.0.0 fl_chart: git: - url: https://github.com/a-givertzman/fl_chart + url: https://github.com/a-givertzman/fl_chart.git ref: master hmi_core: git: From d51b3e1cce835476163d92a7609caa170c8c1ed9 Mon Sep 17 00:00:00 2001 From: Minyewoo Date: Fri, 24 Nov 2023 18:04:33 +0300 Subject: [PATCH 2/8] Fixed deprecated textScaleFactor --- .../buttons/control_button/control_button_indicator.dart | 2 +- lib/src/core/overflowable_text.dart | 6 +++--- .../value_indicators/circular_value_indicator.dart | 4 ++-- .../indicators/value_indicators/text_value_indicator.dart | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/src/buttons/control_button/control_button_indicator.dart b/lib/src/buttons/control_button/control_button_indicator.dart index b2f9434..25f90fa 100644 --- a/lib/src/buttons/control_button/control_button_indicator.dart +++ b/lib/src/buttons/control_button/control_button_indicator.dart @@ -148,7 +148,7 @@ class _ControlButtonIndicatorState extends State with Ti child: Text( _stateText, style: stateTextStyle.apply(color: color), - textScaleFactor: _stateTextScaleFactor, + textScaler: TextScaler.linear(_stateTextScaleFactor), ), ), ], diff --git a/lib/src/core/overflowable_text.dart b/lib/src/core/overflowable_text.dart index 259df1a..bde2b76 100644 --- a/lib/src/core/overflowable_text.dart +++ b/lib/src/core/overflowable_text.dart @@ -63,7 +63,7 @@ class OverflowableText extends StatelessWidget { /// the specified font size. /// /// The value given to the constructor as textScaleFactor. If null, will - /// use the [MediaQueryData.textScaleFactor] obtained from the ambient + /// use the [MediaQueryData.textScaler] obtained from the ambient /// [MediaQuery], or 1.0 if there is no [MediaQuery] in scope. final double? textScaleFactor; @@ -163,7 +163,7 @@ class OverflowableText extends StatelessWidget { locale: locale, softWrap: softWrap, overflow: overflow, - textScaleFactor: textScaleFactor, + textScaler: textScaleFactor != null ? TextScaler.linear(textScaleFactor!) : null, maxLines: maxLines, semanticsLabel: semanticsLabel, textWidthBasis: textWidthBasis, @@ -180,7 +180,7 @@ class OverflowableText extends StatelessWidget { locale: locale, softWrap: softWrap, overflow: overflow, - textScaleFactor: textScaleFactor, + textScaler: textScaleFactor != null ? TextScaler.linear(textScaleFactor!) : null, maxLines: maxLines, semanticsLabel: semanticsLabel, textWidthBasis: textWidthBasis, diff --git a/lib/src/indicators/value_indicators/circular_value_indicator.dart b/lib/src/indicators/value_indicators/circular_value_indicator.dart index defd30b..e5c30f4 100644 --- a/lib/src/indicators/value_indicators/circular_value_indicator.dart +++ b/lib/src/indicators/value_indicators/circular_value_indicator.dart @@ -182,7 +182,7 @@ class CircularValueIndicator extends StatelessWidget { style: textStyle.copyWith( color: textStyle.color!.withOpacity(0.7), ), - textScaleFactor: 0.8 * 0.0168 * _size, + textScaler: TextScaler.linear(0.8 * 0.0168 * _size), ), ); } @@ -211,7 +211,7 @@ class CircularValueIndicator extends StatelessWidget { : textStyle, child: Text(valueText, textAlign: TextAlign.center, - textScaleFactor: 1.5 * 0.01618 * _size, + textScaler: TextScaler.linear(1.5 * 0.01618 * _size), ), ), ), diff --git a/lib/src/indicators/value_indicators/text_value_indicator.dart b/lib/src/indicators/value_indicators/text_value_indicator.dart index bd17836..4a5d20f 100644 --- a/lib/src/indicators/value_indicators/text_value_indicator.dart +++ b/lib/src/indicators/value_indicators/text_value_indicator.dart @@ -111,7 +111,7 @@ class _TextValueIndicatorState extends State { Text( value.toStringAsFixed(_fractionDigits), style: _textStyle.apply(color: color), - textScaleFactor: 1.5, + textScaler: TextScaler.linear(1.5), ), ..._buildUnitText(_valueUnit, color), ], @@ -125,7 +125,7 @@ class _TextValueIndicatorState extends State { Text( _valueUnit, style: _unitTextStyle.apply(color: color), - textScaleFactor: 1.5, + textScaler: TextScaler.linear(1.5), ), ]; } From 7724f7b3d8d097109cc68d8279eb57f5e40e4455 Mon Sep 17 00:00:00 2001 From: Minyewoo Date: Mon, 27 Nov 2023 14:06:45 +0300 Subject: [PATCH 3/8] Upgraded Result usage --- .../cases/max_length_validation_case.dart | 10 ++-- .../cases/min_length_validation_case.dart | 10 ++-- .../cases/only_digits_validation_case.dart | 10 ++-- .../validation/cases/validation_case.dart | 4 +- lib/src/core/validation/validator.dart | 5 +- .../network_edit_field.dart | 53 ++++++++++--------- .../max_length_validation_case_test.dart | 7 +-- .../min_length_validation_case_test.dart | 7 +-- .../only_digits_validation_case_test.dart | 7 +-- 9 files changed, 61 insertions(+), 52 deletions(-) diff --git a/lib/src/core/validation/cases/max_length_validation_case.dart b/lib/src/core/validation/cases/max_length_validation_case.dart index 32d5d67..669d103 100644 --- a/lib/src/core/validation/cases/max_length_validation_case.dart +++ b/lib/src/core/validation/cases/max_length_validation_case.dart @@ -1,4 +1,4 @@ -import 'package:hmi_core/hmi_core_result.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_core/hmi_core_failure.dart'; import 'validation_case.dart'; /// @@ -10,12 +10,12 @@ class MaxLengthValidationCase implements ValidationCase { _maxLength = maxLength; // @override - Result isSatisfiedBy(String? value) { + ResultF isSatisfiedBy(String? value) { if (value != null && value.length <= _maxLength) { - return Result(data: true); + return Ok(true); } - return Result( - error: Failure( + return Err( + Failure( message: 'Too many characters', stackTrace: StackTrace.current, ), diff --git a/lib/src/core/validation/cases/min_length_validation_case.dart b/lib/src/core/validation/cases/min_length_validation_case.dart index 8d49801..3464374 100644 --- a/lib/src/core/validation/cases/min_length_validation_case.dart +++ b/lib/src/core/validation/cases/min_length_validation_case.dart @@ -1,4 +1,4 @@ -import 'package:hmi_core/hmi_core_result.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_core/hmi_core_failure.dart'; import 'validation_case.dart'; /// @@ -10,12 +10,12 @@ class MinLengthValidationCase implements ValidationCase { _minLength = minLength; // @override - Result isSatisfiedBy(String? value) { + ResultF isSatisfiedBy(String? value) { if (value != null && value.length >= _minLength) { - return Result(data: true); + return Ok(true); } - return Result( - error: Failure( + return Err( + Failure( message: 'Too few characters', stackTrace: StackTrace.current, ), diff --git a/lib/src/core/validation/cases/only_digits_validation_case.dart b/lib/src/core/validation/cases/only_digits_validation_case.dart index 926a67e..b099901 100644 --- a/lib/src/core/validation/cases/only_digits_validation_case.dart +++ b/lib/src/core/validation/cases/only_digits_validation_case.dart @@ -1,4 +1,4 @@ -import 'package:hmi_core/hmi_core_result.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_core/hmi_core_failure.dart'; import 'package:hmi_widgets/src/core/validation/cases/validation_case.dart'; /// @@ -7,16 +7,16 @@ class OnlyDigitsValidationCase implements ValidationCase { const OnlyDigitsValidationCase(); // @override - Result isSatisfiedBy(String? value) { + ResultF isSatisfiedBy(String? value) { if(value != null && value.isNotEmpty) { final regex = RegExp(r'[\d]*'); final match = regex.matchAsPrefix(value); if (match?.end == value.length) { - return Result(data: true); + return Ok(true); } } - return Result( - error: Failure( + return Err( + Failure( message: 'Only digits expected', stackTrace: StackTrace.current, ), diff --git a/lib/src/core/validation/cases/validation_case.dart b/lib/src/core/validation/cases/validation_case.dart index 8df2c5b..25c152b 100644 --- a/lib/src/core/validation/cases/validation_case.dart +++ b/lib/src/core/validation/cases/validation_case.dart @@ -1,6 +1,6 @@ -import 'package:hmi_core/hmi_core_result.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; /// abstract class ValidationCase { /// - Result isSatisfiedBy(String? value); + ResultF isSatisfiedBy(String? value); } \ No newline at end of file diff --git a/lib/src/core/validation/validator.dart b/lib/src/core/validation/validator.dart index c0b311a..5237d12 100644 --- a/lib/src/core/validation/validator.dart +++ b/lib/src/core/validation/validator.dart @@ -1,4 +1,5 @@ import 'cases/validation_case.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; /// class Validator { @@ -12,8 +13,8 @@ class Validator { String? editFieldValidator(String? value) { for (final validationCase in _cases) { final result = validationCase.isSatisfiedBy(value); - if (result.hasError) { - return result.error.message; + if (result case Err(:final error)) { + return error.message; } } return null; diff --git a/lib/src/edit_field/netword_edit_field/network_edit_field.dart b/lib/src/edit_field/netword_edit_field/network_edit_field.dart index 54ea6e1..fe465b3 100644 --- a/lib/src/edit_field/netword_edit_field/network_edit_field.dart +++ b/lib/src/edit_field/netword_edit_field/network_edit_field.dart @@ -1,6 +1,7 @@ import 'package:hmi_networking/hmi_networking.dart'; import 'package:flutter/material.dart'; import 'package:hmi_core/hmi_core.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_widgets/src/edit_field/show_unauthorized_editing_flushbar.dart'; /// @@ -253,33 +254,36 @@ class _NetworkEditFieldState extends State> { /// validating if the value can be parsed in to T (int / double) String? _valueValidator(value) { final result = _parseValue(value, fractionDigits: _fractionDigits); - return result.hasError ? const Localized('Invalid date value').v : null; + return switch(result) { + Ok() => null, + Err() => const Localized('Invalid date value').v, + }; } /// void _onEditingComplete() { _log.debug('[._onEditingComplete]'); - _parseValue(_editingController.text, fractionDigits: _fractionDigits).fold( - onData: (numValue) { - if ('${numValue}' != _initValue) { - _log.debug('[.build._onEditingComplete] new numValue: ${numValue}\t_initValue: $_initValue'); - _sendValue(_dsClient, _writeTagName, _responseTagName, numValue); + switch(_parseValue(_editingController.text, fractionDigits: _fractionDigits)) { + case Ok(:final value): + if ('${value}' != _initValue) { + _log.debug('[.build._onEditingComplete] new numValue: ${value}\t_initValue: $_initValue'); + _sendValue(_dsClient, _writeTagName, _responseTagName, value); } - }, - onError: (failure) { - _log.debug('[.build._onEditingComplete] error: ${failure.message}'); - }, - ); + break; + case Err(:final error): + _log.debug('[.build._onEditingComplete] error: ${error.message}'); + break; + } } /// /// Parses string into T (int / double) - Result _parseValue(String value, {int fractionDigits = 0}) { + ResultF _parseValue(String value, {int fractionDigits = 0}) { if (T == int) { return _textToInt(value); } else if (T == double) { return _textToFixedDouble(value, fractionDigits); } else { - return Result( - error: Failure.convertion( + return Err( + Failure.convertion( message: 'Ошибка в методе $runtimeType._textToFixedDouble: value "${_editingController.text}" can`t be converted', stackTrace: StackTrace.current ), @@ -287,24 +291,25 @@ class _NetworkEditFieldState extends State> { } } /// - Result _textToInt(String value) { + ResultF _textToInt(String value) { final intValue = int.tryParse(value); return intValue != null - ? Result(data: intValue as T) - : Result( - error: Failure.convertion( - message: 'Ошибка в методе $runtimeType._textToInt: value "$value" can`t be converted into int', - stackTrace: StackTrace.current), + ? Ok(intValue as T) + : Err( + Failure.convertion( + message: 'Ошибка в методе $runtimeType._textToInt: value "$value" can`t be converted into int', + stackTrace: StackTrace.current, + ), ); } /// - Result _textToFixedDouble(String value, int fractionDigits) { + ResultF _textToFixedDouble(String value, int fractionDigits) { final doubleValue = double.tryParse(value); if (doubleValue != null) { - return Result(data: double.parse(doubleValue.toStringAsFixed(fractionDigits)) as T); + return Ok(double.parse(doubleValue.toStringAsFixed(fractionDigits)) as T); } else { - return Result( - error: Failure.convertion( + return Err( + Failure.convertion( message: 'Ошибка в методе $runtimeType._textToFixedDouble: value "$value" can`t be converted into double', stackTrace: StackTrace.current, ), diff --git a/test/unit/core/validation/cases/max_length_validation_case_test.dart b/test/unit/core/validation/cases/max_length_validation_case_test.dart index 310c521..a752f0b 100644 --- a/test/unit/core/validation/cases/max_length_validation_case_test.dart +++ b/test/unit/core/validation/cases/max_length_validation_case_test.dart @@ -1,4 +1,5 @@ import 'package:flutter_test/flutter_test.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_widgets/src/core/validation/cases/max_length_validation_case.dart'; void main() { @@ -26,12 +27,12 @@ void main() { final length = item['length'] as int; final string = item['string'] as String; final validationCase = MaxLengthValidationCase(length); - expect(validationCase.isSatisfiedBy(string).hasData, true); + expect(validationCase.isSatisfiedBy(string) is Ok, true); } }); test('is not satisfied by null', () { for(int length = 0; length < 100; length++) { - expect(MaxLengthValidationCase(length).isSatisfiedBy(null).hasError, true); + expect(MaxLengthValidationCase(length).isSatisfiedBy(null) is Err, true); } }); test('is not satisfied by long strings', () { @@ -61,7 +62,7 @@ void main() { final length = item['length'] as int; final string = item['string'] as String; final validationCase = MaxLengthValidationCase(length); - expect(validationCase.isSatisfiedBy(string).hasError, true); + expect(validationCase.isSatisfiedBy(string) is Err, true); } }); test('constructor asserts on negative values', () { diff --git a/test/unit/core/validation/cases/min_length_validation_case_test.dart b/test/unit/core/validation/cases/min_length_validation_case_test.dart index 14db218..009e429 100644 --- a/test/unit/core/validation/cases/min_length_validation_case_test.dart +++ b/test/unit/core/validation/cases/min_length_validation_case_test.dart @@ -1,4 +1,5 @@ import 'package:flutter_test/flutter_test.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_widgets/src/core/validation/cases/min_length_validation_case.dart'; void main() { @@ -26,12 +27,12 @@ void main() { final length = item['length'] as int; final string = item['string'] as String; final validationCase = MinLengthValidationCase(length); - expect(validationCase.isSatisfiedBy(string).hasData, equals(true)); + expect(validationCase.isSatisfiedBy(string) is Ok, equals(true)); } }); test('is not satisfied by null', () { for(int length = 0; length < 100; length++) { - expect(MinLengthValidationCase(length).isSatisfiedBy(null).hasError, equals(true)); + expect(MinLengthValidationCase(length).isSatisfiedBy(null) is Err, equals(true)); } }); test('is not satisfied by short strings', () { @@ -61,7 +62,7 @@ void main() { final length = item['length'] as int; final string = item['string'] as String; final validationCase = MinLengthValidationCase(length); - expect(validationCase.isSatisfiedBy(string).hasError, equals(true)); + expect(validationCase.isSatisfiedBy(string) is Err, equals(true)); } }); test('constructor asserts on negative values', () { diff --git a/test/unit/core/validation/cases/only_digits_validation_case_test.dart b/test/unit/core/validation/cases/only_digits_validation_case_test.dart index 1b42b77..c0ddff5 100644 --- a/test/unit/core/validation/cases/only_digits_validation_case_test.dart +++ b/test/unit/core/validation/cases/only_digits_validation_case_test.dart @@ -1,4 +1,5 @@ import 'package:flutter_test/flutter_test.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_widgets/src/core/validation/cases/only_digits_validation_case.dart'; void main() { @@ -7,21 +8,21 @@ void main() { final validData = ['1234567890', '34589', '907216']; const validationCase = OnlyDigitsValidationCase(); for(final item in validData) { - expect(validationCase.isSatisfiedBy(item).hasData, equals(true)); + expect(validationCase.isSatisfiedBy(item) is Ok, equals(true)); } }); test('is not satisfied by empty/null strings', () { final invalidData = ['', null]; const validationCase = OnlyDigitsValidationCase(); for(final item in invalidData) { - expect(validationCase.isSatisfiedBy(item).hasError, equals(true)); + expect(validationCase.isSatisfiedBy(item) is Err, equals(true)); } }); test('is not satisfied by not digit strings', () { final invalidData = ['1234567890a', 'c34589', '9072d16', 'akhdsdkslfj', '!@#\$%^&*()_+=-"№;:?']; const validationCase = OnlyDigitsValidationCase(); for(final item in invalidData) { - expect(validationCase.isSatisfiedBy(item).hasError, equals(true)); + expect(validationCase.isSatisfiedBy(item) is Err, equals(true)); } }); }); From 60a55ef28edd7d7ed713d7a4ceaaacde5b3c390b Mon Sep 17 00:00:00 2001 From: a-givertzman Date: Tue, 9 Jan 2024 13:33:24 +0300 Subject: [PATCH 4/8] fixes --- lib/src/core/overflowable_text.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/src/core/overflowable_text.dart b/lib/src/core/overflowable_text.dart index bde2b76..19e9939 100644 --- a/lib/src/core/overflowable_text.dart +++ b/lib/src/core/overflowable_text.dart @@ -153,6 +153,7 @@ class OverflowableText extends StatelessWidget { @override Widget build(BuildContext context) { final textData = data; + final textScaler = textScaleFactor != null ? TextScaler.linear(textScaleFactor!) : null; if (textData != null) { return Text( textData, @@ -163,7 +164,7 @@ class OverflowableText extends StatelessWidget { locale: locale, softWrap: softWrap, overflow: overflow, - textScaler: textScaleFactor != null ? TextScaler.linear(textScaleFactor!) : null, + textScaler: textScaler, maxLines: maxLines, semanticsLabel: semanticsLabel, textWidthBasis: textWidthBasis, @@ -180,7 +181,7 @@ class OverflowableText extends StatelessWidget { locale: locale, softWrap: softWrap, overflow: overflow, - textScaler: textScaleFactor != null ? TextScaler.linear(textScaleFactor!) : null, + textScaler: textScaler, maxLines: maxLines, semanticsLabel: semanticsLabel, textWidthBasis: textWidthBasis, From 189c462d49ae6d0ac66f20cbc1f2878f3fa351da Mon Sep 17 00:00:00 2001 From: a-givertzman Date: Tue, 9 Jan 2024 13:38:29 +0300 Subject: [PATCH 5/8] fixes --- .../netword_edit_field/network_edit_field.dart | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/src/edit_field/netword_edit_field/network_edit_field.dart b/lib/src/edit_field/netword_edit_field/network_edit_field.dart index fe465b3..a0b5e55 100644 --- a/lib/src/edit_field/netword_edit_field/network_edit_field.dart +++ b/lib/src/edit_field/netword_edit_field/network_edit_field.dart @@ -336,12 +336,15 @@ class _NetworkEditFieldState extends State> { responseTimeout: _responseTimeout, ).exec(value).then((responseValue) { setState(() { - if (responseValue.hasError) { - _savingState = OperationState.undefined; - _editingState = EditingState.changed; - } else { - _savingState = OperationState.success; - _editingState = EditingState.notChanged; + switch (responseValue) { + case Ok(value: _): + _savingState = OperationState.success; + _editingState = EditingState.notChanged; + break; + case Err(error: _): + _savingState = OperationState.undefined; + _editingState = EditingState.changed; + break; } }); }); From c4a79f525bae3bf9767e3f3335d0accf5e52dd1e Mon Sep 17 00:00:00 2001 From: a-givertzman Date: Tue, 9 Jan 2024 13:42:02 +0300 Subject: [PATCH 6/8] fixes --- .../network_dropdown_field/network_dropdown_field.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/edit_field/network_dropdown_field/network_dropdown_field.dart b/lib/src/edit_field/network_dropdown_field/network_dropdown_field.dart index fef7c67..80e1c8e 100644 --- a/lib/src/edit_field/network_dropdown_field/network_dropdown_field.dart +++ b/lib/src/edit_field/network_dropdown_field/network_dropdown_field.dart @@ -2,6 +2,7 @@ import 'dart:core'; import 'package:hmi_networking/hmi_networking.dart'; import 'package:flutter/material.dart'; import 'package:hmi_core/hmi_core.dart'; +import 'package:hmi_core/hmi_core_result_new.dart'; import 'package:hmi_widgets/src/edit_field/show_unauthorized_editing_flushbar.dart'; import 'package:hmi_widgets/src/theme/app_theme.dart'; import 'oil_data.dart'; @@ -193,7 +194,7 @@ class _NetworkDropdownFormFieldState extends State { if (mounted) { setState(() { _state.setSaved(); - if (responseValue.hasError) { + if (responseValue case Err(error: final _)) { _state.setChanged(); } }); From 14e2178139fb308c630e0e339468442d02e3969e Mon Sep 17 00:00:00 2001 From: a-givertzman Date: Tue, 9 Jan 2024 13:55:11 +0300 Subject: [PATCH 7/8] fixes --- .github/workflows/analyze.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml index d1ee727..3a045b6 100644 --- a/.github/workflows/analyze.yml +++ b/.github/workflows/analyze.yml @@ -20,7 +20,7 @@ jobs: # - uses: subosito/flutter-action@v2 with: channel: 'stable' - version: 3.10.1 + version: 3.16.5 # - run: | # sudo apt-get update -y # sudo apt-get install -y ninja-build libgtk-3-dev From f7adc4af891a2aaf4f2421409c986e1cf46d6bc2 Mon Sep 17 00:00:00 2001 From: a-givertzman Date: Tue, 9 Jan 2024 13:57:24 +0300 Subject: [PATCH 8/8] fixes --- .github/workflows/coverage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 3927510..61ce697 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -24,7 +24,7 @@ jobs: # - uses: subosito/flutter-action@v2 with: channel: 'stable' - version: 3.3.10 + version: 3.16.5 # - run: | # sudo apt-get update -y # sudo apt-get install -y ninja-build libgtk-3-dev