From e5091b20387bacc41fb8b71b7e113ea9fc8ea175 Mon Sep 17 00:00:00 2001 From: Rusty Pickle Date: Mon, 29 Jun 2026 15:34:50 +0600 Subject: [PATCH 1/3] Update dist version --- .github/workflows/release.yml | 34 +++++++++++++++++----------------- dist-workspace.toml | 9 ++------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0946796..6ea2445 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,7 +56,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: persist-credentials: false submodules: recursive @@ -64,9 +64,9 @@ jobs: # we specify bash to get pipefail; it guards against the `curl` command # failing. otherwise `sh` won't catch that `curl` returned non-0 shell: bash - run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.30.3/cargo-dist-installer.sh | sh" + run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.32.0/cargo-dist-installer.sh | sh" - name: Cache dist - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: cargo-dist-cache path: ~/.cargo/bin/dist @@ -82,7 +82,7 @@ jobs: cat plan-dist-manifest.json echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT" - name: "Upload dist-manifest.json" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: artifacts-plan-dist-manifest path: plan-dist-manifest.json @@ -116,7 +116,7 @@ jobs: - name: enable windows longpaths run: | git config --global core.longpaths true - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: persist-credentials: false submodules: recursive @@ -131,7 +131,7 @@ jobs: run: ${{ matrix.install_dist.run }} # Get the dist-manifest - name: Fetch local artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: artifacts-* path: target/distrib/ @@ -158,7 +158,7 @@ jobs: cp dist-manifest.json "$BUILD_MANIFEST_NAME" - name: "Upload artifacts" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: artifacts-build-local-${{ join(matrix.targets, '_') }} path: | @@ -175,19 +175,19 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: persist-credentials: false submodules: recursive - name: Install cached dist - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: cargo-dist-cache path: ~/.cargo/bin/ - run: chmod +x ~/.cargo/bin/dist # Get all the local artifacts for the global tasks to use (for e.g. checksums) - name: Fetch local artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: artifacts-* path: target/distrib/ @@ -205,7 +205,7 @@ jobs: cp dist-manifest.json "$BUILD_MANIFEST_NAME" - name: "Upload artifacts" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: artifacts-build-global path: | @@ -225,19 +225,19 @@ jobs: outputs: val: ${{ steps.host.outputs.manifest }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: persist-credentials: false submodules: recursive - name: Install cached dist - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: cargo-dist-cache path: ~/.cargo/bin/ - run: chmod +x ~/.cargo/bin/dist # Fetch artifacts from scratch-storage - name: Fetch artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: artifacts-* path: target/distrib/ @@ -250,14 +250,14 @@ jobs: cat dist-manifest.json echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT" - name: "Upload dist-manifest.json" - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: # Overwrite the previous copy name: artifacts-dist-manifest path: dist-manifest.json # Create a GitHub Release while uploading all files to it - name: "Download GitHub Artifacts" - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: artifacts-* path: artifacts @@ -288,7 +288,7 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: persist-credentials: false submodules: recursive diff --git a/dist-workspace.toml b/dist-workspace.toml index 435edb3..c25a0a9 100644 --- a/dist-workspace.toml +++ b/dist-workspace.toml @@ -4,17 +4,12 @@ members = ["cargo:."] # Config for 'dist' [dist] # The preferred dist version to use in CI (Cargo.toml SemVer syntax) -cargo-dist-version = "0.30.3" +cargo-dist-version = "0.32.0" # CI backends to support ci = "github" # The installers to generate for each app installers = [] # Target platforms to build apps for (Rust target-triple syntax) -targets = [ - "aarch64-apple-darwin", - "x86_64-apple-darwin", - "x86_64-unknown-linux-gnu", - "x86_64-pc-windows-msvc", -] +targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"] # Whether dist should create a Github Release or use an existing draft create-release = false From 224c05114ee3ecc48a6bdf4d4fbe798f1507e675 Mon Sep 17 00:00:00 2001 From: Rusty Pickle Date: Mon, 29 Jun 2026 15:34:58 +0600 Subject: [PATCH 2/3] Update egui and fix deprecation/errors --- Cargo.lock | 379 ++++++++++++++++-------- Cargo.toml | 24 +- src/tg_handler/initial_session.rs | 4 +- src/ui_components/initializer.rs | 12 +- src/ui_components/keys_ui.rs | 2 +- src/ui_components/processor/states.rs | 5 +- src/ui_components/processor/tg_comms.rs | 4 +- src/ui_components/tab_ui/blacklist.rs | 3 +- src/ui_components/tab_ui/charts.rs | 25 +- src/ui_components/tab_ui/user_table.rs | 3 +- src/ui_components/tab_ui/whitelist.rs | 3 +- src/utils.rs | 9 +- 12 files changed, 304 insertions(+), 169 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c69840e..71f4d62 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,9 +20,9 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "accesskit" -version = "0.24.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5351dcebb14b579ccab05f288596b2ae097005be7ee50a7c3d4ca9d0d5a66f6a" +checksum = "d3b7f7f85a7e5f68090000ed7622545829afd484d210358702ae4cb97dd0c320" dependencies = [ "uuid", ] @@ -163,7 +163,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f2a1bb052857d5dd49572219344a7332b31b76405648eabac5bc68978251bcd" dependencies = [ "android-properties", - "bitflags 2.11.1", + "bitflags 2.13.0", "cc", "jni 0.22.4", "libc", @@ -474,9 +474,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.11.1" +version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3" +checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" [[package]] name = "block-buffer" @@ -562,7 +562,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "log", "polling", "rustix 0.38.44", @@ -576,7 +576,7 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dbf9978365bac10f54d1d4b04f7ce4427e51f71d61f2fe15e3fed5166474df7" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "polling", "rustix 1.1.4", "slab", @@ -701,9 +701,9 @@ dependencies = [ [[package]] name = "color" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18ef4657441fb193b65f34dc39b3781f0dfec23d3bd94d0eeb4e88cde421edb" +checksum = "2ec7c5eb7a16992b1904d76c517d170ab353b0e0b3d5a0c81a8a0cd1037893cf" dependencies = [ "bytemuck", ] @@ -863,6 +863,38 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" +[[package]] +name = "defmt" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f" +dependencies = [ + "bitflags 1.3.2", + "defmt-macros", +] + +[[package]] +name = "defmt-macros" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b" +dependencies = [ + "defmt-parser", + "proc-macro-error2", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "defmt-parser" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e" +dependencies = [ + "thiserror 2.0.18", +] + [[package]] name = "digest" version = "0.10.7" @@ -907,7 +939,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", ] @@ -960,9 +992,9 @@ checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "ecolor" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "137c0ce4ce4152ff7e223a7ce22ee1057cdff61fce0a45c32459c3ccec64868d" +checksum = "6758be723a3f298bbfda4db75748bc2ba0abafe096b6383c7c32da264764fbc3" dependencies = [ "bytemuck", "emath", @@ -970,9 +1002,9 @@ dependencies = [ [[package]] name = "eframe" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6e995b8e434d65aefd12c4519221be3e8f38efd77804ef39ca10553f4ad7063" +checksum = "8dc8234e2f681b2afd2b2e8c332fa614de2fddbdcb28d0acf5c420449682ea90" dependencies = [ "ahash", "bytemuck", @@ -1006,15 +1038,16 @@ dependencies = [ [[package]] name = "egui" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f34aaf627da598dfadd64b0fee6101d22e9c451d1e5348157312720b7f459f0f" +checksum = "2796c98d50b79631281d516343a6f6e93c0666462ca36e2c93b39f25d7793325" dependencies = [ "accesskit", "ahash", - "bitflags 2.11.1", + "bitflags 2.13.0", "emath", "epaint", + "itertools", "log", "nohash-hasher", "profiling", @@ -1024,10 +1057,11 @@ dependencies = [ [[package]] name = "egui-selectable-table" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ae6395f6407fc11ff82a63c836650ab15d58bb307ba0c28a416d936042cd69" +checksum = "719d5ac5e12d807f82f6074755843dc392ec72c6ae55ded907e8fedf7f7ed85c" dependencies = [ + "ahash", "egui", "egui_extras", "nucleo-matcher", @@ -1036,18 +1070,18 @@ dependencies = [ [[package]] name = "egui-theme-lerp" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d58d636ef5253d61ef2ac900a3295edf5da70bb98c7b019bf899050284f1e7d8" +checksum = "1cbf0d991969d50682603b5afa9c5aa206600a73e720f8e61cbce45a29140fc6" dependencies = [ "egui", ] [[package]] name = "egui-wgpu" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71033ff78b041c9c363450f4498ff95468ef3ecbcc71a62f67036a6207d98fa4" +checksum = "d2e6cfac0725563555fa4f91e9f799b9d7c6c5dd831fca6abc8234afc64b7a34" dependencies = [ "ahash", "bytemuck", @@ -1065,9 +1099,9 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a2881b2bf1a305e413e644af63f836737a33d85077705ff808e88f902ff742" +checksum = "9ea6bf3608db949588b95b8b341ee358d0c3f95cf4dc3f53d8d76717edee87db" dependencies = [ "accesskit_winit", "arboard", @@ -1087,13 +1121,14 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bfc6870c68d3f254e33aca8200095d422e09edacb0f365f79fe23a5ba10963" +checksum = "e2bd33be7338367bf21f54d62e069d58a5fb3ae033fa8bc6df7a77b9ef4cf957" dependencies = [ "ahash", "egui", "enum-map", + "itertools", "jiff", "log", "profiling", @@ -1101,9 +1136,9 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b28d39ab6c0cac238190e6cb1e8c9047d02cb470ab942a7a3302e4cb3a8e74" +checksum = "52274b9bfb8d8e252cd0f00c9f6214f360d75a0962baa77a2d62ddb002fe99d4" dependencies = [ "bytemuck", "egui", @@ -1111,16 +1146,14 @@ dependencies = [ "log", "memoffset", "profiling", - "wasm-bindgen", - "web-sys", "winit", ] [[package]] name = "egui_plot" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bd66213736bf9a9a53dc4888570b9194fc0db906507517a7fcc787e888ac47" +checksum = "302515219c63e7f380058ecc899c5a6b2c5fe9f140ef1d91c3b685c9f0355fa3" dependencies = [ "ahash", "egui", @@ -1135,9 +1168,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" [[package]] name = "emath" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a05cd8bdf3b598488c627ca97c7fe8909448ffa26278dd3c7e535cdb554d721" +checksum = "cd4ec073c9898516584d8c6cfdcee95b530b3d941cd5031ef4050aa36812308b" dependencies = [ "bytemuck", ] @@ -1213,9 +1246,9 @@ dependencies = [ [[package]] name = "epaint" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f3017dd67f147a697ee0c8484fb568fd9553e2a0c114be5020dbbc11962841" +checksum = "4e60a8888b51da911df23918fd7301359b1d43a406a0ff3b8863af093dd7fc6c" dependencies = [ "ahash", "bytemuck", @@ -1223,6 +1256,7 @@ dependencies = [ "emath", "epaint_default_fonts", "font-types", + "harfrust", "log", "nohash-hasher", "parking_lot", @@ -1231,14 +1265,16 @@ dependencies = [ "self_cell", "skrifa", "smallvec", + "unicode-general-category", + "unicode-segmentation", "vello_cpu", ] [[package]] name = "epaint_default_fonts" -version = "0.34.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e3b85a2bb775a3ab02d077a65cc31575c11b2584581913253cc11ce49f48bba" +checksum = "13ee4e1f553a3584c301f3a56ff1a775f1384781396cea301c8d952e9b93f560" [[package]] name = "equivalent" @@ -1329,12 +1365,9 @@ dependencies = [ [[package]] name = "fearless_simd" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb2907d1f08b2b316b9223ced5b0e89d87028ba8deae9764741dba8ff7f3903" -dependencies = [ - "bytemuck", -] +checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693" [[package]] name = "find-msvc-tools" @@ -1577,6 +1610,22 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "glifo" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d99fc21d493812643aae86d53b7bbd02f376434a90317e8a790bc209fdd6605e" +dependencies = [ + "bytemuck", + "foldhash 0.2.0", + "hashbrown 0.17.1", + "log", + "peniko", + "skrifa", + "smallvec", + "vello_common", +] + [[package]] name = "glow" version = "0.17.0" @@ -1595,7 +1644,7 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg_aliases", "cgl", "dispatch2", @@ -1675,7 +1724,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b89c83349105e3732062a895becfc71a8f921bb71ecbbdd8ff99263e3b53a0ca" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "gpu-descriptor-types", "hashbrown 0.15.5", ] @@ -1686,7 +1735,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -1801,6 +1850,15 @@ dependencies = [ "grammers-tl-parser", ] +[[package]] +name = "guillotiere" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b17e70c989c36bad147b27a58d148c0741c51448aa5653436547323e524d0ab" +dependencies = [ + "euclid", +] + [[package]] name = "h2" version = "0.4.13" @@ -1832,6 +1890,18 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "harfrust" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0431e8e389aa0f1e72bb9d1c2db8957a1a7a3580e8ed97db819c14837aac9b3e" +dependencies = [ + "bitflags 2.13.0", + "bytemuck", + "read-fonts", + "smallvec", +] + [[package]] name = "hashbrown" version = "0.15.5" @@ -1854,9 +1924,12 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.17.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51" +checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a" +dependencies = [ + "foldhash 0.2.0", +] [[package]] name = "heck" @@ -2151,7 +2224,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9" dependencies = [ "equivalent", - "hashbrown 0.17.0", + "hashbrown 0.17.1", "serde", "serde_core", ] @@ -2211,6 +2284,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -2219,10 +2301,11 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" [[package]] name = "jiff" -version = "0.2.24" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d" +checksum = "34f877a98676d2fb664698d74cc6a51ce6c484ce8c770f05d0108ec9090aeb46" dependencies = [ + "defmt", "jiff-static", "jiff-tzdb-platform", "js-sys", @@ -2231,14 +2314,14 @@ dependencies = [ "portable-atomic-util", "serde_core", "wasm-bindgen", - "windows-sys 0.61.2", + "windows-link", ] [[package]] name = "jiff-static" -version = "0.2.24" +version = "0.2.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7" +checksum = "0666b5ab5ecaca213fc2a85b8c0083d9004e84ee2d5f9a7e0017aaf50986f25f" dependencies = [ "proc-macro2", "quote", @@ -2375,12 +2458,13 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" [[package]] name = "kurbo" -version = "0.13.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb" +checksum = "4b60dfc32f652b926df6192e55525b16d186c69d47876c3ead4da5cc9f8450e2" dependencies = [ "arrayvec", "euclid", + "polycool", "smallvec", ] @@ -2418,7 +2502,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e02f3bb43d335493c96bf3fd3a321600bf6bd07ed34bc64118e9293bdffea46c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "libc", "plain", "redox_syscall 0.7.4", @@ -2474,9 +2558,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.29" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" +checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" [[package]] name = "lru-slab" @@ -2569,7 +2653,7 @@ checksum = "aa2630921705b9b01dcdd0b6864b9562ca3c1951eecd0f0c4f5f04f61e412647" dependencies = [ "arrayvec", "bit-set", - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg-if", "cfg_aliases", "codespan-reporting", @@ -2593,7 +2677,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "jni-sys 0.3.1", "log", "ndk-sys", @@ -2623,7 +2707,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cfg-if", "cfg_aliases", "libc", @@ -2727,7 +2811,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -2743,7 +2827,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", "objc2-core-foundation", "objc2-core-graphics", @@ -2756,7 +2840,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location 0.2.2", @@ -2769,7 +2853,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", "objc2-foundation 0.3.2", ] @@ -2791,7 +2875,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2813,7 +2897,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "dispatch2", "objc2 0.6.4", ] @@ -2824,7 +2908,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "dispatch2", "objc2 0.6.4", "objc2-core-foundation", @@ -2881,7 +2965,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", "objc2-core-foundation", "objc2-core-graphics", @@ -2899,7 +2983,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "dispatch", "libc", @@ -2912,7 +2996,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.6.2", "libc", "objc2 0.6.4", @@ -2925,7 +3009,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", "objc2-core-foundation", ] @@ -2948,7 +3032,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2960,7 +3044,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.6.2", "objc2 0.6.4", "objc2-foundation 0.3.2", @@ -2972,7 +3056,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -2985,7 +3069,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "objc2 0.6.4", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -3008,7 +3092,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit 0.2.2", @@ -3029,7 +3113,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.6.2", "objc2 0.6.4", "objc2-cloud-kit 0.3.2", @@ -3061,7 +3145,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location 0.2.2", @@ -3086,9 +3170,9 @@ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" [[package]] name = "open" -version = "5.3.4" +version = "5.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3bab717c29a857abf75fcef718d441ec7cb2725f937343c734740a985d37fd" +checksum = "2fbaa89d2ddc8473c78a3adf69eea8cffa28c483b8e02a971ef31527cd0fc92c" dependencies = [ "is-wsl", "libc", @@ -3207,9 +3291,9 @@ dependencies = [ [[package]] name = "peniko" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2b6aadb221872732e87d465213e9be5af2849b0e8cc5300a8ba98fffa2e00a" +checksum = "839c8299360d2e998bdb106dc0a6cd71dcc5f4df51df1b620361bf50e283cca6" dependencies = [ "bytemuck", "color", @@ -3322,7 +3406,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "crc32fast", "fdeflate", "flate2", @@ -3349,6 +3433,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f3a9f18d041e6d0e102a0a46750538147e5e8992d3b4873aaafee2520b00ce3" +[[package]] +name = "polycool" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50596ddc09eb5ad5f75cacd40209568e66df71baf86e1499a0e99c4cff12a5a6" +dependencies = [ + "arrayvec", +] + [[package]] name = "portable-atomic" version = "1.13.1" @@ -3417,6 +3510,28 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "proc-macro2" version = "1.0.106" @@ -3621,9 +3736,9 @@ dependencies = [ [[package]] name = "read-fonts" -version = "0.37.0" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" +checksum = "c4ed38b89c2c77ff968c524145ad65fb010f38af5c7a224b53b81d47ac2daa81" dependencies = [ "bytemuck", "font-types", @@ -3644,7 +3759,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -3653,7 +3768,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f450ad9c3b1da563fb6948a8e0fb0fb9269711c9c73d9ea1de5058c79c8d643a" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -3704,9 +3819,9 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "reqwest" -version = "0.13.2" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3f43e3283ab1488b624b44b0e988d0acea0b3214e694730a055cb6b2efa801" +checksum = "219c5811de6525e5416c7d5d53bb656d3afdbc6c5af816e0802bcfa42dbdc1c3" dependencies = [ "base64", "bytes", @@ -3783,7 +3898,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -3796,7 +3911,7 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "errno", "libc", "linux-raw-sys 0.12.1", @@ -3939,7 +4054,7 @@ version = "3.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -4000,9 +4115,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.149" +version = "1.0.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9" dependencies = [ "itoa", "memchr", @@ -4090,9 +4205,9 @@ checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "skrifa" -version = "0.40.0" +version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" +checksum = "0c34617370ae968efb7161bb2beb517d9084659aae19e24b89e3db25b46e4564" dependencies = [ "bytemuck", "read-fonts", @@ -4125,7 +4240,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "calloop 0.13.0", "calloop-wayland-source 0.3.0", "cursor-icon", @@ -4150,7 +4265,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0512da38f5e2b31201a93524adb8d3136276fa4fe4aafab4e1f727a82b534cc0" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "calloop 0.14.4", "calloop-wayland-source 0.4.1", "cursor-icon", @@ -4207,7 +4322,7 @@ version = "0.4.0+sdk-1.4.341.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", ] [[package]] @@ -4289,7 +4404,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -4465,9 +4580,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.52.1" +version = "1.52.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6" +checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe" dependencies = [ "bytes", "libc", @@ -4551,7 +4666,7 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "bytes", "futures-util", "http", @@ -4651,6 +4766,12 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" +[[package]] +name = "unicode-general-category" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f" + [[package]] name = "unicode-ident" version = "1.0.24" @@ -4712,27 +4833,29 @@ dependencies = [ [[package]] name = "vello_common" -version = "0.0.6" +version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bd1a4c633ce09e7d713df1a6e036644a125e15e0c169cfb5180ddf5836ca04b" +checksum = "19d672facaa2d697285a786cd9d44d614cd2ce54cdc022504bf339f8fff3b750" dependencies = [ "bytemuck", "fearless_simd", - "hashbrown 0.16.1", + "guillotiere", + "hashbrown 0.17.1", "log", "peniko", - "skrifa", "smallvec", + "thiserror 2.0.18", ] [[package]] name = "vello_cpu" -version = "0.0.6" +version = "0.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162bfe48aabf6a9fdcd401b628c7d9f260c2cbabb343c70a65feba6f7849edc" +checksum = "588691169aed86b5c8fb487266afee01323234e6fd0a3f2aaec0eaa8e4007f23" dependencies = [ "bytemuck", - "hashbrown 0.16.1", + "glifo", + "hashbrown 0.17.1", "vello_common", ] @@ -4868,7 +4991,7 @@ version = "0.244.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "hashbrown 0.15.5", "indexmap", "semver", @@ -4894,7 +5017,7 @@ version = "0.31.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "645c7c96bb74690c3189b5c9cb4ca1627062bb23693a4fad9d8c3de958260144" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "rustix 1.1.4", "wayland-backend", "wayland-scanner", @@ -4906,7 +5029,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "cursor-icon", "wayland-backend", ] @@ -4928,7 +5051,7 @@ version = "0.32.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "563a85523cade2429938e790815fd7319062103b9f4a2dc806e9b53b95982d8f" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -4940,7 +5063,7 @@ version = "20250721.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40a1f863128dcaaec790d7b4b396cc9b9a7a079e878e18c47e6c2d2c5a8dcbb1" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -4953,7 +5076,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9567599ef23e09b8dad6e429e5738d4509dfc46b3b21f32841a304d16b29c8" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -4966,7 +5089,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b6d8cf1eb2c1c31ed1f5643c88a6e53538129d4af80030c8cabd1f9fa884d91" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -4979,7 +5102,7 @@ version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb04e52f7836d7c7976c78ca0250d61e33873c34156a2a1fc9474828ec268234" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -5067,7 +5190,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c239a9a747bbd379590985bac952c2e53cb19873f7072b3370c6a6a8e06837" dependencies = [ "arrayvec", - "bitflags 2.11.1", + "bitflags 2.13.0", "bytemuck", "cfg-if", "cfg_aliases", @@ -5099,7 +5222,7 @@ dependencies = [ "arrayvec", "bit-set", "bit-vec", - "bitflags 2.11.1", + "bitflags 2.13.0", "bytemuck", "cfg_aliases", "document-features", @@ -5170,7 +5293,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.6.2", "bytemuck", "cfg-if", @@ -5229,7 +5352,7 @@ version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec2675540fb1a5cfa5ef122d3d5f390e2c75711a0b946410f2d6ac3a0f77d1f6" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "bytemuck", "js-sys", "log", @@ -5629,7 +5752,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.11.1", + "bitflags 2.13.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", @@ -5754,7 +5877,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" dependencies = [ "anyhow", - "bitflags 2.11.1", + "bitflags 2.13.0", "indexmap", "log", "serde", @@ -5834,7 +5957,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.11.1", + "bitflags 2.13.0", "dlib", "log", "once_cell", diff --git a/Cargo.toml b/Cargo.toml index 948296c..86b02b4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,13 +23,13 @@ path = "src/main.rs" chrono = { version = "0.4.43", features = ["serde"] } csv = "1.4.0" dirs = "6.0.0" -eframe = "0.34.1" -egui_extras = { version = "0.34.1", default-features = false, features = [ +eframe = "0.35.0" +egui_extras = { version = "0.35.0", default-features = false, features = [ "datepicker", ] } -egui_plot = "0.35.0" -egui-selectable-table = { version = "0.6.0", features = ["fuzzy-matching"] } -egui-theme-lerp = "0.5.0" +egui_plot = "0.36.0" +egui-selectable-table = { version = "0.7.0", features = ["fuzzy-matching"] } +egui-theme-lerp = "0.6.0" grammers-client = "=0.7.0" grammers-crypto = "=0.7.0" grammers-mtproto = "=0.7.0" @@ -37,18 +37,18 @@ grammers-mtsender = "=0.7.0" grammers-session = "=0.7.0" grammers-tl-gen = "=0.7.0" grammers-tl-types = "=0.7.0" -jiff = "0.2.23" -log = "0.4.29" +jiff = "0.2.29" +log = "0.4.33" nucleo-matcher = "0.3.1" -open = "5.3.3" +open = "5.3.5" pretty_env_logger = "0.5.0" -reqwest = { version = "0.13.2", features = ["json"] } -semver = "1.0.27" +reqwest = { version = "0.13.4", features = ["json"] } +semver = "1.0.28" serde = { version = "1.0.228", features = ["derive"] } -serde_json = "1.0.149" +serde_json = "1.0.150" strum = "0.28.0" strum_macros = "0.28.0" -tokio = { version = "1.51.0", features = ["rt-multi-thread"] } +tokio = { version = "1.52.3", features = ["rt-multi-thread"] } # The profile that 'cargo dist' will build with [profile.dist] diff --git a/src/tg_handler/initial_session.rs b/src/tg_handler/initial_session.rs index 365e695..5b22db6 100644 --- a/src/tg_handler/initial_session.rs +++ b/src/tg_handler/initial_session.rs @@ -1,5 +1,5 @@ use eframe::egui::Context; -use grammers_client::{Client, Config}; +use grammers_client::{Client, Config, InitParams}; use grammers_session::Session; use log::{error, info}; use std::sync::mpsc::Sender; @@ -37,7 +37,7 @@ pub async fn connect_to_session( .map_err(|_| ProcessError::FileCreationError)?, api_id, api_hash: api_hash.clone(), - params: Default::default(), + params: InitParams::default(), }) .await; diff --git a/src/ui_components/initializer.rs b/src/ui_components/initializer.rs index 5c90c25..aee3dc3 100644 --- a/src/ui_components/initializer.rs +++ b/src/ui_components/initializer.rs @@ -143,7 +143,7 @@ impl App for MainWindow { AppState::InitializedUI => { Panel::top("top_panel") .show_separator_line(true) - .show_inside(ui, |ui| { + .show(ui, |ui| { if self.theme_animator.anim_id.is_none() { self.theme_animator.create_id(ui); } else { @@ -204,7 +204,7 @@ impl App for MainWindow { }); Panel::bottom("bottom_panel") .show_separator_line(true) - .show_inside(ui, |ui| { + .show(ui, |ui| { ui.add_space(4.0); let status_text = self.process_state.to_string(); ui.horizontal(|ui| { @@ -217,7 +217,7 @@ impl App for MainWindow { }); ui.add_space(0.5); }); - CentralPanel::default().show_inside(ui, |ui| { + CentralPanel::default().show(ui, |ui| { match self.tab_state { TabState::Counter => self.show_counter_ui(ui), TabState::UserTable => self.show_user_table_ui(ui), @@ -264,12 +264,12 @@ impl App for MainWindow { ui.set_width(300.0); ui.set_height(300.0); - Panel::top("version_top_panel").show_inside(ui, |ui| { + Panel::top("version_top_panel").show(ui, |ui| { ui.vertical_centered(|ui| { ui.heading("A new version is available"); }); }); - Panel::bottom("version_bottom_panel").show_inside(ui, |ui| { + Panel::bottom("version_bottom_panel").show(ui, |ui| { ui.horizontal(|ui| { let available_width = ui.available_width(); let button_width = available_width / 2.0; @@ -296,7 +296,7 @@ impl App for MainWindow { }); }); - CentralPanel::default().show_inside(ui, |ui| { + CentralPanel::default().show(ui, |ui| { ScrollArea::vertical().show(ui, |ui| { ui.label(modal_text); }); diff --git a/src/ui_components/keys_ui.rs b/src/ui_components/keys_ui.rs index 7a9b640..1caea96 100644 --- a/src/ui_components/keys_ui.rs +++ b/src/ui_components/keys_ui.rs @@ -13,7 +13,7 @@ pub struct TGKeys { impl MainWindow { pub fn show_tg_keys_ui(&mut self, ui: &mut Ui) { - CentralPanel::default().show_inside(ui, |ui| { + CentralPanel::default().show(ui, |ui| { let tg_link = "https://my.telegram.org/"; ui.label("A valid Telegram API key pair is necessary for the app to work properly. \ The key will be saved locally and will never be shared. \ diff --git a/src/ui_components/processor/states.rs b/src/ui_components/processor/states.rs index 31edad3..1526564 100644 --- a/src/ui_components/processor/states.rs +++ b/src/ui_components/processor/states.rs @@ -33,8 +33,7 @@ impl TabState { TabState::Counter => vec2(550.0, 400.0), TabState::UserTable => vec2(1250.0, 700.0), TabState::Charts => vec2(1000.0, 700.0), - TabState::Whitelist => vec2(550.0, 600.0), - TabState::Blacklist => vec2(550.0, 600.0), + TabState::Whitelist | TabState::Blacklist => vec2(550.0, 600.0), TabState::Session => vec2(550.0, 320.0), } } @@ -110,7 +109,7 @@ impl Display for ProcessState { write!(f, "Status: Could not detect any valid chat details") } ProcessState::DataCopied => { - write!(f, "Status: Selected table data copied.",) + write!(f, "Status: Selected table data copied.") } ProcessState::AuthorizationError => write!( f, diff --git a/src/ui_components/processor/tg_comms.rs b/src/ui_components/processor/tg_comms.rs index 2aa4c9f..c5a93a4 100644 --- a/src/ui_components/processor/tg_comms.rs +++ b/src/ui_components/processor/tg_comms.rs @@ -1,5 +1,6 @@ use chrono::{Local, TimeZone}; use log::{error, info}; +use std::fmt::Write as _; use std::sync::atomic::Ordering; use crate::tg_handler::{ProcessError, ProcessResult, ProcessStart}; @@ -20,8 +21,7 @@ impl MainWindow { }; if !failed.is_empty() { - status_text - .push_str(&format!(" Failed connection to: {}", failed.join(", "))); + let _ = write!(status_text, " Failed connection to: {}", failed.join(", ")); } for client in clients { diff --git a/src/ui_components/tab_ui/blacklist.rs b/src/ui_components/tab_ui/blacklist.rs index 1a5e3b3..da0b08b 100644 --- a/src/ui_components/tab_ui/blacklist.rs +++ b/src/ui_components/tab_ui/blacklist.rs @@ -1,3 +1,4 @@ +use eframe::egui::scroll_area::DragScroll; use eframe::egui::{Align, Button, Grid, Label, Layout, Response, RichText, Sense, TextEdit, Ui}; use egui_extras::Column; use egui_selectable_table::{ @@ -358,7 +359,7 @@ then right click on User Table to blacklist", .column(Column::exact(column_size).clip(true)) .column(Column::exact(column_size)) .column(Column::exact(column_size)) - .drag_to_scroll(false) + .drag_to_scroll(DragScroll::Never) .auto_shrink([false; 2]) .min_scrolled_height(0.0) }); diff --git a/src/ui_components/tab_ui/charts.rs b/src/ui_components/tab_ui/charts.rs index 6e3b659..abbbf04 100644 --- a/src/ui_components/tab_ui/charts.rs +++ b/src/ui_components/tab_ui/charts.rs @@ -1,7 +1,7 @@ use chrono::{Datelike, Days, Duration, Months, NaiveDate, NaiveDateTime, Timelike, Weekday}; use eframe::egui::{CentralPanel, ComboBox, Id, Key, Modal, Panel, ScrollArea, TextEdit, Ui}; use egui_extras::DatePickerButton; -use egui_plot::{Bar, BarChart, Legend, Plot, PlotPoint}; +use egui_plot::{Bar, BarChart, HoverPosition, Legend, Plot}; use nucleo_matcher::Matcher; use nucleo_matcher::pattern::{CaseMatching, Normalization, Pattern}; use std::collections::{BTreeMap, BTreeSet, HashMap}; @@ -248,13 +248,13 @@ impl ChartsData { let response = Modal::new(Id::new("customize_view")).show(ui.ctx(), |ui| { ui.set_width(400.0); ui.set_height(350.0); - Panel::top("customize_top_view").show_inside(ui, |ui| { + Panel::top("customize_top_view").show(ui, |ui| { ui.vertical_centered(|ui| { ui.heading("Customize View"); }); }); - Panel::bottom(Id::new("customize_bottom_view")).show_inside(ui, |ui| { + Panel::bottom(Id::new("customize_bottom_view")).show(ui, |ui| { ui.add_space(5.0); ui.vertical_centered_justified(|ui| { if ui.button("Confirm").clicked() { @@ -264,7 +264,7 @@ impl ChartsData { }) }); - CentralPanel::default().show_inside(ui, |ui| { + CentralPanel::default().show(ui, |ui| { ui.horizontal(|ui| { let text_edit = TextEdit::singleline(&mut self.search_text).hint_text("Search user"); @@ -1037,7 +1037,16 @@ impl MainWindow { self.chart().labels.clone() }; - let label_fmt = move |_s: &str, val: &PlotPoint| { + let label_fmt = move |position: &HoverPosition| { + let val = match position { + HoverPosition::NearDataPoint { + plot_name: _, + position, + index: _, + } + | HoverPosition::Elsewhere { position } => position, + }; + let x_val = val.x.round() as i64; if let Some((date, total, whitelist)) = labels.get(&x_val) { let label_type = if chart_type == ChartType::Message @@ -1068,12 +1077,12 @@ impl MainWindow { date_label = weekday_num_to_string(x_val as u8); } } - format!( + Some(format!( "{}\nY = {:.0}\nTotal {label_type} = {}\nWhitelisted {label_type} = {}", date_label, val.y, total, whitelist - ) + )) } else { - format!("X = {:.0}\nY = {:.0}", val.x, val.y) + Some(format!("X = {:.0}\nY = {:.0}", val.x, val.y)) } }; diff --git a/src/ui_components/tab_ui/user_table.rs b/src/ui_components/tab_ui/user_table.rs index 733b0dd..00cb2b8 100644 --- a/src/ui_components/tab_ui/user_table.rs +++ b/src/ui_components/tab_ui/user_table.rs @@ -1,4 +1,5 @@ use chrono::{NaiveDate, NaiveDateTime}; +use eframe::egui::scroll_area::DragScroll; use eframe::egui::{Align, Button, ComboBox, Key, Layout, Response, RichText, Sense, TextEdit, Ui}; use egui_extras::{Column, DatePickerButton}; use egui_selectable_table::{ @@ -723,7 +724,7 @@ impl MainWindow { .striped(true) .resizable(true) .cell_layout(Layout::left_to_right(Align::Center)) - .drag_to_scroll(false) + .drag_to_scroll(DragScroll::Never) .auto_shrink([false; 2]) .min_scrolled_height(0.0); diff --git a/src/ui_components/tab_ui/whitelist.rs b/src/ui_components/tab_ui/whitelist.rs index 7746395..5e52f9d 100644 --- a/src/ui_components/tab_ui/whitelist.rs +++ b/src/ui_components/tab_ui/whitelist.rs @@ -1,3 +1,4 @@ +use eframe::egui::scroll_area::DragScroll; use eframe::egui::{Align, Button, Grid, Label, Layout, Response, RichText, Sense, TextEdit, Ui}; use egui_extras::Column; use egui_selectable_table::{ @@ -367,7 +368,7 @@ then right click on User Table to whitelist", .column(Column::exact(column_size).clip(true)) .column(Column::exact(column_size)) .column(Column::exact(column_size)) - .drag_to_scroll(false) + .drag_to_scroll(DragScroll::Never) .auto_shrink([false; 2]) .min_scrolled_height(0.0) }); diff --git a/src/utils.rs b/src/utils.rs index bcec691..adcd444 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -4,6 +4,7 @@ use log::{error, info}; use serde::{Deserialize, Serialize}; use std::collections::{BTreeMap, HashMap, HashSet}; use std::error::Error; +use std::fmt::Write as _; use std::fs::{self, File}; use std::io::{Read, Write}; use std::path::PathBuf; @@ -47,20 +48,20 @@ pub fn chat_to_text(start: &str, end: &str) -> String { let mut chat_text = format!(" {name}"); if let Some(end_point) = parsed.end_point() { - chat_text += &format!(": {end_point} - "); + let _ = write!(chat_text, ": {end_point} - "); if let Some(start_point) = parsed.start_point() { - chat_text += &format!("{start_point}"); + let _ = write!(chat_text, "{start_point}"); } else { chat_text += "∞"; } } else if let Some(start_point) = parsed.start_point() { chat_text += ": 1 - "; - chat_text += &format!("{start_point}"); + let _ = write!(chat_text, "{start_point}"); } else { chat_text += ": ∞"; } - text_data += &format!(" {chat_text}"); + let _ = write!(text_data, " {chat_text}"); } text_data From a84a16ca7c3aedad3cff79be70ebc8113a468fa4 Mon Sep 17 00:00:00 2001 From: Rusty Pickle Date: Mon, 29 Jun 2026 15:41:13 +0600 Subject: [PATCH 3/3] Update version --- Cargo.lock | 2 +- Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 71f4d62..8b0be1d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4421,7 +4421,7 @@ dependencies = [ [[package]] name = "talon-gui" -version = "1.4.0" +version = "1.5.0" dependencies = [ "chrono", "csv", diff --git a/Cargo.toml b/Cargo.toml index 86b02b4..5ddd7ef 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "talon-gui" -version = "1.4.0" +version = "1.5.0" edition = "2024" description = """ On-demand Telegram chat analytic generator