build: move to Flutter 3.47.6, Go 1.27 and Rust 1.99.0

This commit is contained in:
chen08209
2026-10-08 03:57:37 +08:00
parent d780cb863d
commit 6c661f662e
30 changed files with 855 additions and 811 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
"hooks": [
{
"type": "command",
"command": "bash \"${CLAUDE_PROJECT_DIR:-.}/tool/check_comment_density.sh\"",
"command": "bash \"${CLAUDE_PROJECT_DIR:-.}/tool/hooks/comment_density.sh\"",
"timeout": 15,
"statusMessage": "Checking comment density"
}
+1 -1
View File
@@ -3,6 +3,6 @@ matcher = "apply_patch|Bash"
[[hooks.PostToolUse.hooks]]
type = "command"
command = "bash tool/check_comment_density.sh"
command = "bash tool/hooks/comment_density.sh"
timeout = 15
statusMessage = "Checking comment density"
+21 -24
View File
@@ -14,8 +14,8 @@ concurrency:
env:
IS_STABLE: ${{ !contains(github.ref, '-') }}
FLUTTER_VERSION: '3.47.4'
GO_VERSION: '1.26.4'
FLUTTER_VERSION: '3.47.6'
GO_VERSION: '1.27.1'
NDK_VERSION: r28c
jobs:
@@ -32,11 +32,8 @@ jobs:
fetch-depth: 0
submodules: true
- name: Test commit message hook
run: bash tool/check_commit_msg_test.sh
- name: Test comment density hook
run: bash tool/check_comment_density_test.sh
- name: Test git hooks
run: bash tool/hooks/test.sh
- name: Setup Rust cache
uses: Swatinem/rust-cache@v2
@@ -190,32 +187,22 @@ jobs:
echo 'No Go tests found in core/; the test step would pass vacuously.' >&2
exit 1
fi
test -z "$(gofmt -l ./*.go ./platform ./tun)" || {
gofmt -l ./*.go ./platform ./tun >&2
test -z "$(gofmt -l ./*.go ./cmd ./mobile ./platform ./tun)" || {
gofmt -l ./*.go ./cmd ./mobile ./platform ./tun >&2
exit 1
}
go test -count=1 .
go vet .
go vet . ./cmd/...
GOOS=linux go vet ./platform
- name: Setup NDK
uses: nttld/setup-ndk@v1
id: ndk
with:
ndk-version: ${{ env.NDK_VERSION }}
- name: Validate the Android core library
working-directory: core
env:
ANDROID_NDK_HOME: ${{ steps.ndk.outputs.ndk-path }}
CGO_ENABLED: 0
run: |
# Nothing else compiles the `android && cgo` files before a `v*` tag.
CC="$(echo "$ANDROID_NDK_HOME"/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android21-clang)"
test -x "$CC" || { echo "NDK clang not found at $CC" >&2; exit 1; }
tags="$(sed -n 's/^tags: *//p' ../build_config.yaml)"
test -n "$tags" || { echo 'Could not read tags from build_config.yaml' >&2; exit 1; }
export CGO_ENABLED=1 GOOS=android GOARCH=arm64 CC
go vet "-tags=$tags" . ./tun ./platform
GOOS=android GOARCH=arm64 go vet "-tags=$tags" . ./mobile ./tun ./platform
android:
name: Android unit tests
@@ -224,6 +211,14 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: core/go.sum
- name: Setup Flutter
uses: subosito/flutter-action@v2
@@ -240,6 +235,7 @@ jobs:
id: ndk
with:
ndk-version: ${{ env.NDK_VERSION }}
link-to-sdk: true
- name: Setup Java
uses: actions/setup-java@v4
@@ -263,9 +259,10 @@ jobs:
test -d "$wrapper" || flutter precache
cp -R "$wrapper/." .
chmod +x gradlew
# `:core` only calls System.loadLibrary; the excluded Flutter tasks would run
# the native build hooks for every debug ABI, which no JVM unit test consumes.
# No JVM unit test loads the Core or the Flutter build, but `:core` compiles against
# the gomobile AAR, so one ABI of it is built.
./gradlew :common:testDebugUnitTest :service:testDebugUnitTest :app:testDebugUnitTest \
-Ptarget-platform=android-arm64 \
-x :app:compileFlutterBuildDebug -x :app:copyFlutterAssetsDebug
rust:
+1
View File
@@ -57,6 +57,7 @@ docs/
/android/**/build
/android/common/**/.**/
/android/common/local.*
# Left in place by builds from before the gomobile Core.
/android/core/**/includes/
/android/core/**/cmake-build-*/
/android/core/**/jniLibs/
+2 -2
View File
@@ -9,7 +9,7 @@ repos:
stages: [pre-commit]
- id: comment-density
name: comment density
entry: tool/check_comment_density.sh
entry: tool/hooks/comment_density.sh
language: system
files: \.(dart|kt|kts|swift|go|rs|java|cpp|cc|h|hpp|gradle|ya?ml)$
stages: [pre-commit]
@@ -21,6 +21,6 @@ repos:
stages: [pre-push]
- id: commit-msg-format
name: conventional commit message
entry: tool/check_commit_msg.sh
entry: tool/hooks/commit_msg.sh
language: system
stages: [commit-msg]
-2
View File
@@ -5,7 +5,6 @@ targetSdk = "37"
compileSdk = "37"
ndkVersion = "28.2.13676358"
coreKtx = "1.19.1"
annotationJvm = "1.11.0"
coreSplashscreen = "1.2.0"
gson = "2.14.0"
smaliDexlib2 = "3.0.10"
@@ -14,7 +13,6 @@ kotlinxCoroutines = "1.11.0"
[libraries]
androidx-core = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
annotation-jvm = { module = "androidx.annotation:annotation-jvm", version.ref = "annotationJvm" }
core-splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "coreSplashscreen" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
+1 -1
View File
@@ -1,8 +1,8 @@
tags: with_gvisor
go_ldflags: "-w -s"
core_version: v1.19.32
core_dir: core
core_name: FlClashCore
lib_name: libclash
output_dir: libclash
helper_dir: services/helper
helper_name: FlClashHelperService
+4 -4
View File
@@ -6,9 +6,9 @@
#include "generated_plugin_registrant.h"
#include <app_links_linux/app_links_plugin_linux.h>
#include <dynamic_color/dynamic_color_plugin.h>
#include <file_selector_linux/file_selector_plugin.h>
#include <gtk/gtk_plugin.h>
#include <screen_retriever_linux/screen_retriever_linux_plugin.h>
#include <tray/tray_plugin.h>
#include <url_launcher_linux/url_launcher_plugin.h>
@@ -16,15 +16,15 @@
#include <window/window_plugin.h>
void fl_register_plugins(FlPluginRegistry* registry) {
g_autoptr(FlPluginRegistrar) app_links_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "AppLinksPluginLinux");
app_links_plugin_linux_register_with_registrar(app_links_linux_registrar);
g_autoptr(FlPluginRegistrar) dynamic_color_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "DynamicColorPlugin");
dynamic_color_plugin_register_with_registrar(dynamic_color_registrar);
g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
g_autoptr(FlPluginRegistrar) gtk_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "GtkPlugin");
gtk_plugin_register_with_registrar(gtk_registrar);
g_autoptr(FlPluginRegistrar) screen_retriever_linux_registrar =
fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverLinuxPlugin");
screen_retriever_linux_plugin_register_with_registrar(screen_retriever_linux_registrar);
+1 -1
View File
@@ -3,9 +3,9 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
app_links_linux
dynamic_color
file_selector_linux
gtk
screen_retriever_linux
tray
url_launcher_linux
+1 -1
View File
@@ -18,6 +18,6 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
flutter_lints: ^6.0.0
integration_test:
sdk: flutter
+211 -165
View File
@@ -4,24 +4,24 @@ version = 4
[[package]]
name = "addr2line"
version = "0.21.0"
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
name = "adler2"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
[[package]]
name = "aho-corasick"
version = "1.1.2"
version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
checksum = "c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba"
dependencies = [
"memchr",
]
@@ -62,9 +62,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.75"
version = "1.0.104"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470"
[[package]]
name = "atomic"
@@ -72,25 +72,19 @@ version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba"
[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
version = "0.3.69"
version = "0.3.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6"
dependencies = [
"addr2line",
"cc",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
"windows-link",
]
[[package]]
@@ -109,15 +103,15 @@ dependencies = [
"quote",
"regex",
"rustc-hash",
"shlex",
"shlex 1.3.0",
"syn 2.0.119",
]
[[package]]
name = "bitflags"
version = "2.11.1"
version = "2.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
dependencies = [
"serde_core",
]
@@ -148,15 +142,15 @@ checksum = "832133bbabbbaa9fbdba793456a2827627a7d2b8fb96032fa1e7666d7895832b"
[[package]]
name = "bumpalo"
version = "3.14.0"
version = "3.20.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec"
checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"
[[package]]
name = "bytemuck"
version = "1.14.0"
version = "1.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6"
checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797"
[[package]]
name = "byteorder"
@@ -165,12 +159,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "cc"
version = "1.0.83"
name = "bytes"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cc"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630"
dependencies = [
"libc",
"find-msvc-tools",
"shlex 2.0.1",
]
[[package]]
@@ -184,9 +185,9 @@ dependencies = [
[[package]]
name = "cfg-if"
version = "1.0.0"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
[[package]]
name = "clang-sys"
@@ -220,24 +221,24 @@ dependencies = [
[[package]]
name = "crossbeam-channel"
version = "0.5.16"
version = "0.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d85363c37faeca707aef026efa9f3b34d077bce547e48f770770625c6013679e"
checksum = "98b0cc327b5bc766e7fda9c9260cc0fa81b43a8e240440422dff70788e3f9ef1"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.22"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61803da095bee82a81bb1a452ecc25d3b2f1416d1897eb86430c6159ef717c17"
checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
[[package]]
name = "crypto-common"
version = "0.1.6"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
dependencies = [
"generic-array",
"typenum",
@@ -267,13 +268,13 @@ dependencies = [
[[package]]
name = "delegate-attr"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51aac4c99b2e6775164b412ea33ae8441b2fde2dbf05a20bc0052a63d08c475b"
checksum = "a84c9a9c129b98e707ac9a31e204c10c064dd9f949b7da362310ff1a8b137d79"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.6",
]
[[package]]
@@ -336,6 +337,12 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "find-msvc-tools"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aedcfb3409746eddb02b9e19ebda1c3394f759a152e48ee875a0844d1b955484"
[[package]]
name = "flutter_rust_bridge"
version = "2.13.0"
@@ -392,9 +399,9 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]]
name = "futures"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335"
checksum = "9a31d2a3fbaaeb2af2368bbdd904aa8e812d3c04a1ee10d3171f52d556e5d0a3"
dependencies = [
"futures-channel",
"futures-core",
@@ -407,9 +414,9 @@ dependencies = [
[[package]]
name = "futures-channel"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb"
checksum = "b1f9e3d69d39e4862ffed03ed071a76f9a13ba1d9109d355b0f0aa6b15e393c4"
dependencies = [
"futures-core",
"futures-sink",
@@ -417,15 +424,15 @@ dependencies = [
[[package]]
name = "futures-core"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c"
checksum = "92d699e522242e69e3003b94ecc1f960f3a5e015aa7c5d7486e65ad01dd94f5e"
[[package]]
name = "futures-executor"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc"
checksum = "031b47cf1a3c6cc8bc2fc76cd437f521619387907d469316e7c0bc278f1f5432"
dependencies = [
"futures-core",
"futures-task",
@@ -434,38 +441,38 @@ dependencies = [
[[package]]
name = "futures-io"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa"
checksum = "53c0fa8157de1303bfffdaa1cc2a673bfffb60102f76b0ef4441659124373fed"
[[package]]
name = "futures-macro"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb"
checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.119",
"syn 3.0.6",
]
[[package]]
name = "futures-sink"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817"
checksum = "1944426bf7d03f1d14f708785e4b33efd750b36d48a157b836b3efc15ede8e1d"
[[package]]
name = "futures-task"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2"
checksum = "cd417de3d1d015fc3bfd2b1ea46dfc7bab72ef86f1cc7cc9c78e728b34a6d1fd"
[[package]]
name = "futures-util"
version = "0.3.29"
version = "0.3.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104"
checksum = "0d50a92467f8ba5dd6e3ee5d4bd04d73ab2e4e1c44474a0674821dfce14b79bc"
dependencies = [
"futures-channel",
"futures-core",
@@ -475,7 +482,6 @@ dependencies = [
"futures-task",
"memchr",
"pin-project-lite",
"pin-utils",
"slab",
]
@@ -501,9 +507,9 @@ dependencies = [
[[package]]
name = "gimli"
version = "0.28.1"
version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7"
[[package]]
name = "glob"
@@ -547,9 +553,9 @@ dependencies = [
[[package]]
name = "hermit-abi"
version = "0.3.3"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
checksum = "e17592d60ebacc7d5e169f4663c5f84f9161cc90328abcfe8456f41e4dfcb284"
[[package]]
name = "hex"
@@ -565,9 +571,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "indexmap"
version = "2.14.0"
version = "2.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"
checksum = "cc4e190f5d26ca7051642629da2c52fc03bde85a03197c99408dcd291734c855"
dependencies = [
"equivalent",
"hashbrown 0.17.1",
@@ -575,13 +581,15 @@ dependencies = [
[[package]]
name = "interprocess"
version = "2.4.2"
version = "2.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "069323743400cb7ab06a8fe5c1ed911d36b6919ec531661d034c89083629595b"
checksum = "6cb02ffbf25e8ef0f4a95bff054eef75f6d1bf16919474cf2caa63b21997478a"
dependencies = [
"doctest-file",
"futures-core",
"libc",
"recvmsg",
"tokio",
"widestring",
"windows-sys 0.61.2",
]
@@ -603,10 +611,12 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
[[package]]
name = "js-sys"
version = "0.3.69"
version = "0.3.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
checksum = "7883d941dae510fb2d978fc3fe018c71c9e2892fd38854de3e8b92c2e5ad9cc5"
dependencies = [
"cfg-if",
"futures-util",
"wasm-bindgen",
]
@@ -623,15 +633,15 @@ dependencies = [
[[package]]
name = "lazy_static"
version = "1.4.0"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
checksum = "20870f649af7073d53e38067b2a84312175d56ea15217e1b15bc83506ec50afb"
[[package]]
name = "libc"
version = "0.2.189"
version = "0.2.190"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
checksum = "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78"
[[package]]
name = "libloading"
@@ -660,9 +670,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.20"
version = "0.4.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
[[package]]
name = "md-5"
@@ -688,11 +698,22 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
version = "0.7.1"
version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316"
dependencies = [
"adler",
"adler2",
]
[[package]]
name = "mio"
version = "1.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee"
dependencies = [
"libc",
"wasi",
"windows-sys 0.61.2",
]
[[package]]
@@ -707,9 +728,9 @@ dependencies = [
[[package]]
name = "num_cpus"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"
dependencies = [
"hermit-abi",
"libc",
@@ -717,9 +738,9 @@ dependencies = [
[[package]]
name = "objc2"
version = "0.6.4"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f"
checksum = "08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8"
dependencies = [
"objc2-encode",
]
@@ -765,18 +786,18 @@ dependencies = [
[[package]]
name = "object"
version = "0.32.1"
version = "0.37.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe"
dependencies = [
"memchr",
]
[[package]]
name = "once_cell"
version = "1.18.0"
version = "1.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[package]]
name = "oslog"
@@ -804,21 +825,15 @@ dependencies = [
[[package]]
name = "pin-project-lite"
version = "0.2.13"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]]
name = "portable-atomic"
version = "1.13.1"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
[[package]]
name = "prettyplease"
@@ -874,9 +889,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.10.2"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
checksum = "f020237b6c8eed93db2e2cb53c00c60a8e1bc73da7d073199a1180401450218d"
dependencies = [
"aho-corasick",
"memchr",
@@ -886,9 +901,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.4.3"
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
checksum = "ad8553b9b26413251cbf30e620595c7a41b3887f03da04579c0e6b0d6a06b4b2"
dependencies = [
"aho-corasick",
"memchr",
@@ -897,9 +912,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
version = "0.8.2"
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"
[[package]]
name = "relative-path"
@@ -980,14 +995,15 @@ dependencies = [
"ropey",
"rquickjs",
"serde_json",
"tokio",
"windows-sys 0.61.2",
]
[[package]]
name = "rustc-demangle"
version = "0.1.23"
version = "0.1.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
checksum = "b74b56ffa8bb2830709a538c2cbcae9aa062db0d2a42563bfb09bdaae44020eb"
[[package]]
name = "rustc-hash"
@@ -997,9 +1013,9 @@ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
[[package]]
name = "rustix"
version = "1.1.4"
version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
checksum = "891efababe418670775f199f0d233d84843c227a0949a883ce15b37c78d6629d"
dependencies = [
"bitflags",
"errno",
@@ -1008,6 +1024,12 @@ dependencies = [
"windows-sys 0.61.2",
]
[[package]]
name = "rustversion"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
[[package]]
name = "scopeguard"
version = "1.2.0"
@@ -1041,7 +1063,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.4",
"syn 3.0.6",
]
[[package]]
@@ -1064,19 +1086,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "slab"
version = "0.4.9"
name = "shlex"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [
"autocfg",
]
checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
[[package]]
name = "slab"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]]
name = "smallvec"
version = "1.15.1"
version = "1.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e"
[[package]]
name = "socket2"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys 0.61.2",
]
[[package]]
name = "str_indices"
@@ -1097,9 +1132,9 @@ dependencies = [
[[package]]
name = "syn"
version = "3.0.4"
version = "3.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f"
checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
dependencies = [
"proc-macro2",
"quote",
@@ -1108,22 +1143,22 @@ dependencies = [
[[package]]
name = "thiserror"
version = "2.0.20"
version = "2.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f"
checksum = "09e52cb86a36cede5cb101bf8908837b3e4c6e5e59fe7fd85c23fb56200d189e"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "2.0.20"
version = "2.0.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af"
checksum = "fe5197923287db20a58125f0bc85c062f7f2c892de97b18c356f9efb14b28524"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.4",
"syn 3.0.6",
]
[[package]]
@@ -1137,13 +1172,28 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.34.0"
version = "1.53.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044"
dependencies = [
"backtrace",
"num_cpus",
"bytes",
"libc",
"mio",
"pin-project-lite",
"socket2",
"tokio-macros",
"windows-sys 0.61.2",
]
[[package]]
name = "tokio-macros"
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.6",
]
[[package]]
@@ -1157,9 +1207,9 @@ dependencies = [
[[package]]
name = "toml_edit"
version = "0.25.13+spec-1.1.0"
version = "0.25.15+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6975367e4d2ef766d86af01ffad14b622fecc8d4357a998fbc4deb6e9bacaf9b"
checksum = "1340ea94a5856333492c9064b02c778b191dd2c853778d9609debdcdfea3a614"
dependencies = [
"indexmap",
"toml_datetime",
@@ -1178,15 +1228,15 @@ dependencies = [
[[package]]
name = "typenum"
version = "1.17.0"
version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]]
name = "unicode-ident"
version = "1.0.12"
version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
[[package]]
name = "unicode-segmentation"
@@ -1196,52 +1246,45 @@ checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8"
[[package]]
name = "version_check"
version = "0.9.4"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "wasi"
version = "0.11.1+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
[[package]]
name = "wasm-bindgen"
version = "0.2.92"
version = "0.2.129"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
checksum = "9bb54f33acc68fd454578d9820b0bde1a1a3d17aa17bb7b6595806d02886d409"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.119",
"rustversion",
"wasm-bindgen-macro",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-futures"
version = "0.4.42"
version = "0.4.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
checksum = "3cbab34de2d982e9b48e18d216d04c4a6f641066ff19ffb699980f591ee3610e"
dependencies = [
"cfg-if",
"js-sys",
"tokio",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "wasm-bindgen-macro"
version = "0.2.92"
version = "0.2.129"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
checksum = "2e29d0c35b16e224a7eeb5cd2d25e3e1968fbd65604117b44d3b789d00ee8535"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
@@ -1249,28 +1292,31 @@ dependencies = [
[[package]]
name = "wasm-bindgen-macro-support"
version = "0.2.92"
version = "0.2.129"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
checksum = "6f501a8bc3719dba86ef8ae4728879c08001bea749eb1333ac5b91e040e2a6b7"
dependencies = [
"bumpalo",
"proc-macro2",
"quote",
"syn 2.0.119",
"wasm-bindgen-backend",
"syn 3.0.6",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
version = "0.2.92"
version = "0.2.129"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
checksum = "23f0c9c52aa7cd7d77769a4cfe2a9adb1b331f489a41d912ce14513d5ab995c6"
dependencies = [
"unicode-ident",
]
[[package]]
name = "web-sys"
version = "0.3.66"
version = "0.3.106"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
checksum = "88261b9deccee56594c11a3460c462c41f58d148598fe70ad77070126a68aba4"
dependencies = [
"js-sys",
"wasm-bindgen",
+3 -2
View File
@@ -4,6 +4,7 @@ version = "0.1.0"
edition = "2021"
[lib]
name = "rust_api"
crate-type = ["cdylib", "staticlib"]
[dependencies]
@@ -14,7 +15,8 @@ ropey = { version = "1.6.1", default-features = false, features = ["simd"] }
# The IPC server exists so a desktop Core process can talk to the app. Android
# loads the Core in-process, so nothing below is built into the Android library.
[target.'cfg(not(target_os = "android"))'.dependencies]
interprocess = "2"
interprocess = { version = "2", features = ["tokio"] }
tokio = { version = "1.36", features = ["io-util", "macros", "rt", "sync"] }
global-hotkey = "0.8"
[target.'cfg(all(unix, not(target_os = "android")))'.dependencies]
@@ -31,7 +33,6 @@ dispatch2 = "0.3"
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.61", features = [
"Win32_Foundation",
"Win32_System_Pipes",
"Win32_System_Threading",
"Win32_UI_WindowsAndMessaging",
] }
+1 -1
View File
@@ -1,6 +1,6 @@
[toolchain]
# native_toolchain_rust refuses a floating channel; bump this deliberately.
channel = "1.98.1"
channel = "1.99.0"
targets = [
"aarch64-apple-darwin",
"x86_64-apple-darwin",
+34 -34
View File
@@ -5,18 +5,18 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: cd6add6f846f35fb79f3c315296703c1a24f3cfd7f4739d91a74961c1c7e9f1b
sha256: fdcd9f70f9eb80df3bc5ed0fa67280df2595fd481948df8a9ab082e6a40ad04b
url: "https://pub.dev"
source: hosted
version: "100.0.0"
version: "108.0.0"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "6ba98576948803398b69e3a444df24eacdbe12ed699c7014e120ea38552debbf"
sha256: a51c769bff3b6dfbe9d60199b8606d808290702a296bef0c26a4ca391d414e46
url: "https://pub.dev"
source: hosted
version: "13.0.0"
version: "14.4.0"
args:
dependency: transitive
description:
@@ -77,10 +77,10 @@ packages:
dependency: transitive
description:
name: coverage
sha256: "5da775aa218eaf2151c721b16c01c7676fbfdd99cebba2bf64e8b807a28ff94d"
sha256: "956a3de0725ca232ad353565a8290d3357592bf4250f6f298a185e2d949c5d3d"
url: "https://pub.dev"
source: hosted
version: "1.15.0"
version: "1.15.1"
crypto:
dependency: "direct main"
description:
@@ -109,18 +109,18 @@ packages:
dependency: transitive
description:
name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
sha256: "404dbf9bce29beafbe9dcb19219447b6f7d49900cd42b8d3b7af102b24508e25"
url: "https://pub.dev"
source: hosted
version: "4.0.0"
version: "4.1.0"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
sha256: "218aeb56050c714f62a3182775320dfa04602b55074873e24e31bbd39bda96fb"
url: "https://pub.dev"
source: hosted
version: "2.1.3"
version: "2.2.0"
hooks:
dependency: "direct main"
description:
@@ -149,10 +149,10 @@ packages:
dependency: transitive
description:
name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
sha256: "2635216ca6a737e60de577ffa1a48a0bec76ca8a62917cfc1bb88c14c570646f"
url: "https://pub.dev"
source: hosted
version: "1.0.5"
version: "1.1.0"
lints:
dependency: transitive
description:
@@ -189,10 +189,10 @@ packages:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
sha256: bd47de35f07e27267e69c8c8b22edf9473bfee170a60d60fcc93730c5144b7f6
url: "https://pub.dev"
source: hosted
version: "2.0.0"
version: "2.1.0"
node_preamble:
dependency: transitive
description:
@@ -205,10 +205,10 @@ packages:
dependency: transitive
description:
name: package_config
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
sha256: ffcf4cf3d6c0b74ac43708d9f56625506e8a68aa935abe9d267a7330f320eb5d
url: "https://pub.dev"
source: hosted
version: "2.2.0"
version: "3.0.0"
path:
dependency: "direct main"
description:
@@ -221,18 +221,18 @@ packages:
dependency: transitive
description:
name: pool
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
sha256: "4177f68c237ea2128d1bee66ac17b2ce05ba3dbaafcbdd54c5d40a39d0b6b11c"
url: "https://pub.dev"
source: hosted
version: "1.5.2"
version: "1.5.3"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
sha256: "261236774e8b1d69cfc6b9eabbc96c40f25e7a2d6b171f3385d4f65d5734fb24"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
version: "2.2.1"
record_use:
dependency: transitive
description:
@@ -285,10 +285,10 @@ packages:
dependency: transitive
description:
name: source_maps
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
sha256: "14c2945847669b44089bb1222f66873d7ff7103c58911917f2a63c5a62327898"
url: "https://pub.dev"
source: hosted
version: "0.10.13"
version: "0.10.14"
source_span:
dependency: transitive
description:
@@ -301,10 +301,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490"
url: "https://pub.dev"
source: hosted
version: "1.12.1"
version: "1.12.2"
stream_channel:
dependency: transitive
description:
@@ -333,26 +333,26 @@ packages:
dependency: "direct dev"
description:
name: test
sha256: ca578dc12bb8b2f40b67b7d3bd2fac4f31c01a6ff7130a14e2597b919934507f
sha256: de5d145b0afff7921e5e788a880f52d7e5f3ae24068a202f6fd3b58e4ba26323
url: "https://pub.dev"
source: hosted
version: "1.31.1"
version: "1.32.0"
test_api:
dependency: transitive
description:
name: test_api
sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11"
sha256: "0a10344e901e5b2e63819567951cb6a06673ed6b84f40462188ff5a0c41f371f"
url: "https://pub.dev"
source: hosted
version: "0.7.12"
version: "0.7.14"
test_core:
dependency: transitive
description:
name: test_core
sha256: d2e98ec12998368dc59ddd47ab709f2cd55acd6b66dc7db764455a44082f4bc5
sha256: "80f3fb49087454e07e7e07c67578cfdd156c8c3a5227d8b3f47c7b2d019c2e93"
url: "https://pub.dev"
source: hosted
version: "0.6.18"
version: "0.6.20"
typed_data:
dependency: transitive
description:
@@ -365,10 +365,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0"
url: "https://pub.dev"
source: hosted
version: "15.2.0"
version: "15.3.0"
watcher:
dependency: transitive
description:
@@ -413,9 +413,9 @@ packages:
dependency: "direct main"
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
sha256: f67cdd8e07d3c6329146aaef1ba043542b3134c12489f553ca9a7435d1068aea
url: "https://pub.dev"
source: hosted
version: "3.1.3"
version: "3.1.4"
sdks:
dart: ">=3.11.0 <4.0.0"
@@ -0,0 +1,23 @@
import Foundation
import ObjectiveC
// flutter/flutter#185394, see "Wrong-size back buffer on macOS" in .agents/flutter-upgrade.md.
enum BackBufferCacheGuard {
private static var installed = false
static func install() {
let selector = NSSelectorFromString("removeSurfaceForSize:")
guard !installed,
let cacheClass = NSClassFromString("FlutterBackBufferCache"),
let method = class_getInstanceMethod(cacheClass, selector)
else { return }
installed = true
typealias RemoveSurface = @convention(c) (AnyObject, Selector, CGSize) -> Unmanaged<AnyObject>?
let original = unsafeBitCast(method_getImplementation(method), to: RemoveSurface.self)
let guarded: @convention(block) (AnyObject, CGSize) -> AnyObject? = { cache, size in
guard let surface = original(cache, selector, size)?.takeUnretainedValue() else { return nil }
return (surface.value(forKey: "size") as? NSValue)?.sizeValue == size ? surface : nil
}
method_setImplementation(method, imp_implementationWithBlock(guarded))
}
}
@@ -36,6 +36,7 @@ public class WindowPlugin: NSObject, FlutterPlugin {
private var reportedHidden = false
public static func register(with registrar: FlutterPluginRegistrar) {
BackBufferCacheGuard.install()
let channel = FlutterMethodChannel(name: "window", binaryMessenger: registrar.messenger)
let plugin = WindowPlugin()
plugin.registrar = registrar
+156 -181
View File
@@ -21,18 +21,18 @@ packages:
dependency: transitive
description:
name: analyzer_buffer
sha256: "445b77e2054fa3e8c8a8ef1b5e9e6b23bb8028fffd34b5e60eaef315b7750674"
sha256: f890a2e708e38fbf4238ad2f9fd3d506538acdddb0cd8eb2c3e8c7bd17784b57
url: "https://pub.dev"
source: hosted
version: "0.3.3"
version: "0.3.4"
android_file_picker:
dependency: transitive
description:
name: android_file_picker
sha256: "665a5a57dfca27f91a715d300e4852a784f9f98e503dcff281bec9afb55767be"
sha256: "014c74ab48d452c3252465682375a7fe6ddf56abb908ec361f207a3c4ffb2444"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.1.1"
animations:
dependency: "direct main"
description:
@@ -45,18 +45,18 @@ packages:
dependency: "direct main"
description:
name: app_links
sha256: f8db46d2ea9ff6f3a37191a7fd5b7813da1253ace8c32c1b9eadace41d1188ea
sha256: "08ba88bf19d9edea33130cb71c8ced2cb982b4e00b82efef4a434d1357bc69c3"
url: "https://pub.dev"
source: hosted
version: "7.2.1"
version: "7.2.2"
app_links_linux:
dependency: transitive
description:
name: app_links_linux
sha256: f5f7173a78609f3dfd4c2ff2c95bd559ab43c80a87dc6a095921d96c05688c81
sha256: "9ccb5802085a1e57bb07b6256fd1d61a78c7ec104944d4965e62938b4fefd9cb"
url: "https://pub.dev"
source: hosted
version: "1.0.3"
version: "1.0.4"
app_links_platform_interface:
dependency: transitive
description:
@@ -69,18 +69,18 @@ packages:
dependency: transitive
description:
name: app_links_web
sha256: af060ed76183f9e2b87510a9480e56a5352b6c249778d07bd2c95fc35632a555
sha256: "382d32c6f486f15b1d7f5d6a37a70a481a4fc08382eef419d373169921a3e765"
url: "https://pub.dev"
source: hosted
version: "1.0.4"
version: "1.0.5"
archive:
dependency: "direct main"
description:
name: archive
sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff
sha256: "6c5bcd986e06b94e3c40244af471750840a3d2341d1f9763a1100a14add517b4"
url: "https://pub.dev"
source: hosted
version: "4.0.9"
version: "4.3.0"
args:
dependency: "direct dev"
description:
@@ -109,10 +109,10 @@ packages:
dependency: transitive
description:
name: build
sha256: "45d14a0fb23e018d8287c32fc98d726ce466b231928ed9b9200f29bd3ccd39ae"
sha256: "8a5c5761af8e31748bba3c82f68925ace40f3225c3eea25be9beb57eca7cd7a8"
url: "https://pub.dev"
source: hosted
version: "4.0.7"
version: "4.0.11"
build_cli_annotations:
dependency: transitive
description:
@@ -125,42 +125,42 @@ packages:
dependency: transitive
description:
name: build_config
sha256: "94eaf6708fe64408c632ef2689ca3777b112f9421306ccf4f8c84d7c5c9f83f8"
sha256: d466ed2dc9c6cd1d169948879b84ee061eb5e22c64a7c6089879c6296d272a8d
url: "https://pub.dev"
source: hosted
version: "1.3.2"
version: "1.3.3"
build_daemon:
dependency: transitive
description:
name: build_daemon
sha256: "79e05eaf15a48d7230b053a4363b8eaac0cc234bbd0134c3229455481f55cbc6"
sha256: e1d40ef3f7934986d5da2271b1ba07794921ce263e44d622fb6c406d76589e33
url: "https://pub.dev"
source: hosted
version: "4.1.5"
version: "4.1.6"
build_runner:
dependency: "direct dev"
description:
name: build_runner
sha256: "5367e521935b102bdf1e735d2aab461e36b2edca6517662d088dd04cc39f8d16"
sha256: "894c243f6bc32015fec466ce30a6925bd537a77a426ee5bf481120477eb3de67"
url: "https://pub.dev"
source: hosted
version: "2.15.1"
version: "2.16.1"
built_collection:
dependency: transitive
description:
name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
sha256: "44922ecebd8e3d0cef743dadd3b54df4e87e2a4c52a29465a1872aa9e192caa8"
url: "https://pub.dev"
source: hosted
version: "5.1.1"
version: "5.1.2"
built_value:
dependency: transitive
description:
name: built_value
sha256: "31b24be6615ec7fcf70b3aa5a7469fe35826485e639a16dd7eb83ba30e4cc6a8"
sha256: f87ea98192116f7093cb214551ce1929caae0681fdba282b3d8b4462adee7bb7
url: "https://pub.dev"
source: hosted
version: "8.12.7"
version: "8.13.0"
characters:
dependency: transitive
description:
@@ -197,18 +197,18 @@ packages:
dependency: transitive
description:
name: cli_util
sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c
sha256: "89b8801ba49f8b593fbf2d3e59efd0f566c46cd4ba6837ae2610c72b52a0f899"
url: "https://pub.dev"
source: hosted
version: "0.4.2"
version: "0.6.0"
clock:
dependency: transitive
description:
name: clock
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e
url: "https://pub.dev"
source: hosted
version: "1.1.2"
version: "1.1.3"
code_assets:
dependency: transitive
description:
@@ -221,10 +221,10 @@ packages:
dependency: transitive
description:
name: code_builder
sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d"
sha256: aa5932e94c6c39c2f9ec4e5e06dfdd11a9430a61f6c41b6ba75b28ce0c481baf
url: "https://pub.dev"
source: hosted
version: "4.11.1"
version: "4.12.0"
code_forge:
dependency: "direct main"
description:
@@ -276,10 +276,10 @@ packages:
dependency: "direct dev"
description:
name: cross_file
sha256: "92c9c43c383bfa1c32079d3bc492d55d6d4318044b7b47edaff8971cbb555c51"
sha256: f141ea4f277af142a0356955707f6556f37b03947d39d55585981a06ca437bd6
url: "https://pub.dev"
source: hosted
version: "0.3.5+4"
version: "0.3.5+5"
crypto:
dependency: "direct main"
description:
@@ -308,18 +308,18 @@ packages:
dependency: transitive
description:
name: dbus
sha256: "0ce9b0a839e6dee59a37a623d2fc26a35bbbe6404213e419b0d6411023d62645"
sha256: a48d5da28e89bd02196e80d81ed8d7954923d00a0f4a68cc20b575038f023383
url: "https://pub.dev"
source: hosted
version: "0.7.14"
version: "0.7.15"
device_info_plus:
dependency: "direct main"
description:
name: device_info_plus
sha256: "0891702f96b2e465fe567b7ec448380e6b1c14f60af552a8536d9f583b6b8442"
sha256: ade1c36f8355d6284c98e4a47992ea263887ed3d1acb281e37635dd45f04c4aa
url: "https://pub.dev"
source: hosted
version: "13.2.0"
version: "13.3.0"
device_info_plus_platform_interface:
dependency: transitive
description:
@@ -332,34 +332,34 @@ packages:
dependency: "direct main"
description:
name: dio
sha256: "0df44ebba85e503958eb75d07eedd3c86275a58c1d3eda2f2ce8f0a2c3abbb3c"
sha256: "852ec3b48cc431ac04fff978413c541502b67ffc3e26921e74e3d994694192c1"
url: "https://pub.dev"
source: hosted
version: "5.11.0"
version: "5.11.1"
dio_web_adapter:
dependency: transitive
description:
name: dio_web_adapter
sha256: "0786d0b7295a373de356fc0af4f6f1d0ab2844ed31b19dfc5e7556b70e24212c"
sha256: "3a1b2cd7be71086f38504956e3ebcd2837288d231ff454bafa78021244102bfc"
url: "https://pub.dev"
source: hosted
version: "2.2.1"
version: "2.2.2"
drift:
dependency: "direct main"
description:
name: drift
sha256: "3a3f1f6f905037d7426e4c445854139fd6a3d592135f7c96d7931682b73d16f4"
sha256: a21a6a7a9e6a0bcabdf47a9af4247c556d38dc9bfe9f05c4fdf72a488bb57eab
url: "https://pub.dev"
source: hosted
version: "2.34.3"
version: "2.35.1"
drift_dev:
dependency: "direct dev"
description:
name: drift_dev
sha256: "735aad3c34215805c66bd518c8812fa4f83b5534b2c13c4092c970c04a7e9983"
sha256: e0d16aaa21f3408cbe2dd4bfc56c36cea43e53a537e6613b91380c0924b3bd30
url: "https://pub.dev"
source: hosted
version: "2.34.5"
version: "2.35.1"
drift_flutter:
dependency: "direct main"
description:
@@ -420,58 +420,58 @@ packages:
dependency: "direct main"
description:
name: file_picker
sha256: afbaa8015d9efabd224f41084ed9fdeddfa65389ebd7cd3a9eb1476aca66b46d
sha256: "9be6aac79508dbcf8dac80a4fb20f27ce6f910837ca27e3670b9295995cc0110"
url: "https://pub.dev"
source: hosted
version: "12.0.0"
version: "12.3.0"
file_picker_darwin:
dependency: transitive
description:
name: file_picker_darwin
sha256: "5d87d156c1d63920447a662b7117d3498c67e3444a44d2cb01ed955d6efa62ef"
sha256: "59fa5394cfa5b6dc8bf491630cb17077b77b844adbb840df371e7be5355d6cf6"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.2.0"
file_picker_linux:
dependency: transitive
description:
name: file_picker_linux
sha256: "93d3f62f97c657053e7b184fe0f5e22347d85067c053640a30b1ac8ad7844e3b"
sha256: bd52ff1e0048f29df95f913c55ad2991c72791d93e6c42241912c4bdee946cb9
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.1.0"
file_picker_platform_interface:
dependency: transitive
description:
name: file_picker_platform_interface
sha256: "9e7a7e01e179929241f0afeb2c8c69ac95e29e17c0abea36ed193881c6bef90c"
sha256: "0355558fd9af6da499d18e333d6b3beb44b0bf19e00933fccd15d18eb8d0e9ca"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.4.0"
file_picker_web:
dependency: transitive
description:
name: file_picker_web
sha256: f1af38b3c91fafe0ca97f659b5c6818a057473ef09bb8b722f9f3f5364aa7eed
sha256: "935560a9d29fa6f006f2855addebb88e88d438e13627d4cc24187033c106f227"
url: "https://pub.dev"
source: hosted
version: "3.0.1"
version: "3.1.0"
file_selector_linux:
dependency: transitive
description:
name: file_selector_linux
sha256: "2567f398e06ac72dcf2e98a0c95df2a9edd03c2c2e0cacd4780f20cdf56263a0"
sha256: da76400e7872ce7637ffdce12749ec24169c25f6195c28372208e65a24bcd2ab
url: "https://pub.dev"
source: hosted
version: "0.9.4"
version: "0.9.4+1"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
sha256: "5e0bbe9c312416f1787a68259ea1505b52f258c587f12920422671807c4d618a"
sha256: d57c62362766b5e7ae739448650b66c6aab7a68ba7ecc65e04018652645ae0f4
url: "https://pub.dev"
source: hosted
version: "0.9.5"
version: "0.9.5+1"
file_selector_platform_interface:
dependency: transitive
description:
@@ -484,10 +484,10 @@ packages:
dependency: transitive
description:
name: file_selector_windows
sha256: "62197474ae75893a62df75939c777763d39c2bc5f73ce5b88497208bc269abfd"
sha256: fbefc5fb92c6d3cbe8d284a2cd971b593bb07d2cd6da8557b81a862250b4acec
url: "https://pub.dev"
source: hosted
version: "0.9.3+5"
version: "0.9.3+6"
fixnum:
dependency: transitive
description:
@@ -505,10 +505,10 @@ packages:
dependency: "direct main"
description:
name: flutter_cache_manager
sha256: "1de7849213b4c73c85aca7e0ac687a9a5d82ccdb594366b9dcc26cb6a2189cd2"
sha256: f94fc6f5480977e3eb7b622ed488f671ba96c971bd0e274e6bd0f0ba9b044816
url: "https://pub.dev"
source: hosted
version: "3.4.2"
version: "3.4.5"
flutter_lints:
dependency: "direct dev"
description:
@@ -554,14 +554,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.13.0"
flutter_staggered_grid_view:
dependency: "direct main"
description:
name: flutter_staggered_grid_view
sha256: "19e7abb550c96fbfeb546b23f3ff356ee7c59a019a651f8f102a4ba9b7349395"
url: "https://pub.dev"
source: hosted
version: "0.7.0"
flutter_svg:
dependency: "direct main"
description:
@@ -580,14 +572,6 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
fractional_indexing:
dependency: "direct main"
description:
name: fractional_indexing
sha256: d883a3c0cfd21cb66889e26c7db4366f1097c20dd7615b24269a8a17d76320f2
url: "https://pub.dev"
source: hosted
version: "1.0.0"
freezed:
dependency: "direct dev"
description:
@@ -608,18 +592,18 @@ packages:
dependency: transitive
description:
name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
sha256: "404dbf9bce29beafbe9dcb19219447b6f7d49900cd42b8d3b7af102b24508e25"
url: "https://pub.dev"
source: hosted
version: "4.0.0"
version: "4.1.0"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
sha256: "218aeb56050c714f62a3182775320dfa04602b55074873e24e31bbd39bda96fb"
url: "https://pub.dev"
source: hosted
version: "2.1.3"
version: "2.2.0"
graphs:
dependency: transitive
description:
@@ -628,14 +612,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.2"
gtk:
dependency: transitive
description:
name: gtk
sha256: "4ff85b2a16724029dd9e5bbb5a94b6918f9973f74ba571c949d2002801879cf5"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
hooks:
dependency: transitive
description:
@@ -672,18 +648,18 @@ packages:
dependency: "direct main"
description:
name: image_picker
sha256: d8402284df184bc05f4a2210c6c23983b0720f4cd87cbd05c5390a78af602667
sha256: e71b1bd9e40124041128d60fc3034c7b1598e1bba4e570bba0c70301c817013a
url: "https://pub.dev"
source: hosted
version: "1.2.3"
version: "1.2.4"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: "6f3a1995eafb000333174fae92202622033b0ee7fd917a6cd3730295264df84a"
sha256: "8a7823d5d3e884f7780829d85d92110d072bdcd9ed48e2be158d2abe91a912d4"
url: "https://pub.dev"
source: hosted
version: "0.8.13+19"
version: "0.8.13+25"
image_picker_for_web:
dependency: transitive
description:
@@ -696,10 +672,10 @@ packages:
dependency: transitive
description:
name: image_picker_ios
sha256: b9c4a438a9ff4f60808c9cf0039b93a42bb6c2211ef6ebb647394b2b3fa84588
sha256: "815921d05ef87d64dc64e9f7f855967614a9a67086d0c60fa27d47a1cd9a8896"
url: "https://pub.dev"
source: hosted
version: "0.8.13+6"
version: "0.8.13+9"
image_picker_linux:
dependency: transitive
description:
@@ -720,10 +696,10 @@ packages:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
sha256: "2dee4b4e3be429db71472c9c559c981498070a61af1ba82e0e4986fc5dadc042"
url: "https://pub.dev"
source: hosted
version: "2.11.1"
version: "2.11.2"
image_picker_windows:
dependency: transitive
description:
@@ -752,26 +728,26 @@ packages:
dependency: transitive
description:
name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
sha256: "2635216ca6a737e60de577ffa1a48a0bec76ca8a62917cfc1bb88c14c570646f"
url: "https://pub.dev"
source: hosted
version: "1.0.5"
version: "1.1.0"
jni:
dependency: transitive
description:
name: jni
sha256: f038e58b4dc2c9037f50e233175086337e0b305e356d28211bf55f21c504cbd3
sha256: "6b9ca0602fef0230e83149afbe3f9f8227e94f2bbe84a1da4f14d699742f402d"
url: "https://pub.dev"
source: hosted
version: "1.0.3"
version: "1.1.0"
jni_flutter:
dependency: transitive
description:
name: jni_flutter
sha256: "7b717011ea40d04fd47c2731d3d1d36eb99eba3435c2753d62489e8c3c9991d5"
sha256: "0dd33d67797560f66e961a6053882d4df54bd345bf063b8fe7ea133f7ad8b191"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
version: "1.0.4+1"
jni_util:
dependency: transitive
description:
@@ -881,10 +857,10 @@ packages:
dependency: "direct main"
description:
name: material_ui
sha256: "134ab2f0843545c4e661e4ba2753fe1bcf0753cb690d5a9ee4870638a40411e9"
sha256: "32d98f11cf5942a095a8c3e01b03e4de3b17941437713dcf36b1088fb62e23d2"
url: "https://pub.dev"
source: hosted
version: "1.4.0"
version: "1.5.0"
meta:
dependency: transitive
description:
@@ -897,10 +873,10 @@ packages:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
sha256: bd47de35f07e27267e69c8c8b22edf9473bfee170a60d60fcc93730c5144b7f6
url: "https://pub.dev"
source: hosted
version: "2.0.0"
version: "2.1.0"
mobile_scanner:
dependency: "direct main"
description:
@@ -929,18 +905,18 @@ packages:
dependency: transitive
description:
name: native_toolchain_c
sha256: f9c168717100ae6d9fee9ffb0be379bf1f8b26b0f6bcbd4fdddcd931993a6a72
sha256: a1c26117c48cebe5677b0cf0e33a980a79a7c5577effc86f52e5a0d309cdcb60
url: "https://pub.dev"
source: hosted
version: "0.19.2"
version: "0.19.3"
native_toolchain_rust:
dependency: transitive
description:
name: native_toolchain_rust
sha256: faa57d2258a3b0fd2a634054f54e4496c9fcbd971977e7d2b7e6916d56892857
sha256: "8469a0e32a47a5c84b7fd300de9fd0e8082aac76c37922986324f5082a58350d"
url: "https://pub.dev"
source: hosted
version: "1.0.4+0"
version: "1.0.6"
navigator_resizable:
dependency: "direct main"
description:
@@ -985,10 +961,10 @@ packages:
dependency: "direct main"
description:
name: package_info_plus
sha256: "127e1751e37ffb2ff4658beeaca77bad0c27bf5f932bd3a501c2296926d4b481"
sha256: "73ef2cd5c11a7548f9b7f6fc2a4f6113de2e64aa2a70de63feede95548822908"
url: "https://pub.dev"
source: hosted
version: "10.2.1"
version: "10.2.2"
package_info_plus_platform_interface:
dependency: transitive
description:
@@ -1065,18 +1041,18 @@ packages:
dependency: transitive
description:
name: petitparser
sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675"
sha256: "2f1564aadb14215e478563b5406cb80729d022158c01dc50c96013c2f7eb4790"
url: "https://pub.dev"
source: hosted
version: "7.0.2"
version: "7.1.0"
platform:
dependency: transitive
description:
name: platform
sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
sha256: a36d119c13416516a7b5913fbe8af8531e11633d784c550b2125f76c758524ec
url: "https://pub.dev"
source: hosted
version: "3.1.6"
version: "3.2.0"
plugin_platform_interface:
dependency: transitive
description:
@@ -1089,10 +1065,10 @@ packages:
dependency: transitive
description:
name: pool
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
sha256: "4177f68c237ea2128d1bee66ac17b2ce05ba3dbaafcbdd54c5d40a39d0b6b11c"
url: "https://pub.dev"
source: hosted
version: "1.5.2"
version: "1.5.3"
posix:
dependency: transitive
description:
@@ -1112,18 +1088,18 @@ packages:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
sha256: "261236774e8b1d69cfc6b9eabbc96c40f25e7a2d6b171f3385d4f65d5734fb24"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
version: "2.2.1"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
sha256: c38b81cbf34450b67e0265d73433569d12e34782e30ed769c9cc99c9d5f2e796
url: "https://pub.dev"
source: hosted
version: "1.5.0"
version: "1.6.0"
re_highlight:
dependency: "direct main"
description:
@@ -1253,26 +1229,26 @@ packages:
dependency: "direct main"
description:
name: shared_preferences
sha256: c3025c5534b01739267eb7d76959bbc25a6d10f6988e1c2a3036940133dd10bf
sha256: "1e85e0dccf5b4a016077fea7dfbb4a7cb39c759ac1596fcf60c06deadb7da91f"
url: "https://pub.dev"
source: hosted
version: "2.5.5"
version: "2.5.6"
shared_preferences_android:
dependency: transitive
description:
name: shared_preferences_android
sha256: "0634e64bd719f89c012f392938e173521f535d3ecaf66558fa94a056d22b5cc7"
sha256: "1e12aafe408aa50da80edfd679a2a6bf63ba7ab37c7fa98286da459a757b3399"
url: "https://pub.dev"
source: hosted
version: "2.4.27"
version: "2.4.28"
shared_preferences_foundation:
dependency: transitive
description:
name: shared_preferences_foundation
sha256: "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f"
sha256: "2ec3934efa51e46117f23031cc141b8fc878e8525b94ec1ea4f7f586cf1b47ea"
url: "https://pub.dev"
source: hosted
version: "2.5.6"
version: "2.5.7"
shared_preferences_linux:
dependency: transitive
description:
@@ -1282,7 +1258,7 @@ packages:
source: hosted
version: "2.4.1"
shared_preferences_platform_interface:
dependency: transitive
dependency: "direct main"
description:
name: shared_preferences_platform_interface
sha256: "649dc798a33931919ea356c4305c2d1f81619ea6e92244070b520187b5140ef9"
@@ -1370,10 +1346,10 @@ packages:
dependency: transitive
description:
name: source_maps
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
sha256: "14c2945847669b44089bb1222f66873d7ff7103c58911917f2a63c5a62327898"
url: "https://pub.dev"
source: hosted
version: "0.10.13"
version: "0.10.14"
source_span:
dependency: transitive
description:
@@ -1386,42 +1362,42 @@ packages:
dependency: transitive
description:
name: sqflite
sha256: "54ad23e2a79c846b596b6c56cdd9c867ea58c288258402316b602f78df0cbfe0"
sha256: "7419d02d128023f38586481c81e14e5692167f75b7f411a914b1eb50d28c010e"
url: "https://pub.dev"
source: hosted
version: "2.4.4"
version: "2.4.4+1"
sqflite_android:
dependency: transitive
description:
name: sqflite_android
sha256: d0548f9d7422a2dae99ec6f8b0a3074463b132d216fa5ba0d230eeefc901983b
sha256: "805b27c6fa10d8883253795e644818fbd5c87ce665459db84fbe71326cbb5421"
url: "https://pub.dev"
source: hosted
version: "2.4.3"
version: "2.4.4"
sqflite_common:
dependency: transitive
description:
name: sqflite_common
sha256: "5bf6a55c166e73bf651ba7ec3ed486e577620e3dc8f3a9c6a258a8031b624590"
sha256: da542ae39840132566b8652d6bfab108a972099a8e4377b3bcd98ae1595e6629
url: "https://pub.dev"
source: hosted
version: "2.5.11"
version: "2.5.13+1"
sqflite_darwin:
dependency: transitive
description:
name: sqflite_darwin
sha256: c86ca18b8f666bbf903924687fe21cc16fc385d086005067e26619ca530bef9f
sha256: dbdda396f975f74d611ffd3e6fb280ee3ee4cd2319b89278533f427e0140cf0b
url: "https://pub.dev"
source: hosted
version: "2.4.3+1"
version: "2.4.4"
sqflite_platform_interface:
dependency: transitive
description:
name: sqflite_platform_interface
sha256: f84939f84350d92d04416f8bc4dc52d3896aec7716cc9e80cf0146342139dc50
sha256: c9177b2f3150ed0647b90a94307c28452fe0a5401863044216aed83addd6c7c5
url: "https://pub.dev"
source: hosted
version: "2.4.1"
version: "2.4.2"
sqlcipher_flutter_libs:
dependency: transitive
description:
@@ -1434,10 +1410,10 @@ packages:
dependency: "direct dev"
description:
name: sqlite3
sha256: "64b2c63c8232dd20d14b34105a81ebfd74320442e8451f836179ec89986aa478"
sha256: cc62d72dbf16bb1f6ae8954b238016de1473e53df060ed0c332eed0a41dd1848
url: "https://pub.dev"
source: hosted
version: "3.5.1"
version: "3.7.0"
sqlite3_flutter_libs:
dependency: transitive
description:
@@ -1458,10 +1434,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490"
url: "https://pub.dev"
source: hosted
version: "1.12.1"
version: "1.12.2"
state_notifier:
dependency: transitive
description:
@@ -1482,10 +1458,10 @@ packages:
dependency: transitive
description:
name: stream_transform
sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871
sha256: a00e5f18bffc764f923e7dec1038527f7fe7a1791361a7117f0358193f13d53a
url: "https://pub.dev"
source: hosted
version: "2.1.1"
version: "2.1.2"
string_scanner:
dependency: transitive
description:
@@ -1506,10 +1482,10 @@ packages:
dependency: transitive
description:
name: synchronized
sha256: "3a7b5d17422dd0f8d5c6c14feaa5a1c65638b9455f871a96f08437562c046931"
sha256: "397b146f97613b83d84bdccb439bc8d0f3aebb6c1d14a9641e6f24201c490b2d"
url: "https://pub.dev"
source: hosted
version: "3.4.1+2"
version: "3.4.2"
term_glyph:
dependency: transitive
description:
@@ -1577,42 +1553,42 @@ packages:
dependency: "direct main"
description:
name: url_launcher
sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8
sha256: e8cc955c97e06df9879140a1fe301f3d493f01b7c62dec7f46834be31d7e9fda
url: "https://pub.dev"
source: hosted
version: "6.3.2"
version: "6.3.3"
url_launcher_android:
dependency: transitive
description:
name: url_launcher_android
sha256: b413d49b73867ac08dd2f9890efd3cc11f2a0e577618d50843440a1fb3776c32
sha256: "611e87fb320b70d1dd721dc46af89c98aceccea9b31fde49e084591414e0c610"
url: "https://pub.dev"
source: hosted
version: "6.3.32"
version: "6.3.33"
url_launcher_ios:
dependency: transitive
description:
name: url_launcher_ios
sha256: "580fe5dfb51671ae38191d316e027f6b76272b026370708c2d898799750a02b0"
sha256: "8faa1aab294f1ab4040b43660c887b0418d5fa4f0cffef76a484e6aa1092eb4a"
url: "https://pub.dev"
source: hosted
version: "6.4.1"
version: "6.4.2"
url_launcher_linux:
dependency: transitive
description:
name: url_launcher_linux
sha256: d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a
sha256: "10f86fef4c2c43563fa6c211ff9cf757adf4d3ab762c56bd430664a947d70cd0"
url: "https://pub.dev"
source: hosted
version: "3.2.2"
version: "3.2.3"
url_launcher_macos:
dependency: transitive
description:
name: url_launcher_macos
sha256: "368adf46f71ad3c21b8f06614adb38346f193f3a59ba8fe9a2fd74133070ba18"
sha256: "5e835a3b869c2d70325349c81c5a45c28e20791265b67b2669da6b08c5cd5201"
url: "https://pub.dev"
source: hosted
version: "3.2.5"
version: "3.2.6"
url_launcher_platform_interface:
dependency: transitive
description:
@@ -1633,10 +1609,10 @@ packages:
dependency: transitive
description:
name: url_launcher_windows
sha256: "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f"
sha256: "6c5ad3f22cd4c38e089b81963b3cd7bb83b111b2df5dce008bb066162f42e429"
url: "https://pub.dev"
source: hosted
version: "3.1.5"
version: "3.1.6"
uuid:
dependency: transitive
description:
@@ -1673,18 +1649,18 @@ packages:
dependency: transitive
description:
name: vector_math
sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47
sha256: "92b9910f66ed1057fd4da7b040ae7c74cafacf885bdc81be496928d5049b032d"
url: "https://pub.dev"
source: hosted
version: "2.4.2"
version: "2.4.3"
vm_service:
dependency: transitive
description:
name: vm_service
sha256: "0016aef94fc66495ac78af5859181e3f3bf2026bd8eecc72b9565601e19ab360"
sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0"
url: "https://pub.dev"
source: hosted
version: "15.2.0"
version: "15.3.0"
watcher:
dependency: transitive
description:
@@ -1759,10 +1735,10 @@ packages:
dependency: transitive
description:
name: windows_file_picker
sha256: "72cf23466e146f2c0f19e1d78be97ff6409dc15b0c090f8eb284f94f4a33de26"
sha256: "62e6e6e115231d1d1d71c7b5883b4091ce3e0190e49548dfb0ff8cba8d91ad96"
url: "https://pub.dev"
source: hosted
version: "1.0.1"
version: "1.3.0"
xdg_directories:
dependency: transitive
description:
@@ -1775,27 +1751,26 @@ packages:
dependency: transitive
description:
name: xml
sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025"
sha256: "67f0aff7be013d107995e9b75bf4e7f2c3ef2dfdb2c8e68024bba0a7fd5756a4"
url: "https://pub.dev"
source: hosted
version: "6.6.1"
version: "7.0.1"
yaml:
dependency: "direct main"
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
sha256: f67cdd8e07d3c6329146aaef1ba043542b3134c12489f553ca9a7435d1068aea
url: "https://pub.dev"
source: hosted
version: "3.1.3"
yaml_writer:
dependency: "direct main"
version: "3.1.4"
yaml_edit:
dependency: transitive
description:
path: "."
ref: "79c78a44ec9c2f5f5f97da1a65610c6fb2ead8b3"
resolved-ref: "79c78a44ec9c2f5f5f97da1a65610c6fb2ead8b3"
url: "https://github.com/chen08209/yaml_writer"
source: git
version: "2.1.0"
name: yaml_edit
sha256: "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488"
url: "https://pub.dev"
source: hosted
version: "2.2.4"
sdks:
dart: ">=3.13.2 <4.0.0"
flutter: ">=3.47.2"
+30 -35
View File
@@ -15,11 +15,12 @@ hooks:
dependencies:
flutter:
sdk: flutter
material_ui: ^1.4.0
material_ui: ^1.5.0
intl: any
path_provider: ^2.1.5
path: ^1.9.0
shared_preferences: ^2.5.3
path_provider: ^2.1.6
path: ^1.9.1
shared_preferences: ^2.5.6
shared_preferences_platform_interface: ^2.4.2
window:
path: plugins/window
dynamic_color: ^2.1.0
@@ -30,9 +31,9 @@ dependencies:
url: https://github.com/chen08209/launch_at_startup.git
ref: e930ce65c5804343103447e01d39fccabedc8681
json_annotation: ^4.12.0
file_picker: ^12.0.0
file_picker: ^12.3.0
mobile_scanner: ^7.4.2
app_links: ^7.1.2
app_links: ^7.2.2
win32_registry: ^3.0.3
tray:
path: plugins/tray
@@ -40,43 +41,37 @@ dependencies:
path: plugins/wifi_ssid
collection: ^1.19.1
animations: ^3.0.0
package_info_plus: ^10.2.1
url_launcher: ^6.3.2
package_info_plus: ^10.2.2
url_launcher: ^6.3.3
freezed_annotation: ^3.1.0
image_picker: ^1.2.0
ffi: ^2.1.4
image_picker: ^1.2.4
ffi: ^2.2.0
dio: ^5.8.0+1
dio: ^5.11.1
win32: ^6.4.0
code_forge:
path: plugins/code_forge
re_highlight: ^0.0.3
archive: ^4.0.7
archive: ^4.3.0
emoji_regex: ^0.0.5
uni_platform: ^0.1.3
device_info_plus: ^13.2.0
device_info_plus: ^13.3.0
connectivity_plus: 7.2.0
screen_retriever: ^0.2.1
screen_retriever: ^0.2.2
flutter_riverpod: ^3.4.3
riverpod_annotation: ^4.0.6
riverpod_annotation: ^4.0.7
riverpod: ^3.4.3
material_color_utilities: ^0.13.0
material_new_shapes: ^1.0.0
flutter_svg: ^2.1.0
flutter_svg: ^2.3.0
path_parsing: ^1.1.0
flutter_cache_manager: ^3.4.1
crypto: ^3.0.3
yaml: ^3.1.3
yaml_writer:
git:
url: https://github.com/chen08209/yaml_writer
ref: 79c78a44ec9c2f5f5f97da1a65610c6fb2ead8b3
flutter_cache_manager: ^3.4.5
crypto: ^3.0.7
yaml: ^3.1.4
super_sliver_list: ^0.4.1
drift: ^2.34.3
drift: ^2.35.1
drift_flutter: ^0.3.1
fractional_indexing: ^1.0.0
navigator_resizable: ^3.1.0
flutter_staggered_grid_view: ^0.7.0
rust_api:
path: plugins/rust_api
setup:
@@ -86,17 +81,17 @@ dev_dependencies:
sdk: flutter
flutter_lints: ^6.0.0
json_serializable: ^6.14.1
build_runner: ^2.15.1
args: ^2.4.2
build_runner: ^2.16.1
args: ^2.7.0
freezed: ^4.0.1
riverpod_generator: ^4.0.8
riverpod_generator: ^4.0.9
drift_dev: ^2.34.0
intl_utils: ^2.8.15
test: ^1.31.0
sqlite3: ^3.5.1
cross_file: ^0.3.4+2
mocktail: ^1.0.4
drift_dev: ^2.35.1
intl_utils: ^2.8.16
test: ^1.31.1
sqlite3: ^3.7.0
cross_file: ^0.3.5+5
mocktail: ^1.0.5
path_provider_platform_interface: ^2.1.3
flutter:
+307 -320
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -26,6 +26,7 @@ windows-sys = { version = "0.52.0", features = [
"Win32_Security_Authorization",
"Win32_Storage_FileSystem",
"Win32_System_JobObjects",
"Win32_System_Registry",
"Win32_System_Threading",
] }
+1 -1
View File
@@ -186,7 +186,7 @@ Future<int> _package(
'git',
'https://github.com/chen08209/flutter_distributor.git',
'--git-ref',
'v0.6.11-flclash.2',
'v0.6.11-flclash.3',
'--git-path',
'packages/flutter_distributor',
]);
+1 -1
View File
@@ -72,7 +72,7 @@ void main(List<String> arguments) {
final reportPath = arguments.isNotEmpty ? arguments.first : _defaultReport;
var minimum = 0.0;
if (arguments.length > 1) {
// A typo here used to come back as an unhandled FormatException and a Dart
// A typo would otherwise surface as an unhandled FormatException and a Dart
// stack trace, which reads as a broken tool rather than a wrong argument.
final parsed = double.tryParse(arguments[1]);
if (parsed == null) {
@@ -3,7 +3,7 @@
set -euo pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
checker="$script_dir/check_comment_density.sh"
checker="$script_dir/comment_density.sh"
temp_dir="$(mktemp -d)"
trap 'rm -rf "$temp_dir"' EXIT
@@ -205,4 +205,4 @@ if ((failures > 0)); then
exit 1
fi
echo 'check_comment_density.sh behaves as documented.'
echo 'comment_density.sh behaves as documented.'
@@ -3,12 +3,13 @@
set -euo pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
checker="$script_dir/check_commit_msg.sh"
checker="$script_dir/commit_msg.sh"
temp_dir="$(mktemp -d)"
trap 'rm -rf "$temp_dir"' EXIT
message_file="$temp_dir/COMMIT_EDITMSG"
failures=0
subject='fix(core): keep the socket alive'
run() {
printf '%s\n' "$@" >"$message_file"
@@ -57,20 +58,14 @@ expect_stderr() {
fi
}
expect_pass 'a conventional subject' 'fix(core): keep the socket alive'
expect_pass 'a conventional subject' "$subject"
# A message left uncleaned starts with blank lines, and the subject then sits
# below line one. Cutting the body from line two would put the subject in it.
expect_fail 'a leading blank line does not hide a bad trailer' \
'Unknown changelog trailer' \
'' \
'fix(core): keep the socket alive' \
'' \
'Changelog-de: nope'
expect_pass 'a leading blank line still finds the subject' \
'' \
'fix(core): keep the socket alive'
'Unknown changelog trailer' '' "$subject" '' 'Changelog-de: nope'
expect_pass 'a leading blank line still finds the subject' '' "$subject"
expect_pass 'a merge subject' 'Merge branch main into dev'
expect_pass 'a fixup subject' 'fixup! fix(core): keep the socket alive'
expect_pass 'a fixup subject' "fixup! $subject"
expect_pass 'a changelog trailer' \
'feat(profiles): support override scripts' \
'' \
@@ -92,7 +87,7 @@ expect_pass 'a camel case identifier' 'fix(ui): AppBar text is truncated'
expect_pass 'an acronym' 'fix(core): DNS leaks after wake'
expect_fail 'an upper case first word before punctuation' 'lower case' \
'fix(core): Keep, or drop, the socket'
expect_fail 'a trailing period' 'period' 'fix(core): keep the socket alive.'
expect_fail 'a trailing period' 'period' "$subject."
expect_fail 'a changelog translation trailer' 'Changelog-zh-CN' \
'feat: x' '' 'Changelog-zh-CN: 新功能'
expect_fail 'an unknown changelog trailer' 'Changelog-de' \
@@ -103,18 +98,16 @@ expect_fail 'an unknown changelog type' 'Changelog-Type' \
'chore: x' '' 'Changelog: X' 'Changelog-Type: docs'
expect_fail 'a breaking marker with no footer' 'BREAKING CHANGE' \
'feat(core)!: drop the legacy socket'
expect_fail 'an agent co-author' 'coding agent' \
'fix(core): keep the socket alive' \
'' \
'Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>'
expect_fail 'a bot co-author' 'coding agent' \
'fix(core): keep the socket alive' \
'' \
'Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>'
for trailer in \
'co-authored-by: Devin <devin@example.com>' \
'Co-authored-by: Review Helper <helper@openai.com>' \
'Co-authored-by: Cursor Agent <cursoragent@cursor.com>' \
'Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>'; do
expect_fail "an agent co-author ($trailer)" 'coding agent' \
"$subject" '' "$trailer"
done
expect_pass 'a human co-author' \
'fix(core): keep the socket alive' \
'' \
'Co-authored-by: Feng Chen <chen08209@gmail.com>'
"$subject" '' 'Co-authored-by: Jane Doe <jane.doe@example.com>'
expect_stderr 'a user facing commit without a trailer' 'Changelog:' \
'feat(profiles): support override scripts'
@@ -124,4 +117,4 @@ if ((failures > 0)); then
exit 1
fi
echo 'check_commit_msg.sh behaves as documented.'
echo 'commit_msg.sh behaves as documented.'
+27
View File
@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")"
shopt -s nullglob
tests=(*_test.sh)
shopt -u nullglob
if [[ ${#tests[@]} -eq 0 ]]; then
echo 'no hook tests found under tool/hooks/' >&2
exit 1
fi
failed=0
for test in "${tests[@]}"; do
echo "==> $test"
bash "$test" || failed=$((failed + 1))
done
if ((failed > 0)); then
echo "$failed of ${#tests[@]} hook test file(s) failed" >&2
exit 1
fi
echo "ran ${#tests[@]} hook test file(s)"
+2 -2
View File
@@ -10,8 +10,8 @@ const _recordSeparator = '\u001e';
/// A release tag that matches the `vMAJOR.MINOR.PATCH[-pre.N]` contract.
///
/// Every other tag in the repository is ignored on purpose: `backup-pre-squash-*`
/// and similar bookkeeping tags used to leak into the generated changelog as
/// fake version sections.
/// and similar bookkeeping tags would otherwise show up in the generated
/// changelog as fake version sections.
class VersionTag implements Comparable<VersionTag> {
const VersionTag({
required this.name,
+3 -4
View File
@@ -33,9 +33,8 @@ final _genericTrailerPattern = RegExp(
caseSensitive: false,
);
/// The only suffixed trailer left. Translations were removed on purpose: the
/// changelog ships English, and anything else belongs in a post-processing
/// step, not in the commit message.
/// The only suffixed trailer. The changelog ships English, and anything else
/// belongs in a post-processing step, not in the commit message.
const _knownSuffixedTrailer = 'Changelog-Type';
/// The parser is pure: it never touches git or the filesystem, so every rule
@@ -127,7 +126,7 @@ class ChangelogParser {
}
/// The trailer wins over the subject, but only when it carries text: an
/// empty `Changelog:` used to blank the entry out instead of falling back.
/// empty `Changelog:` falls back to the subject.
String _text(String? trailer, String description) =>
trailer == null || trailer.isEmpty ? _capitalize(description) : trailer;
+2 -2
View File
@@ -87,8 +87,8 @@ String renderReleaseJson(ChangelogVersion version) {
}
/// The caption is sent with a parse mode, so entry text is markup, not text: a
/// commit subject carrying a `<` used to be a malformed tag and Telegram
/// rejected the whole upload. HTML rather than Markdown because it is the one
/// commit subject carrying a `<` is a malformed tag and Telegram rejects the
/// whole upload. HTML rather than Markdown because it is the one
/// Telegram parse mode with a defined escape — legacy Markdown has none, and a
/// subject containing a lone `*` or `_` cannot be made safe in it.
String escapeTelegramHtml(String value) => value