From c7beb02635ddb9c0a5f4e99ad04a597cd0366f2b Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Tue, 7 May 2024 10:00:16 +0300 Subject: [PATCH 01/33] Update CI --- .github/workflows/build_and_test_bot.yml | 3 +++ .github/workflows/build_flutter_apk.yml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test_bot.yml b/.github/workflows/build_and_test_bot.yml index 5903a615..c27926fb 100644 --- a/.github/workflows/build_and_test_bot.yml +++ b/.github/workflows/build_and_test_bot.yml @@ -24,6 +24,9 @@ jobs: if: inputs.release run: curl -L "docs.google.com/spreadsheets/d/${{ secrets.SHEET_ID }}/gviz/tq?tqx=out:csv&sheet=Ukrainian" -o table.csv + - name: Update bindings + run: flutter_rust_bridge_codegen generate + working-directory: app - name: Test and build release if: inputs.release env: diff --git a/.github/workflows/build_flutter_apk.yml b/.github/workflows/build_flutter_apk.yml index 5334ec94..fa929482 100644 --- a/.github/workflows/build_flutter_apk.yml +++ b/.github/workflows/build_flutter_apk.yml @@ -45,7 +45,7 @@ jobs: with: crate: cargo-expand # - run: flutter_rust_bridge_codegen build && flutter build apk --release - - run: flutter build apk --release + - run: flutter_rust_bridge_codegen generate && flutter build apk --release env: SHEET_ID: ${{ secrets.SHEET_ID }} - uses: actions/upload-artifact@v3 From 8f1d797dc0244a164ed8d6af931949e00255fd35 Mon Sep 17 00:00:00 2001 From: Andrii Stadnik <40110937+anstadnik@users.noreply.github.com> Date: Wed, 8 May 2024 11:15:33 +0300 Subject: [PATCH 02/33] Update build_and_test_bot.yml --- .github/workflows/build_and_test_bot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_and_test_bot.yml b/.github/workflows/build_and_test_bot.yml index c27926fb..d5287846 100644 --- a/.github/workflows/build_and_test_bot.yml +++ b/.github/workflows/build_and_test_bot.yml @@ -24,6 +24,10 @@ jobs: if: inputs.release run: curl -L "docs.google.com/spreadsheets/d/${{ secrets.SHEET_ID }}/gviz/tq?tqx=out:csv&sheet=Ukrainian" -o table.csv + - uses: baptiste0928/cargo-install@v2 + with: + crate: flutter_rust_bridge_codegen + version: 2.0.0-dev.32 - name: Update bindings run: flutter_rust_bridge_codegen generate working-directory: app From f639f42a12be2d42a1d739ad1baf27cd1f78bc33 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 10 May 2024 14:16:02 +0300 Subject: [PATCH 03/33] Add flutter to workflows --- .github/workflows/build_and_test_bot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build_and_test_bot.yml b/.github/workflows/build_and_test_bot.yml index c27926fb..e4e70be3 100644 --- a/.github/workflows/build_and_test_bot.yml +++ b/.github/workflows/build_and_test_bot.yml @@ -24,6 +24,10 @@ jobs: if: inputs.release run: curl -L "docs.google.com/spreadsheets/d/${{ secrets.SHEET_ID }}/gviz/tq?tqx=out:csv&sheet=Ukrainian" -o table.csv + - uses: subosito/flutter-action@v2 + with: + channel: "stable" + cache: true - name: Update bindings run: flutter_rust_bridge_codegen generate working-directory: app From 3bf1cfded1ca31b0e90e6e1cbafb4e8e017d902d Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 10 May 2024 15:05:41 +0300 Subject: [PATCH 04/33] fix --- .github/workflows/build_and_test_bot.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_and_test_bot.yml b/.github/workflows/build_and_test_bot.yml index e54da2bb..855a4316 100644 --- a/.github/workflows/build_and_test_bot.yml +++ b/.github/workflows/build_and_test_bot.yml @@ -35,6 +35,9 @@ jobs: - name: Update bindings run: flutter_rust_bridge_codegen generate working-directory: app + env: + SHEET_ID: ${{ secrets.SHEET_ID }} + RUST_LOG: info - name: Test and build release if: inputs.release env: From 1be9439b45714fe4b01cafc90f7b47fe4b3b0af6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 08:48:00 +0000 Subject: [PATCH 05/33] build(deps): bump flutter_lints from 3.0.2 to 4.0.0 in /app (#511) Bumps [flutter_lints](https://github.com/flutter/packages/tree/main/packages) from 3.0.2 to 4.0.0. - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_lints-v4.0.0/packages) --- updated-dependencies: - dependency-name: flutter_lints dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/pubspec.lock | 8 ++++---- app/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index 936c9c0f..a08cf35e 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -95,10 +95,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_platform_widgets: dependency: "direct main" description: @@ -166,10 +166,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index b86abfbe..6540a905 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -50,7 +50,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^3.0.0 + flutter_lints: ^4.0.0 integration_test: sdk: flutter From 02703a46eb65ab205cab4f697be7d990f0358241 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 09:00:24 +0000 Subject: [PATCH 06/33] build(deps): bump flutter_rust_bridge in /app (#507) Bumps [flutter_rust_bridge](https://github.com/fzyzcjy/flutter_rust_bridge) from 2.0.0-dev.32 to 2.0.0-dev.33. - [Release notes](https://github.com/fzyzcjy/flutter_rust_bridge/releases) - [Changelog](https://github.com/fzyzcjy/flutter_rust_bridge/blob/master/CHANGELOG.md) - [Commits](https://github.com/fzyzcjy/flutter_rust_bridge/compare/v2.0.0-dev.32...v2.0.0-dev.33) --- updated-dependencies: - dependency-name: flutter_rust_bridge dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/pubspec.lock | 4 ++-- app/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index a08cf35e..c2bf06dd 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -111,10 +111,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 + sha256: "2bf072117fe975e18aa418234572aa6c60a0513141dc4239a5409eebd0a6a597" url: "https://pub.dev" source: hosted - version: "2.0.0-dev.32" + version: "2.0.0-dev.33" flutter_test: dependency: "direct dev" description: flutter diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 6540a905..c61835ef 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_app: path: rust_builder - flutter_rust_bridge: 2.0.0-dev.32 + flutter_rust_bridge: 2.0.0-dev.33 provider: ^6.1.2 flutter_platform_widgets: ^6.1.0 From f0fdcb961ef489ba5e4b78482604f201e9cf685a Mon Sep 17 00:00:00 2001 From: Andrii Stadnik <40110937+anstadnik@users.noreply.github.com> Date: Tue, 14 May 2024 17:29:32 +0300 Subject: [PATCH 07/33] Update CI.yml Update dependabot --- .github/workflows/CI.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 72122089..c071ec14 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -40,4 +40,5 @@ jobs: - uses: fastify/github-action-merge-dependabot@v3 with: # target: minor + use-github-auto-merge: true github-token: "${{ secrets.GITHUB_TOKEN }}" From 5997dba03bc300fe9f5efc2dd299e05af99294cf Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Wed, 15 May 2024 20:40:01 +0300 Subject: [PATCH 08/33] Update CI --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index c071ec14..6afb120d 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -40,5 +40,5 @@ jobs: - uses: fastify/github-action-merge-dependabot@v3 with: # target: minor - use-github-auto-merge: true + use-github-auto-merge: ${{ github.base_ref == 'main' }} github-token: "${{ secrets.GITHUB_TOKEN }}" From 3dd336d07da00c28b44653563cb46b928030c74a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 17:49:16 +0000 Subject: [PATCH 09/33] build(deps): bump security-framework from 2.10.0 to 2.11.0 (#515) Bumps [security-framework](https://github.com/kornelski/rust-security-framework) from 2.10.0 to 2.11.0. - [Release notes](https://github.com/kornelski/rust-security-framework/releases) - [Commits](https://github.com/kornelski/rust-security-framework/compare/v2.10.0...v2.11.0) --- updated-dependencies: - dependency-name: security-framework dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7e06146b..9884323f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1639,11 +1639,11 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", From f14d65851dddb46952409a2de6f375a30f813b81 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 18:04:48 +0000 Subject: [PATCH 10/33] build(deps): bump errno from 0.3.8 to 0.3.9 (#513) Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.8 to 0.3.9. - [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md) - [Commits](https://github.com/lambda-fairy/rust-errno/commits) --- updated-dependencies: - dependency-name: errno dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9884323f..3d9c9eea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -511,9 +511,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", From 999d99e1a2e76c00295b3dc78fcf7491fad7672e Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Wed, 15 May 2024 21:25:19 +0300 Subject: [PATCH 11/33] Update CI again :) --- .github/workflows/build_and_test_bot.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_and_test_bot.yml b/.github/workflows/build_and_test_bot.yml index 855a4316..51e62869 100644 --- a/.github/workflows/build_and_test_bot.yml +++ b/.github/workflows/build_and_test_bot.yml @@ -24,6 +24,9 @@ jobs: if: inputs.release run: curl -L "docs.google.com/spreadsheets/d/${{ secrets.SHEET_ID }}/gviz/tq?tqx=out:csv&sheet=Ukrainian" -o table.csv + - uses: baptiste0928/cargo-install@v2 + with: + crate: cargo-expand - uses: baptiste0928/cargo-install@v2 with: crate: flutter_rust_bridge_codegen From 5a722c2d0754b932d58be48a6ebcc87ff2c30a05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 07:57:33 +0000 Subject: [PATCH 12/33] build(deps): bump serde_json from 1.0.116 to 1.0.117 (#514) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.116 to 1.0.117. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.116...v1.0.117) --- updated-dependencies: - dependency-name: serde_json dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3d9c9eea..9d0f785c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1688,9 +1688,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", From b311a3879a2bc3b51efe4f6656c6aac1635c0285 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 08:12:35 +0000 Subject: [PATCH 13/33] build(deps): bump proc-macro2 from 1.0.81 to 1.0.83 (#517) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.81 to 1.0.83. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.81...1.0.83) --- updated-dependencies: - dependency-name: proc-macro2 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9d0f785c..59e351c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1328,9 +1328,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" dependencies = [ "unicode-ident", ] From ee2668038c57d70dfa17350de491024bf3691547 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 09:10:51 +0000 Subject: [PATCH 14/33] build(deps): bump either from 1.11.0 to 1.12.0 (#521) Bumps [either](https://github.com/rayon-rs/either) from 1.11.0 to 1.12.0. - [Commits](https://github.com/rayon-rs/either/compare/1.11.0...1.12.0) --- updated-dependencies: - dependency-name: either dependency-type: indirect update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 59e351c2..ff4a1689 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -444,9 +444,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" [[package]] name = "encoding_rs" From 4499ca989ce5f714e9d1435edf14a5d5cc1784d3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 09:39:10 +0000 Subject: [PATCH 15/33] build(deps): bump thiserror from 1.0.59 to 1.0.61 (#523) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.59 to 1.0.61. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/1.0.59...1.0.61) --- updated-dependencies: - dependency-name: thiserror dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff4a1689..9a438dd2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1963,18 +1963,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", From 74cbd68d683cbc92966cd6dcdfce183463db8847 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 09:54:49 +0000 Subject: [PATCH 16/33] build(deps): bump itertools from 0.12.1 to 0.13.0 (#522) Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.1 to 0.13.0. - [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-itertools/itertools/compare/v0.12.1...v0.13.0) --- updated-dependencies: - dependency-name: itertools dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- bot/Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9a438dd2..ff4f90b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -201,7 +201,7 @@ dependencies = [ "anyhow", "first_aid_bot_core", "futures", - "itertools 0.12.1", + "itertools 0.13.0", "log", "pretty_env_logger", "rand", @@ -1006,9 +1006,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] diff --git a/bot/Cargo.toml b/bot/Cargo.toml index 62f1b8c6..0eb1de98 100644 --- a/bot/Cargo.toml +++ b/bot/Cargo.toml @@ -12,7 +12,7 @@ teloxide = { version = "0.12", features = ["macros", "redis-storage", "bincode-serializer", "throttle"] } redis = { version = "0.25", features = ["tokio-comp"] } rand = "0.8" -itertools = "0.12" +itertools = "0.13" futures = "0.3" anyhow = { workspace = true } From 16c09529d54d0f0808ddb20073d5fdbb9c2d2298 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 10:10:27 +0000 Subject: [PATCH 17/33] build(deps): bump flutter_rust_bridge from 2.0.0-dev.32 to 2.0.0-dev.34 (#518) Bumps [flutter_rust_bridge](https://github.com/fzyzcjy/flutter_rust_bridge) from 2.0.0-dev.32 to 2.0.0-dev.34. - [Release notes](https://github.com/fzyzcjy/flutter_rust_bridge/releases) - [Changelog](https://github.com/fzyzcjy/flutter_rust_bridge/blob/master/CHANGELOG.md) - [Commits](https://github.com/fzyzcjy/flutter_rust_bridge/compare/v2.0.0-dev.32...v2.0.0-dev.34) --- updated-dependencies: - dependency-name: flutter_rust_bridge dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 8 ++++---- app/rust/Cargo.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ff4f90b9..0d63a58f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -545,9 +545,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge" -version = "2.0.0-dev.32" +version = "2.0.0-dev.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34014207992d96657886c50c90ab503bb4581cc9c2b1ea7ffad2ec12400032da" +checksum = "8aacad3a820c302fd81c2842ee70ab6f6c61526c39c449e490c6cbe2023ec802" dependencies = [ "allo-isolate", "android_logger", @@ -572,9 +572,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_macros" -version = "2.0.0-dev.32" +version = "2.0.0-dev.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd250246955bb9548a99733859946a5721289ec152de5fcc6eb03da7d3143dd1" +checksum = "f5dd5e1d22e85c8978199ebabaeaf66cf452bb3a8f5cb9dcc2c8e14a576ca287" dependencies = [ "hex", "quote", diff --git a/app/rust/Cargo.toml b/app/rust/Cargo.toml index 394ae087..c15fe9f4 100644 --- a/app/rust/Cargo.toml +++ b/app/rust/Cargo.toml @@ -9,5 +9,5 @@ crate-type = ["cdylib", "staticlib"] [dependencies] openssl = { version = "0.10", features = ["vendored"] } first_aid_bot_core = { path = "../../core" } -flutter_rust_bridge = "=2.0.0-dev.32" +flutter_rust_bridge = "=2.0.0-dev.34" anyhow = { workspace = true } From 81777bbbd596e9665900131f2850a49ede1cd28a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 10:23:06 +0000 Subject: [PATCH 18/33] build(deps): bump anyhow from 1.0.82 to 1.0.86 (#524) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.82 to 1.0.86. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.82...1.0.86) --- updated-dependencies: - dependency-name: anyhow dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0d63a58f..3d72258b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -106,9 +106,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "aquamarine" From bd83f366dc2369975c2464b4cd6b3c4e6a350ac4 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Wed, 22 May 2024 08:28:41 +0300 Subject: [PATCH 19/33] Update CI --- .github/workflows/CI.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 6afb120d..44f2c0d0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -40,5 +40,5 @@ jobs: - uses: fastify/github-action-merge-dependabot@v3 with: # target: minor - use-github-auto-merge: ${{ github.base_ref == 'main' }} + use-github-auto-merge: ${{ github.base_ref == 'main' || github.base_ref == 'dev' }} github-token: "${{ secrets.GITHUB_TOKEN }}" From 200559877b16be77ee87a989ab190a5b0b1d92f7 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Wed, 22 May 2024 08:47:01 +0300 Subject: [PATCH 20/33] Update CI --- .github/workflows/CI.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 44f2c0d0..72122089 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -40,5 +40,4 @@ jobs: - uses: fastify/github-action-merge-dependabot@v3 with: # target: minor - use-github-auto-merge: ${{ github.base_ref == 'main' || github.base_ref == 'dev' }} github-token: "${{ secrets.GITHUB_TOKEN }}" From b3c11a23f9561543105620b1ded1c10a7d6a9db6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 May 2024 05:56:23 +0000 Subject: [PATCH 21/33] --- (#525) updated-dependencies: - dependency-name: flutter_rust_bridge dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/pubspec.lock | 28 ++++++++++++++-------------- app/pubspec.yaml | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index c2bf06dd..f1d4abe4 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -111,10 +111,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: "2bf072117fe975e18aa418234572aa6c60a0513141dc4239a5409eebd0a6a597" + sha256: "915d48099928282c80f7f13ad7b9bbf5808bd3c2a1ec3dc76a749aefde3025ae" url: "https://pub.dev" source: hosted - version: "2.0.0-dev.33" + version: "2.0.0-dev.35" flutter_test: dependency: "direct dev" description: flutter @@ -142,26 +142,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -190,10 +190,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" nested: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" vector_math: dependency: transitive description: @@ -322,10 +322,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" webdriver: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index c61835ef..dcc31766 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_app: path: rust_builder - flutter_rust_bridge: 2.0.0-dev.33 + flutter_rust_bridge: 2.0.0-dev.35 provider: ^6.1.2 flutter_platform_widgets: ^6.1.0 From 7b2909d9c9c5ad36be73910c5094e6ff4f5636dc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 22 May 2024 06:08:45 +0000 Subject: [PATCH 22/33] build(deps): bump flutter_platform_widgets from 6.1.0 to 7.0.0 in /app (#520) Bumps [flutter_platform_widgets](https://github.com/stryder-dev/flutter_platform_widgets) from 6.1.0 to 7.0.0. - [Changelog](https://github.com/stryder-dev/flutter_platform_widgets/blob/master/CHANGELOG.md) - [Commits](https://github.com/stryder-dev/flutter_platform_widgets/commits) --- updated-dependencies: - dependency-name: flutter_platform_widgets dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/pubspec.lock | 4 ++-- app/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index f1d4abe4..62bef65b 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -103,10 +103,10 @@ packages: dependency: "direct main" description: name: flutter_platform_widgets - sha256: c483c0591d845d2adb84e341a1cfb746f1a8a7aff4c72a5957772446020601f4 + sha256: "1a52147c03f0265b4f64d607f05ccfce5b2390224c6d40435ebc212f23576fff" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" flutter_rust_bridge: dependency: "direct main" description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index dcc31766..c6aae325 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: path: rust_builder flutter_rust_bridge: 2.0.0-dev.35 provider: ^6.1.2 - flutter_platform_widgets: ^6.1.0 + flutter_platform_widgets: ^7.0.0 dev_dependencies: flutter_test: From fa11bf12ce8b8f0fdf44978581c508024a43f3e9 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 12:22:08 +0300 Subject: [PATCH 23/33] Enable english --- core/src/model/lang.rs | 63 +++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 26 deletions(-) diff --git a/core/src/model/lang.rs b/core/src/model/lang.rs index 01c7fd5b..ceb9fd84 100644 --- a/core/src/model/lang.rs +++ b/core/src/model/lang.rs @@ -10,21 +10,22 @@ use std::fmt::Display; #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Default)] pub enum Lang { #[default] - Ua, - /* En, - Ru, */ + // Ua, + En, + // Ru } impl Lang { // https://github.com/rust-lang/rfcs/issues/284 pub fn iter() -> impl Iterator { - [Lang::Ua /* En, Ru */].into_iter() + // [Lang::Ua].into_iter() + [Lang::En].into_iter() } pub const fn details(self) -> LangDetails { match self { - Lang::Ua => UA_LD, - /* En => EN_LD, - Ru => RU_LD, */ + // Lang::Ua => UA_LD, + Lang::En => EN_LD, + // Lang::Ru => RU_LD, } } pub fn name(self) -> String { @@ -69,33 +70,43 @@ pub struct LangDetails { pub broadcast: &'static str, } -const UA_LD: LangDetails = LangDetails { - name: "Ukrainian", - button_lang: "Українська", - button_back: "◀️ Повернутись", - button_home: "◀️ На початок", +// const UA_LD: LangDetails = LangDetails { +// name: "Ukrainian", +// button_lang: "Українська", +// button_back: "◀️ Повернутись", +// button_home: "◀️ На початок", +// error: concatcp!( +// "Сталась помилка :( Перезапустіть бота (/start), і якщо це не допоможе, будь ласка, повідомте про це у ", +// HELP_CHAT_URL +// ), +// error_due_to_update: concatcp!( +// "Схоже, що бота було оновлено. Повертаюсь на початок. Якщо бот далі не працює, будь ласка, повідомте про це у ", +// HELP_CHAT_URL +// ), +// use_buttons_text: "Використайте кнопки, або перезавантажте бота \\(/start\\)", +// // TODO: Change it <26-06-22, astadnik> // +// greeting: "Що трапилось?", +// broadcast: "Транслювати", +// }; + +const EN_LD: LangDetails = LangDetails { + name: "English", + button_lang: "English", + button_back: "◀️ Back", + button_home: "◀️ Home", error: concatcp!( - "Сталась помилка :( Перезапустіть бота (/start), і якщо це не допоможе, будь ласка, повідомте про це у ", + "An error occurred :( Restart the bot (/start), and if that doesn't help, please report it in ", HELP_CHAT_URL ), error_due_to_update: concatcp!( - "Схоже, що бота було оновлено. Повертаюсь на початок. Якщо бот далі не працює, будь ласка, повідомте про це у ", + "It seems that the bot has been updated. Returning to the beginning. If the bot still doesn't work, please report it in ", HELP_CHAT_URL ), - use_buttons_text: "Використайте кнопки, або перезавантажте бота \\(/start\\)", - // TODO: Change it <26-06-22, astadnik> // - greeting: "Що трапилось?", - broadcast: "Транслювати", + use_buttons_text: "Use buttons, or restart bot if something is wrong (/start)", + greeting: "What happened?", + broadcast: "Broadcast", }; -// const EN_LD: LangDetails = LangDetails { -// name: "English", -// button_lang_name: "English", -// error: "An error occured, please tell us about it at " + HELP_CHAT_URL, -// use_buttons_text: "Use buttons, or restart bot i\f something is wrong (/start)", -// greeting: "What happened?", -// }; - // const RU_LD: LangDetails = LangDetails { // name: "Russian", // button_lang_name: "Русский", From 7f2594fb9d80f7dd7cd1329f29cd01dbdc53a56e Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 12:33:23 +0300 Subject: [PATCH 24/33] Fix --- bot/src/bot/dialogue/logic/broadcast.rs | 4 ++-- core/src/model/lang.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/bot/src/bot/dialogue/logic/broadcast.rs b/bot/src/bot/dialogue/logic/broadcast.rs index be4c225b..5108d591 100644 --- a/bot/src/bot/dialogue/logic/broadcast.rs +++ b/bot/src/bot/dialogue/logic/broadcast.rs @@ -78,7 +78,7 @@ async fn broadcast_if_confirmed( async fn ask_to_confirm(bot: &FABot, id: ChatId, text: &str, dialogue: &FADialogue) -> Result<()> { bot.send_message(id, "Your message is:").await?; let vec = vec![MSG_CONFIRM]; - let keyboard = make_keyboard(&vec, Lang::Ua, 42, true); + let keyboard = make_keyboard(&vec, Lang::En, 42, true); bot.send_message(id, text).reply_markup(keyboard).await?; let message = Some(text.to_string()); dialogue.update(State::Broadcast { message }).await?; @@ -86,7 +86,7 @@ async fn ask_to_confirm(bot: &FABot, id: ChatId, text: &str, dialogue: &FADialog } async fn wait_for_message(bot: &FABot, id: ChatId) -> Result<()> { - let kbd = make_keyboard(&Vec::new(), Lang::Ua, 42, true); + let kbd = make_keyboard(&Vec::new(), Lang::En, 42, true); bot.send_message(id, MSG_REQUEST).reply_markup(kbd).await?; Ok(()) } diff --git a/core/src/model/lang.rs b/core/src/model/lang.rs index ceb9fd84..61907c00 100644 --- a/core/src/model/lang.rs +++ b/core/src/model/lang.rs @@ -9,8 +9,8 @@ use std::fmt::Display; #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Default)] pub enum Lang { - #[default] // Ua, + #[default] En, // Ru } From 6c67d1b51fe125c6bf2817bfc06540589b3645d7 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 12:56:33 +0300 Subject: [PATCH 25/33] Update --- Cargo.lock | 8 ++++---- app/pubspec.lock | 30 +++++++++++++++--------------- app/pubspec.yaml | 2 +- app/rust/Cargo.toml | 2 +- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3d72258b..449eb550 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -545,9 +545,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge" -version = "2.0.0-dev.34" +version = "2.0.0-dev.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8aacad3a820c302fd81c2842ee70ab6f6c61526c39c449e490c6cbe2023ec802" +checksum = "34014207992d96657886c50c90ab503bb4581cc9c2b1ea7ffad2ec12400032da" dependencies = [ "allo-isolate", "android_logger", @@ -572,9 +572,9 @@ dependencies = [ [[package]] name = "flutter_rust_bridge_macros" -version = "2.0.0-dev.34" +version = "2.0.0-dev.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5dd5e1d22e85c8978199ebabaeaf66cf452bb3a8f5cb9dcc2c8e14a576ca287" +checksum = "fd250246955bb9548a99733859946a5721289ec152de5fcc6eb03da7d3143dd1" dependencies = [ "hex", "quote", diff --git a/app/pubspec.lock b/app/pubspec.lock index c2bf06dd..9497069c 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -111,10 +111,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: "2bf072117fe975e18aa418234572aa6c60a0513141dc4239a5409eebd0a6a597" + sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 url: "https://pub.dev" source: hosted - version: "2.0.0-dev.33" + version: "2.0.0-dev.32" flutter_test: dependency: "direct dev" description: flutter @@ -142,26 +142,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -190,10 +190,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" nested: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" vector_math: dependency: transitive description: @@ -322,10 +322,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" webdriver: dependency: transitive description: @@ -336,4 +336,4 @@ packages: version: "3.0.3" sdks: dart: ">=3.3.4 <4.0.0" - flutter: ">=3.16.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/app/pubspec.yaml b/app/pubspec.yaml index c61835ef..6540a905 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_app: path: rust_builder - flutter_rust_bridge: 2.0.0-dev.33 + flutter_rust_bridge: 2.0.0-dev.32 provider: ^6.1.2 flutter_platform_widgets: ^6.1.0 diff --git a/app/rust/Cargo.toml b/app/rust/Cargo.toml index c15fe9f4..394ae087 100644 --- a/app/rust/Cargo.toml +++ b/app/rust/Cargo.toml @@ -9,5 +9,5 @@ crate-type = ["cdylib", "staticlib"] [dependencies] openssl = { version = "0.10", features = ["vendored"] } first_aid_bot_core = { path = "../../core" } -flutter_rust_bridge = "=2.0.0-dev.34" +flutter_rust_bridge = "=2.0.0-dev.32" anyhow = { workspace = true } From 3eff62f7d44d82315b65f84ac3abd8c8baa6f15f Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 12:58:55 +0300 Subject: [PATCH 26/33] Update --- app/pubspec.lock | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index 05054ead..62b2e700 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -111,17 +111,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge -<<<<<<< english - sha256: d65dbdd271de6050d3204bab69a8ae25a291deb359403cd4f95a86055cab66c3 - url: "https://pub.dev" - source: hosted - version: "2.0.0-dev.32" -======= sha256: "915d48099928282c80f7f13ad7b9bbf5808bd3c2a1ec3dc76a749aefde3025ae" url: "https://pub.dev" source: hosted version: "2.0.0-dev.35" ->>>>>>> dev flutter_test: dependency: "direct dev" description: flutter From 09719878f9db8498b7aab07e938994ed836ae170 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 13:18:11 +0300 Subject: [PATCH 27/33] Restart CI/CD --- core/src/model/data.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/model/data.rs b/core/src/model/data.rs index 090f0af5..0a4c0cdc 100644 --- a/core/src/model/data.rs +++ b/core/src/model/data.rs @@ -39,6 +39,7 @@ impl<'a> CowMultLangFsExt<'a> for Cow<'a, MultilangFs> { fn get_state(self, ctx: &FAContext) -> Result> { let err_lang = anyhow!("No such lang: {}", ctx.lang); let err_ctx = |key| move || anyhow!("Cannot find {key} for context {:?}", ctx.context); + match self { Cow::Borrowed(v) => { Ok(Cow::Borrowed(ctx.context.iter().try_fold( From 35adfc76b78e98661645fe21b968148fe8067687 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 20:26:13 +0300 Subject: [PATCH 28/33] Download multiple languages --- core/src/model/mod.rs | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/core/src/model/mod.rs b/core/src/model/mod.rs index 0c12ed70..81b0437a 100644 --- a/core/src/model/mod.rs +++ b/core/src/model/mod.rs @@ -63,13 +63,16 @@ pub fn get_data_from_file(filename: &str) -> anyhow::Result { pub async fn get_data_from_web() -> anyhow::Result { let sheet_id = env!("SHEET_ID"); - assert!(Lang::iter().count() == 1, "Only one language is supported"); - let lang = Lang::iter().next().unwrap(); - let sheet_name = lang.name(); - let url = format!( - "https://docs.google.com/spreadsheets/d/{}/gviz/tq?tqx=out:csv&sheet={}", - sheet_id, sheet_name - ); - let rdr = Reader::from_reader(reqwest::get(url).await?.bytes().await?.reader()); - Ok([(lang, get_finite_state(rdr, lang)?)].into()) + // assert!(Lang::iter().count() == 1, "Only one language is supported"); + let mut ret = MultilangFs::default(); + for lang in Lang::iter() { + let url = format!( + "https://docs.google.com/spreadsheets/d/{}/gviz/tq?tqx=out:csv&sheet={}", + sheet_id, + lang.name() + ); + let rdr = Reader::from_reader(reqwest::get(url).await?.bytes().await?.reader()); + ret.insert(lang, get_finite_state(rdr, lang)?); + } + Ok(ret) } From b3dece9b20132e438ecc8c1fc5665c9657573e0e Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Fri, 24 May 2024 21:12:03 +0300 Subject: [PATCH 29/33] Add a test --- core/src/model/lang.rs | 42 ++++++++++++++++++++--------------------- core/tests/test_data.rs | 1 + 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/core/src/model/lang.rs b/core/src/model/lang.rs index 61907c00..5e210410 100644 --- a/core/src/model/lang.rs +++ b/core/src/model/lang.rs @@ -9,8 +9,8 @@ use std::fmt::Display; #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash, Default)] pub enum Lang { - // Ua, #[default] + Ua, En, // Ru } @@ -19,11 +19,11 @@ impl Lang { // https://github.com/rust-lang/rfcs/issues/284 pub fn iter() -> impl Iterator { // [Lang::Ua].into_iter() - [Lang::En].into_iter() + [Lang::Ua, Lang::En].into_iter() } pub const fn details(self) -> LangDetails { match self { - // Lang::Ua => UA_LD, + Lang::Ua => UA_LD, Lang::En => EN_LD, // Lang::Ru => RU_LD, } @@ -70,24 +70,24 @@ pub struct LangDetails { pub broadcast: &'static str, } -// const UA_LD: LangDetails = LangDetails { -// name: "Ukrainian", -// button_lang: "Українська", -// button_back: "◀️ Повернутись", -// button_home: "◀️ На початок", -// error: concatcp!( -// "Сталась помилка :( Перезапустіть бота (/start), і якщо це не допоможе, будь ласка, повідомте про це у ", -// HELP_CHAT_URL -// ), -// error_due_to_update: concatcp!( -// "Схоже, що бота було оновлено. Повертаюсь на початок. Якщо бот далі не працює, будь ласка, повідомте про це у ", -// HELP_CHAT_URL -// ), -// use_buttons_text: "Використайте кнопки, або перезавантажте бота \\(/start\\)", -// // TODO: Change it <26-06-22, astadnik> // -// greeting: "Що трапилось?", -// broadcast: "Транслювати", -// }; +const UA_LD: LangDetails = LangDetails { + name: "Ukrainian", + button_lang: "Українська", + button_back: "◀️ Повернутись", + button_home: "◀️ На початок", + error: concatcp!( + "Сталась помилка :( Перезапустіть бота (/start), і якщо це не допоможе, будь ласка, повідомте про це у ", + HELP_CHAT_URL + ), + error_due_to_update: concatcp!( + "Схоже, що бота було оновлено. Повертаюсь на початок. Якщо бот далі не працює, будь ласка, повідомте про це у ", + HELP_CHAT_URL + ), + use_buttons_text: "Використайте кнопки, або перезавантажте бота \\(/start\\)", + // TODO: Change it <26-06-22, astadnik> // + greeting: "Що трапилось?", + broadcast: "Транслювати", +}; const EN_LD: LangDetails = LangDetails { name: "English", diff --git a/core/tests/test_data.rs b/core/tests/test_data.rs index 3573410a..91d35bc2 100644 --- a/core/tests/test_data.rs +++ b/core/tests/test_data.rs @@ -76,6 +76,7 @@ pre-formatted fixed-width code block written in the Python programming language }; assert!(!data.is_empty()); assert!(data.iter().all(|(_, fs)| fs.num_nodes() > 1)); + assert!(Lang::iter().all(|lang| data.contains_key(&lang))); data.into_iter() .inspect(|(lang, fs)| log::info!("Testing {lang} with {} nodes", fs.num_nodes())) .try_for_each(|(_, fs)| test_fs(fs))?; From 5149fb8f5a36697c7cdc9a34df8548c8da556643 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 08:21:43 +0000 Subject: [PATCH 30/33] build(deps): bump flutter_rust_bridge in /app (#530) Bumps [flutter_rust_bridge](https://github.com/fzyzcjy/flutter_rust_bridge) from 2.0.0-dev.35 to 2.0.0-dev.36. - [Release notes](https://github.com/fzyzcjy/flutter_rust_bridge/releases) - [Changelog](https://github.com/fzyzcjy/flutter_rust_bridge/blob/master/CHANGELOG.md) - [Commits](https://github.com/fzyzcjy/flutter_rust_bridge/compare/v2.0.0-dev.35...v2.0.0-dev.36) --- updated-dependencies: - dependency-name: flutter_rust_bridge dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- app/pubspec.lock | 4 ++-- app/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/pubspec.lock b/app/pubspec.lock index 62b2e700..1c323034 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -111,10 +111,10 @@ packages: dependency: "direct main" description: name: flutter_rust_bridge - sha256: "915d48099928282c80f7f13ad7b9bbf5808bd3c2a1ec3dc76a749aefde3025ae" + sha256: efb018e387c5e844095e35e9d6c6bd1610c49f25de109f4988b7c45aeca60a9a url: "https://pub.dev" source: hosted - version: "2.0.0-dev.35" + version: "2.0.0-dev.36" flutter_test: dependency: "direct dev" description: flutter diff --git a/app/pubspec.yaml b/app/pubspec.yaml index c6aae325..a51d04c5 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: cupertino_icons: ^1.0.6 rust_lib_app: path: rust_builder - flutter_rust_bridge: 2.0.0-dev.35 + flutter_rust_bridge: 2.0.0-dev.36 provider: ^6.1.2 flutter_platform_widgets: ^7.0.0 From f64f69198528764d1aa291de80c518499da5451a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 May 2024 08:36:53 +0000 Subject: [PATCH 31/33] build(deps): bump getrandom from 0.2.14 to 0.2.15 (#535) Bumps [getrandom](https://github.com/rust-random/getrandom) from 0.2.14 to 0.2.15. - [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-random/getrandom/compare/v0.2.14...v0.2.15) --- updated-dependencies: - dependency-name: getrandom dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 449eb550..1aa0b394 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -702,9 +702,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", From 53fcddd61daaae6ccb78c8eb52e8345d718d10d6 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Mon, 27 May 2024 13:50:30 +0300 Subject: [PATCH 32/33] add_tests --- bot/src/bot/dialogue/commands.rs | 2 +- bot/src/bot/dialogue/endpoints.rs | 22 +++++++++++++-------- bot/src/bot/dialogue/logic/keyboard.rs | 22 +++++++++++---------- core/src/model/data.rs | 27 +++++++++++++++----------- core/src/model/mod.rs | 15 +++++++------- core/tests/test_data.rs | 6 ++++++ 6 files changed, 57 insertions(+), 37 deletions(-) diff --git a/bot/src/bot/dialogue/commands.rs b/bot/src/bot/dialogue/commands.rs index 36cefa52..12cc8175 100644 --- a/bot/src/bot/dialogue/commands.rs +++ b/bot/src/bot/dialogue/commands.rs @@ -37,7 +37,7 @@ pub async fn commands_handler( dialogue: FADialogue, ) -> anyhow::Result<()> { match cmd { - FACommands::Start => start_endpoint(bot, msg, dialogue).await, + FACommands::Start => start_endpoint(bot, msg, dialogue, Lang::default()).await, } } diff --git a/bot/src/bot/dialogue/endpoints.rs b/bot/src/bot/dialogue/endpoints.rs index 4e8a7467..58d8d0c3 100644 --- a/bot/src/bot/dialogue/endpoints.rs +++ b/bot/src/bot/dialogue/endpoints.rs @@ -7,11 +7,19 @@ use first_aid_bot_core::prelude::*; use rand::random; use teloxide::{requests::Requester, types::Message}; -pub async fn start_endpoint(bot: FABot, msg: Message, dialogue: FADialogue) -> Result<()> { +pub async fn start_endpoint( + bot: FABot, + msg: Message, + dialogue: FADialogue, + lang: Lang, +) -> Result<()> { if is_admin(&msg) && random::() % 50 == 0 { easter_egg(&bot, &msg).await?; } - let ctx = FAContext::default(); + let ctx = FAContext { + lang, + ..FAContext::default() + }; move_to_state(&bot, &msg, &dialogue, &*DATA.get_state(&ctx).await?, ctx).await } @@ -21,13 +29,11 @@ pub async fn transition_endpoint( dialogue: FADialogue, (lang, context): (String, Vec), ) -> Result<()> { - let f = || async { - let lang = lang.as_str().try_into()?; - transition_logic(&bot, &msg, &dialogue, FAContext { lang, context }).await - }; + let lang = lang.as_str().try_into()?; + let f = || async { transition_logic(&bot, &msg, &dialogue, FAContext { lang, context }).await }; if let Err(e) = f().await { - start_endpoint(bot, msg, dialogue).await?; + start_endpoint(bot, msg, dialogue, lang).await?; bail!(e); } Ok(()) @@ -43,7 +49,7 @@ pub async fn broadcast_endpoint( let _ = bot .send_message(msg.chat.id, "WTF you are not an admin bye") .await; - return start_endpoint(bot, msg, dialogue).await; + return start_endpoint(bot, msg, dialogue, Lang::default()).await; } process_broadcast(&bot, &msg, &dialogue, message).await?; Ok(()) diff --git a/bot/src/bot/dialogue/logic/keyboard.rs b/bot/src/bot/dialogue/logic/keyboard.rs index 076d9b0d..5bdae1e0 100644 --- a/bot/src/bot/dialogue/logic/keyboard.rs +++ b/bot/src/bot/dialogue/logic/keyboard.rs @@ -16,16 +16,18 @@ pub fn make_keyboard(keys: &[&str], lang: Lang, depth: usize, is_admin: bool) -> keyboard.push(vec![KeyboardButton::new(lang.details().broadcast)]); } - let special_keys = if depth == 0 { - let f = |lang: Lang| KeyboardButton::new(lang.details().button_lang); - Lang::iter().filter(|&l| l != lang).map(f).collect() - } else { - let mut special_keys = vec![KeyboardButton::new(lang.details().button_back)]; - if depth > 1 { - special_keys.push(KeyboardButton::new(lang.details().button_home)); - }; - special_keys - }; + let ld = lang.details(); + let special_keys = match depth { + 0 => Lang::iter() + .filter(|&l| l != lang) + .map(|l| l.details().button_lang) + .collect(), + 1 => vec![ld.button_back], + 2.. => vec![ld.button_back, ld.button_home], + } + .into_iter() + .map(KeyboardButton::new) + .collect(); keyboard.push(special_keys); ReplyMarkup::Keyboard(KeyboardMarkup::new(keyboard).resize_keyboard(true)) diff --git a/core/src/model/data.rs b/core/src/model/data.rs index 0a4c0cdc..9b4d579b 100644 --- a/core/src/model/data.rs +++ b/core/src/model/data.rs @@ -14,9 +14,10 @@ impl Data { Self { data: None } } pub fn cached() -> Result { - log::info!("Cached data!"); - let data = Some(get_data_from_file("table.csv")?); - Ok(Self { data }) + unimplemented!("There is no multiple language support yet!"); + // log::info!("Cached data!"); + // let data = Some(get_data_from_file("table.csv")?); + // Ok(Self { data }) } pub async fn download() -> Result { log::info!("Downloading data!"); @@ -42,16 +43,20 @@ impl<'a> CowMultLangFsExt<'a> for Cow<'a, MultilangFs> { match self { Cow::Borrowed(v) => { - Ok(Cow::Borrowed(ctx.context.iter().try_fold( - v.get(&ctx.lang).ok_or(err_lang)?, - |fs, key| fs.next_states.get(key).ok_or_else(err_ctx(key)), - )?)) + let init = v.get(&ctx.lang).ok_or(err_lang)?; + Ok(Cow::Borrowed( + ctx.context.iter().try_fold(init, |fs, key| { + fs.next_states.get(key).ok_or_else(err_ctx(key)) + })?, + )) } Cow::Owned(mut v) => { - Ok(Cow::Owned(ctx.context.iter().try_fold( - v.remove(&ctx.lang).ok_or(err_lang)?, - |mut fs, key| fs.next_states.swap_remove(key).ok_or_else(err_ctx(key)), - )?)) + let init = v.remove(&ctx.lang).ok_or(err_lang)?; + Ok(Cow::Owned( + ctx.context.iter().try_fold(init, |mut fs, key| { + fs.next_states.swap_remove(key).ok_or_else(err_ctx(key)) + })?, + )) } } } diff --git a/core/src/model/mod.rs b/core/src/model/mod.rs index 81b0437a..9c9fcdec 100644 --- a/core/src/model/mod.rs +++ b/core/src/model/mod.rs @@ -52,18 +52,19 @@ fn get_finite_state(rdr: Reader, lang: Lang) -> anyhow::Result { Ok(Fs::entry(lang, get_next_states_for_key(&rows, "")?)) } -// This file is only for Ukrainian. If we will want to add more languages, it should be changed -pub fn get_data_from_file(filename: &str) -> anyhow::Result { +pub fn get_data_from_file(_filename: &str) -> anyhow::Result { + unimplemented!("There is no multiple language support yet! There has to be multiple filenames"); // let rdr = Reader::from_reader(BufReader::new(File::open(filename)?)); - let rdr = Reader::from_path(filename)?; - assert!(Lang::iter().count() == 1, "Only one language is supported"); - let lang = Lang::iter().next().unwrap(); - Ok([(lang, get_finite_state(rdr, lang)?)].into()) + // assert!(Lang::iter().count() == 1, "Only one language is supported"); + // let lang = Lang::iter().next().unwrap(); + // Ok([(lang, get_finite_state(rdr, lang)?)].into()) + // Lang::iter() + // .map(|lang| Ok((lang, get_finite_state(Reader::from_path(filename)?, lang)?))) + // .collect() } pub async fn get_data_from_web() -> anyhow::Result { let sheet_id = env!("SHEET_ID"); - // assert!(Lang::iter().count() == 1, "Only one language is supported"); let mut ret = MultilangFs::default(); for lang in Lang::iter() { let url = format!( diff --git a/core/tests/test_data.rs b/core/tests/test_data.rs index 91d35bc2..07dba576 100644 --- a/core/tests/test_data.rs +++ b/core/tests/test_data.rs @@ -77,6 +77,12 @@ pre-formatted fixed-width code block written in the Python programming language assert!(!data.is_empty()); assert!(data.iter().all(|(_, fs)| fs.num_nodes() > 1)); assert!(Lang::iter().all(|lang| data.contains_key(&lang))); + for (lang, fs) in &data { + log::info!("First keys for lang {lang} are: "); + for key in fs.next_states.keys() { + log::info!("{}", key); + } + } data.into_iter() .inspect(|(lang, fs)| log::info!("Testing {lang} with {} nodes", fs.num_nodes())) .try_for_each(|(_, fs)| test_fs(fs))?; From 830d5948e180a51c35bbae5b2dcdf9452e56ed14 Mon Sep 17 00:00:00 2001 From: Stadnik Andrii Date: Mon, 27 May 2024 14:07:24 +0300 Subject: [PATCH 33/33] update_CI --- .github/workflows/CI.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 72122089..912233e0 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -19,14 +19,14 @@ jobs: release: ${{ github.base_ref == 'main' }} upload-artifact: true secrets: - SHEET_ID: ${{ vars.SHEET_ID }} + SHEET_ID: ${{ github.base_ref == 'main' && secrets.SHEET_ID_main || secrets.SHEET_ID_dev }} build_flutter_apk: uses: ./.github/workflows/build_flutter_apk.yml with: upload-artifact: true secrets: - SHEET_ID: ${{ vars.SHEET_ID }} + SHEET_ID: ${{ github.base_ref == 'main' && secrets.SHEET_ID_main || secrets.SHEET_ID_dev }} # It should wait untill all checks will pass auto-merge: