A photo manager for VRChat.

Compare changes

Choose any two refs to compare.

+9 -7
README.md
··· 1 1 # VRChat Photo Manager (BETA) 2 2 3 - Download [here](https://github.com/phaze-the-dumb/VRChat-Photo-Manager/releases/latest) 3 + Windows users: Download the setup.exe file [here](https://github.com/phaze-the-dumb/VRChat-Photo-Manager/releases/latest) 4 + 5 + Linux Users: 6 + - I publish .deb, .rpm and .AppImage files [here](https://github.com/phaze-the-dumb/VRChat-Photo-Manager/releases/latest) 7 + - I also publish an [AUR](https://aur.archlinux.org/packages/vrchat-photo-manager) package 4 8 5 9 ## Feedback / Bug Reports 6 10 ··· 14 18 15 19 ## A photo manager for VRChat. 16 20 17 - ![image](https://github.com/phaze-the-dumb/VRChat-Photo-Manager-Rust/assets/57566773/c573e27f-52e6-4608-a8ea-a8a83336fbb9) 18 - 19 - Files with VRCX metadata: 21 + <img width="1352" height="739" alt="image" src="https://github.com/user-attachments/assets/bc702ee6-8891-463d-a987-c2db1dc24678" /> 20 22 21 - ![image](https://github.com/phaze-the-dumb/VRChat-Photo-Manager-Rust/assets/57566773/06f44b67-083f-487e-b8b4-84c87d07604f) 23 + Files with VRCX metadata + Fetches world information from VRChat: 22 24 23 - Fetches world information from VRChat: 25 + <img width="1352" height="739" alt="image" src="https://github.com/user-attachments/assets/aae88c53-aab6-4520-bb89-d6f2bca1c51a" /> 24 26 25 27 Searching for photos taken in specific worlds / with specific users: 26 28 27 - ![image](https://github.com/user-attachments/assets/ea67c4ef-c7e8-4f93-a29a-74aff5f35903) 29 + <img width="1352" height="739" alt="image" src="https://github.com/user-attachments/assets/f9af1724-5bb2-4276-bc32-e818dab31750" />
+1 -1
build-release.sh
··· 1 1 #!/bin/bash 2 2 3 - VERSION=0.2.6 3 + VERSION=0.2.7-hot1 4 4 5 5 # Linux builds 6 6 NO_STRIP=true pnpm tauri build
+25 -2
changelog
··· 105 105 106 106 v0.2.6: 107 107 - Fixed photos not being loaded if they're too low resolution 108 + - Fixed "Open in folder" not selecting files on linux 109 + - Fixed scroll to top button not animating out 110 + - Fixed scroll to top button being ontop of filters menu 111 + - Fixed photo ordering 112 + - Fixed broken legacy named photos 113 + - Fixed photos being loaded with the wrong resolution 114 + 115 + - Added support for multilayer photos 108 116 - Added close to tray toggle 109 - - Fixed "Open in folder" not selecting files on linux 110 - - Remove all sync stuff 117 + - Added update available prompt 118 + 119 + - Remove all sync stuff 120 + - Removed automatic updates 121 + 122 + Hotfix 1: 123 + - Fixed loading when an image file is corrupted 124 + - Fixed update prompt when not connected to internet 125 + 126 + v0.2.7: 127 + - Fixed image resizing when window is thinner than image 128 + - Fixed closing settings with keybinds 129 + - Fixed the behaviour of changing the photo path 130 + - Fixed loading photos in folders that aren't VRChat folders 131 + 132 + Hotfix 1: 133 + - Fixed resizing images (again)
+12 -12
package.json
··· 12 12 }, 13 13 "license": "MIT", 14 14 "dependencies": { 15 - "@tauri-apps/api": "2.0.0-rc.0", 16 - "@tauri-apps/plugin-deep-link": "^2.4.1", 17 - "@tauri-apps/plugin-http": "2.0.0-rc.1", 18 - "@tauri-apps/plugin-process": "2.0.0-rc.0", 19 - "@tauri-apps/plugin-shell": "2.0.0-rc.0", 20 - "@types/animejs": "^3.1.13", 21 - "animejs": "^4.1.3", 22 - "solid-js": "^1.9.9" 15 + "@tauri-apps/api": "2.9.0", 16 + "@tauri-apps/plugin-deep-link": "^2.4.5", 17 + "@tauri-apps/plugin-http": "2.5.4", 18 + "@tauri-apps/plugin-process": "2.3.1", 19 + "@tauri-apps/plugin-shell": "2.3.3", 20 + "animejs": "^4.2.2", 21 + "solid-js": "^1.9.10" 23 22 }, 24 23 "devDependencies": { 25 - "@tauri-apps/cli": "2.0.0-rc.5", 26 - "typescript": "^5.9.2", 27 - "vite": "^5.4.19", 28 - "vite-plugin-solid": "^2.11.8" 24 + "@tauri-apps/cli": "2.9.3", 25 + "@types/animejs": "^3.1.13", 26 + "typescript": "^5.9.3", 27 + "vite": "^7.2.2", 28 + "vite-plugin-solid": "^2.11.10" 29 29 } 30 30 }
+543 -451
pnpm-lock.yaml
··· 9 9 .: 10 10 dependencies: 11 11 '@tauri-apps/api': 12 - specifier: 2.0.0-rc.0 13 - version: 2.0.0-rc.0 12 + specifier: 2.9.0 13 + version: 2.9.0 14 14 '@tauri-apps/plugin-deep-link': 15 - specifier: ^2.4.1 16 - version: 2.4.1 15 + specifier: ^2.4.5 16 + version: 2.4.5 17 17 '@tauri-apps/plugin-http': 18 - specifier: 2.0.0-rc.1 19 - version: 2.0.0-rc.1 18 + specifier: 2.5.4 19 + version: 2.5.4 20 20 '@tauri-apps/plugin-process': 21 - specifier: 2.0.0-rc.0 22 - version: 2.0.0-rc.0 21 + specifier: 2.3.1 22 + version: 2.3.1 23 23 '@tauri-apps/plugin-shell': 24 - specifier: 2.0.0-rc.0 25 - version: 2.0.0-rc.0 26 - '@types/animejs': 27 - specifier: ^3.1.13 28 - version: 3.1.13 24 + specifier: 2.3.3 25 + version: 2.3.3 29 26 animejs: 30 - specifier: ^4.1.3 31 - version: 4.1.3 27 + specifier: ^4.2.2 28 + version: 4.2.2 32 29 solid-js: 33 - specifier: ^1.9.9 34 - version: 1.9.9 30 + specifier: ^1.9.10 31 + version: 1.9.10 35 32 devDependencies: 36 33 '@tauri-apps/cli': 37 - specifier: 2.0.0-rc.5 38 - version: 2.0.0-rc.5 34 + specifier: 2.9.3 35 + version: 2.9.3 36 + '@types/animejs': 37 + specifier: ^3.1.13 38 + version: 3.1.13 39 39 typescript: 40 - specifier: ^5.9.2 41 - version: 5.9.2 40 + specifier: ^5.9.3 41 + version: 5.9.3 42 42 vite: 43 - specifier: ^5.4.19 44 - version: 5.4.19 43 + specifier: ^7.2.2 44 + version: 7.2.2 45 45 vite-plugin-solid: 46 - specifier: ^2.11.8 47 - version: 2.11.8(solid-js@1.9.9)(vite@5.4.19) 46 + specifier: ^2.11.10 47 + version: 2.11.10(solid-js@1.9.10)(vite@7.2.2) 48 48 49 49 packages: 50 50 51 - '@ampproject/remapping@2.3.0': 52 - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 53 - engines: {node: '>=6.0.0'} 54 - 55 51 '@babel/code-frame@7.27.1': 56 52 resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 57 53 engines: {node: '>=6.9.0'} 58 54 59 - '@babel/compat-data@7.28.0': 60 - resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==} 55 + '@babel/compat-data@7.28.5': 56 + resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==} 61 57 engines: {node: '>=6.9.0'} 62 58 63 - '@babel/core@7.28.3': 64 - resolution: {integrity: sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==} 59 + '@babel/core@7.28.5': 60 + resolution: {integrity: sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==} 65 61 engines: {node: '>=6.9.0'} 66 62 67 - '@babel/generator@7.28.3': 68 - resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} 63 + '@babel/generator@7.28.5': 64 + resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==} 69 65 engines: {node: '>=6.9.0'} 70 66 71 67 '@babel/helper-compilation-targets@7.27.2': ··· 98 94 resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 99 95 engines: {node: '>=6.9.0'} 100 96 101 - '@babel/helper-validator-identifier@7.27.1': 102 - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 97 + '@babel/helper-validator-identifier@7.28.5': 98 + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} 103 99 engines: {node: '>=6.9.0'} 104 100 105 101 '@babel/helper-validator-option@7.27.1': 106 102 resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} 107 103 engines: {node: '>=6.9.0'} 108 104 109 - '@babel/helpers@7.28.3': 110 - resolution: {integrity: sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==} 105 + '@babel/helpers@7.28.4': 106 + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} 111 107 engines: {node: '>=6.9.0'} 112 108 113 - '@babel/parser@7.28.3': 114 - resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} 109 + '@babel/parser@7.28.5': 110 + resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==} 115 111 engines: {node: '>=6.0.0'} 116 112 hasBin: true 117 113 ··· 125 121 resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} 126 122 engines: {node: '>=6.9.0'} 127 123 128 - '@babel/traverse@7.28.3': 129 - resolution: {integrity: sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==} 124 + '@babel/traverse@7.28.5': 125 + resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==} 130 126 engines: {node: '>=6.9.0'} 131 127 132 - '@babel/types@7.28.2': 133 - resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==} 128 + '@babel/types@7.28.5': 129 + resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==} 134 130 engines: {node: '>=6.9.0'} 135 131 136 - '@esbuild/aix-ppc64@0.21.5': 137 - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 138 - engines: {node: '>=12'} 132 + '@esbuild/aix-ppc64@0.25.12': 133 + resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==} 134 + engines: {node: '>=18'} 139 135 cpu: [ppc64] 140 136 os: [aix] 141 137 142 - '@esbuild/android-arm64@0.21.5': 143 - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 144 - engines: {node: '>=12'} 138 + '@esbuild/android-arm64@0.25.12': 139 + resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==} 140 + engines: {node: '>=18'} 145 141 cpu: [arm64] 146 142 os: [android] 147 143 148 - '@esbuild/android-arm@0.21.5': 149 - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 150 - engines: {node: '>=12'} 144 + '@esbuild/android-arm@0.25.12': 145 + resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==} 146 + engines: {node: '>=18'} 151 147 cpu: [arm] 152 148 os: [android] 153 149 154 - '@esbuild/android-x64@0.21.5': 155 - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 156 - engines: {node: '>=12'} 150 + '@esbuild/android-x64@0.25.12': 151 + resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==} 152 + engines: {node: '>=18'} 157 153 cpu: [x64] 158 154 os: [android] 159 155 160 - '@esbuild/darwin-arm64@0.21.5': 161 - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 162 - engines: {node: '>=12'} 156 + '@esbuild/darwin-arm64@0.25.12': 157 + resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==} 158 + engines: {node: '>=18'} 163 159 cpu: [arm64] 164 160 os: [darwin] 165 161 166 - '@esbuild/darwin-x64@0.21.5': 167 - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 168 - engines: {node: '>=12'} 162 + '@esbuild/darwin-x64@0.25.12': 163 + resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==} 164 + engines: {node: '>=18'} 169 165 cpu: [x64] 170 166 os: [darwin] 171 167 172 - '@esbuild/freebsd-arm64@0.21.5': 173 - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 174 - engines: {node: '>=12'} 168 + '@esbuild/freebsd-arm64@0.25.12': 169 + resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==} 170 + engines: {node: '>=18'} 175 171 cpu: [arm64] 176 172 os: [freebsd] 177 173 178 - '@esbuild/freebsd-x64@0.21.5': 179 - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 180 - engines: {node: '>=12'} 174 + '@esbuild/freebsd-x64@0.25.12': 175 + resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==} 176 + engines: {node: '>=18'} 181 177 cpu: [x64] 182 178 os: [freebsd] 183 179 184 - '@esbuild/linux-arm64@0.21.5': 185 - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 186 - engines: {node: '>=12'} 180 + '@esbuild/linux-arm64@0.25.12': 181 + resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==} 182 + engines: {node: '>=18'} 187 183 cpu: [arm64] 188 184 os: [linux] 189 185 190 - '@esbuild/linux-arm@0.21.5': 191 - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 192 - engines: {node: '>=12'} 186 + '@esbuild/linux-arm@0.25.12': 187 + resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==} 188 + engines: {node: '>=18'} 193 189 cpu: [arm] 194 190 os: [linux] 195 191 196 - '@esbuild/linux-ia32@0.21.5': 197 - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 198 - engines: {node: '>=12'} 192 + '@esbuild/linux-ia32@0.25.12': 193 + resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==} 194 + engines: {node: '>=18'} 199 195 cpu: [ia32] 200 196 os: [linux] 201 197 202 - '@esbuild/linux-loong64@0.21.5': 203 - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 204 - engines: {node: '>=12'} 198 + '@esbuild/linux-loong64@0.25.12': 199 + resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==} 200 + engines: {node: '>=18'} 205 201 cpu: [loong64] 206 202 os: [linux] 207 203 208 - '@esbuild/linux-mips64el@0.21.5': 209 - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 210 - engines: {node: '>=12'} 204 + '@esbuild/linux-mips64el@0.25.12': 205 + resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==} 206 + engines: {node: '>=18'} 211 207 cpu: [mips64el] 212 208 os: [linux] 213 209 214 - '@esbuild/linux-ppc64@0.21.5': 215 - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 216 - engines: {node: '>=12'} 210 + '@esbuild/linux-ppc64@0.25.12': 211 + resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==} 212 + engines: {node: '>=18'} 217 213 cpu: [ppc64] 218 214 os: [linux] 219 215 220 - '@esbuild/linux-riscv64@0.21.5': 221 - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 222 - engines: {node: '>=12'} 216 + '@esbuild/linux-riscv64@0.25.12': 217 + resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==} 218 + engines: {node: '>=18'} 223 219 cpu: [riscv64] 224 220 os: [linux] 225 221 226 - '@esbuild/linux-s390x@0.21.5': 227 - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 228 - engines: {node: '>=12'} 222 + '@esbuild/linux-s390x@0.25.12': 223 + resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==} 224 + engines: {node: '>=18'} 229 225 cpu: [s390x] 230 226 os: [linux] 231 227 232 - '@esbuild/linux-x64@0.21.5': 233 - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 234 - engines: {node: '>=12'} 228 + '@esbuild/linux-x64@0.25.12': 229 + resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==} 230 + engines: {node: '>=18'} 235 231 cpu: [x64] 236 232 os: [linux] 237 233 238 - '@esbuild/netbsd-x64@0.21.5': 239 - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 240 - engines: {node: '>=12'} 234 + '@esbuild/netbsd-arm64@0.25.12': 235 + resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==} 236 + engines: {node: '>=18'} 237 + cpu: [arm64] 238 + os: [netbsd] 239 + 240 + '@esbuild/netbsd-x64@0.25.12': 241 + resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==} 242 + engines: {node: '>=18'} 241 243 cpu: [x64] 242 244 os: [netbsd] 243 245 244 - '@esbuild/openbsd-x64@0.21.5': 245 - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 246 - engines: {node: '>=12'} 246 + '@esbuild/openbsd-arm64@0.25.12': 247 + resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==} 248 + engines: {node: '>=18'} 249 + cpu: [arm64] 250 + os: [openbsd] 251 + 252 + '@esbuild/openbsd-x64@0.25.12': 253 + resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==} 254 + engines: {node: '>=18'} 247 255 cpu: [x64] 248 256 os: [openbsd] 249 257 250 - '@esbuild/sunos-x64@0.21.5': 251 - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 252 - engines: {node: '>=12'} 258 + '@esbuild/openharmony-arm64@0.25.12': 259 + resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==} 260 + engines: {node: '>=18'} 261 + cpu: [arm64] 262 + os: [openharmony] 263 + 264 + '@esbuild/sunos-x64@0.25.12': 265 + resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==} 266 + engines: {node: '>=18'} 253 267 cpu: [x64] 254 268 os: [sunos] 255 269 256 - '@esbuild/win32-arm64@0.21.5': 257 - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 258 - engines: {node: '>=12'} 270 + '@esbuild/win32-arm64@0.25.12': 271 + resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==} 272 + engines: {node: '>=18'} 259 273 cpu: [arm64] 260 274 os: [win32] 261 275 262 - '@esbuild/win32-ia32@0.21.5': 263 - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 264 - engines: {node: '>=12'} 276 + '@esbuild/win32-ia32@0.25.12': 277 + resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==} 278 + engines: {node: '>=18'} 265 279 cpu: [ia32] 266 280 os: [win32] 267 281 268 - '@esbuild/win32-x64@0.21.5': 269 - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 270 - engines: {node: '>=12'} 282 + '@esbuild/win32-x64@0.25.12': 283 + resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==} 284 + engines: {node: '>=18'} 271 285 cpu: [x64] 272 286 os: [win32] 273 287 274 288 '@jridgewell/gen-mapping@0.3.13': 275 289 resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 276 290 291 + '@jridgewell/remapping@2.3.5': 292 + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} 293 + 277 294 '@jridgewell/resolve-uri@3.1.2': 278 295 resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 279 296 engines: {node: '>=6.0.0'} ··· 281 298 '@jridgewell/sourcemap-codec@1.5.5': 282 299 resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 283 300 284 - '@jridgewell/trace-mapping@0.3.30': 285 - resolution: {integrity: sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==} 301 + '@jridgewell/trace-mapping@0.3.31': 302 + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 286 303 287 - '@rollup/rollup-android-arm-eabi@4.46.3': 288 - resolution: {integrity: sha512-UmTdvXnLlqQNOCJnyksjPs1G4GqXNGW1LrzCe8+8QoaLhhDeTXYBgJ3k6x61WIhlHX2U+VzEJ55TtIjR/HTySA==} 304 + '@rollup/rollup-android-arm-eabi@4.52.5': 305 + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} 289 306 cpu: [arm] 290 307 os: [android] 291 308 292 - '@rollup/rollup-android-arm64@4.46.3': 293 - resolution: {integrity: sha512-8NoxqLpXm7VyeI0ocidh335D6OKT0UJ6fHdnIxf3+6oOerZZc+O7r+UhvROji6OspyPm+rrIdb1gTXtVIqn+Sg==} 309 + '@rollup/rollup-android-arm64@4.52.5': 310 + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} 294 311 cpu: [arm64] 295 312 os: [android] 296 313 297 - '@rollup/rollup-darwin-arm64@4.46.3': 298 - resolution: {integrity: sha512-csnNavqZVs1+7/hUKtgjMECsNG2cdB8F7XBHP6FfQjqhjF8rzMzb3SLyy/1BG7YSfQ+bG75Ph7DyedbUqwq1rA==} 314 + '@rollup/rollup-darwin-arm64@4.52.5': 315 + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} 299 316 cpu: [arm64] 300 317 os: [darwin] 301 318 302 - '@rollup/rollup-darwin-x64@4.46.3': 303 - resolution: {integrity: sha512-r2MXNjbuYabSIX5yQqnT8SGSQ26XQc8fmp6UhlYJd95PZJkQD1u82fWP7HqvGUf33IsOC6qsiV+vcuD4SDP6iw==} 319 + '@rollup/rollup-darwin-x64@4.52.5': 320 + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} 304 321 cpu: [x64] 305 322 os: [darwin] 306 323 307 - '@rollup/rollup-freebsd-arm64@4.46.3': 308 - resolution: {integrity: sha512-uluObTmgPJDuJh9xqxyr7MV61Imq+0IvVsAlWyvxAaBSNzCcmZlhfYcRhCdMaCsy46ccZa7vtDDripgs9Jkqsw==} 324 + '@rollup/rollup-freebsd-arm64@4.52.5': 325 + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} 309 326 cpu: [arm64] 310 327 os: [freebsd] 311 328 312 - '@rollup/rollup-freebsd-x64@4.46.3': 313 - resolution: {integrity: sha512-AVJXEq9RVHQnejdbFvh1eWEoobohUYN3nqJIPI4mNTMpsyYN01VvcAClxflyk2HIxvLpRcRggpX1m9hkXkpC/A==} 329 + '@rollup/rollup-freebsd-x64@4.52.5': 330 + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} 314 331 cpu: [x64] 315 332 os: [freebsd] 316 333 317 - '@rollup/rollup-linux-arm-gnueabihf@4.46.3': 318 - resolution: {integrity: sha512-byyflM+huiwHlKi7VHLAYTKr67X199+V+mt1iRgJenAI594vcmGGddWlu6eHujmcdl6TqSNnvqaXJqZdnEWRGA==} 334 + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': 335 + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} 319 336 cpu: [arm] 320 337 os: [linux] 321 338 322 - '@rollup/rollup-linux-arm-musleabihf@4.46.3': 323 - resolution: {integrity: sha512-aLm3NMIjr4Y9LklrH5cu7yybBqoVCdr4Nvnm8WB7PKCn34fMCGypVNpGK0JQWdPAzR/FnoEoFtlRqZbBBLhVoQ==} 339 + '@rollup/rollup-linux-arm-musleabihf@4.52.5': 340 + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} 324 341 cpu: [arm] 325 342 os: [linux] 326 343 327 - '@rollup/rollup-linux-arm64-gnu@4.46.3': 328 - resolution: {integrity: sha512-VtilE6eznJRDIoFOzaagQodUksTEfLIsvXymS+UdJiSXrPW7Ai+WG4uapAc3F7Hgs791TwdGh4xyOzbuzIZrnw==} 344 + '@rollup/rollup-linux-arm64-gnu@4.52.5': 345 + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} 329 346 cpu: [arm64] 330 347 os: [linux] 331 348 332 - '@rollup/rollup-linux-arm64-musl@4.46.3': 333 - resolution: {integrity: sha512-dG3JuS6+cRAL0GQ925Vppafi0qwZnkHdPeuZIxIPXqkCLP02l7ka+OCyBoDEv8S+nKHxfjvjW4OZ7hTdHkx8/w==} 349 + '@rollup/rollup-linux-arm64-musl@4.52.5': 350 + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} 334 351 cpu: [arm64] 335 352 os: [linux] 336 353 337 - '@rollup/rollup-linux-loongarch64-gnu@4.46.3': 338 - resolution: {integrity: sha512-iU8DxnxEKJptf8Vcx4XvAUdpkZfaz0KWfRrnIRrOndL0SvzEte+MTM7nDH4A2Now4FvTZ01yFAgj6TX/mZl8hQ==} 354 + '@rollup/rollup-linux-loong64-gnu@4.52.5': 355 + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} 339 356 cpu: [loong64] 340 357 os: [linux] 341 358 342 - '@rollup/rollup-linux-ppc64-gnu@4.46.3': 343 - resolution: {integrity: sha512-VrQZp9tkk0yozJoQvQcqlWiqaPnLM6uY1qPYXvukKePb0fqaiQtOdMJSxNFUZFsGw5oA5vvVokjHrx8a9Qsz2A==} 359 + '@rollup/rollup-linux-ppc64-gnu@4.52.5': 360 + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} 344 361 cpu: [ppc64] 345 362 os: [linux] 346 363 347 - '@rollup/rollup-linux-riscv64-gnu@4.46.3': 348 - resolution: {integrity: sha512-uf2eucWSUb+M7b0poZ/08LsbcRgaDYL8NCGjUeFMwCWFwOuFcZ8D9ayPl25P3pl+D2FH45EbHdfyUesQ2Lt9wA==} 364 + '@rollup/rollup-linux-riscv64-gnu@4.52.5': 365 + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} 349 366 cpu: [riscv64] 350 367 os: [linux] 351 368 352 - '@rollup/rollup-linux-riscv64-musl@4.46.3': 353 - resolution: {integrity: sha512-7tnUcDvN8DHm/9ra+/nF7lLzYHDeODKKKrh6JmZejbh1FnCNZS8zMkZY5J4sEipy2OW1d1Ncc4gNHUd0DLqkSg==} 369 + '@rollup/rollup-linux-riscv64-musl@4.52.5': 370 + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} 354 371 cpu: [riscv64] 355 372 os: [linux] 356 373 357 - '@rollup/rollup-linux-s390x-gnu@4.46.3': 358 - resolution: {integrity: sha512-MUpAOallJim8CsJK+4Lc9tQzlfPbHxWDrGXZm2z6biaadNpvh3a5ewcdat478W+tXDoUiHwErX/dOql7ETcLqg==} 374 + '@rollup/rollup-linux-s390x-gnu@4.52.5': 375 + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} 359 376 cpu: [s390x] 360 377 os: [linux] 361 378 362 - '@rollup/rollup-linux-x64-gnu@4.46.3': 363 - resolution: {integrity: sha512-F42IgZI4JicE2vM2PWCe0N5mR5vR0gIdORPqhGQ32/u1S1v3kLtbZ0C/mi9FFk7C5T0PgdeyWEPajPjaUpyoKg==} 379 + '@rollup/rollup-linux-x64-gnu@4.52.5': 380 + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} 364 381 cpu: [x64] 365 382 os: [linux] 366 383 367 - '@rollup/rollup-linux-x64-musl@4.46.3': 368 - resolution: {integrity: sha512-oLc+JrwwvbimJUInzx56Q3ujL3Kkhxehg7O1gWAYzm8hImCd5ld1F2Gry5YDjR21MNb5WCKhC9hXgU7rRlyegQ==} 384 + '@rollup/rollup-linux-x64-musl@4.52.5': 385 + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} 369 386 cpu: [x64] 370 387 os: [linux] 371 388 372 - '@rollup/rollup-win32-arm64-msvc@4.46.3': 373 - resolution: {integrity: sha512-lOrQ+BVRstruD1fkWg9yjmumhowR0oLAAzavB7yFSaGltY8klttmZtCLvOXCmGE9mLIn8IBV/IFrQOWz5xbFPg==} 389 + '@rollup/rollup-openharmony-arm64@4.52.5': 390 + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} 391 + cpu: [arm64] 392 + os: [openharmony] 393 + 394 + '@rollup/rollup-win32-arm64-msvc@4.52.5': 395 + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} 374 396 cpu: [arm64] 375 397 os: [win32] 376 398 377 - '@rollup/rollup-win32-ia32-msvc@4.46.3': 378 - resolution: {integrity: sha512-vvrVKPRS4GduGR7VMH8EylCBqsDcw6U+/0nPDuIjXQRbHJc6xOBj+frx8ksfZAh6+Fptw5wHrN7etlMmQnPQVg==} 399 + '@rollup/rollup-win32-ia32-msvc@4.52.5': 400 + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} 379 401 cpu: [ia32] 380 402 os: [win32] 381 403 382 - '@rollup/rollup-win32-x64-msvc@4.46.3': 383 - resolution: {integrity: sha512-fi3cPxCnu3ZeM3EwKZPgXbWoGzm2XHgB/WShKI81uj8wG0+laobmqy5wbgEwzstlbLu4MyO8C19FyhhWseYKNQ==} 404 + '@rollup/rollup-win32-x64-gnu@4.52.5': 405 + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} 384 406 cpu: [x64] 385 407 os: [win32] 386 408 387 - '@tauri-apps/api@2.0.0-rc.0': 388 - resolution: {integrity: sha512-v454Qs3REHc3Za59U+/eSmBsdmF+3NE5+76+lFDaitVqN4ZglDHENDaMARYKGJVZuxiSkzyqG0SeG7lLQjVkPA==} 389 - engines: {node: '>= 18.18', npm: '>= 6.6.0', yarn: '>= 1.19.1'} 409 + '@rollup/rollup-win32-x64-msvc@4.52.5': 410 + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} 411 + cpu: [x64] 412 + os: [win32] 390 413 391 - '@tauri-apps/api@2.8.0': 392 - resolution: {integrity: sha512-ga7zdhbS2GXOMTIZRT0mYjKJtR9fivsXzsyq5U3vjDL0s6DTMwYRm0UHNjzTY5dh4+LSC68Sm/7WEiimbQNYlw==} 414 + '@tauri-apps/api@2.9.0': 415 + resolution: {integrity: sha512-qD5tMjh7utwBk9/5PrTA/aGr3i5QaJ/Mlt7p8NilQ45WgbifUNPyKWsA63iQ8YfQq6R8ajMapU+/Q8nMcPRLNw==} 393 416 394 - '@tauri-apps/cli-darwin-arm64@2.0.0-rc.5': 395 - resolution: {integrity: sha512-EoduJ5SeMfBKCe7I291JBH+lkrf2E0+mQF1rP+Jq4CjWPer11OeEcUSFtHURB3Z3ItzObQ7ALPulMGhMe6E9rg==} 417 + '@tauri-apps/cli-darwin-arm64@2.9.3': 418 + resolution: {integrity: sha512-W8FQXZXQmQ0Fmj9UJXNrm2mLdIaLLriKVY7o/FzmizyIKTPIvHjfZALTNybbpTQRbJvKoGHLrW1DNzAWVDWJYg==} 396 419 engines: {node: '>= 10'} 397 420 cpu: [arm64] 398 421 os: [darwin] 399 422 400 - '@tauri-apps/cli-darwin-x64@2.0.0-rc.5': 401 - resolution: {integrity: sha512-GdphvNgQWAbVGoD6e2Z5auWFXBcmmbhiwf9UNoKpBQPLfFO6EEJHjXbACr/hAZsqT0nNpZLRoh/5v5HGTmU0XQ==} 423 + '@tauri-apps/cli-darwin-x64@2.9.3': 424 + resolution: {integrity: sha512-zDwu40rlshijt3TU6aRvzPUyVpapsx1sNfOlreDMTaMelQLHl6YoQzSRpLHYwrHrhimxyX2uDqnKIiuGel0Lhg==} 402 425 engines: {node: '>= 10'} 403 426 cpu: [x64] 404 427 os: [darwin] 405 428 406 - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.5': 407 - resolution: {integrity: sha512-S47KwAfyRsO2qTqSoadHP4a1cjO9kfQi4QWkoaDjb0BEETdrhPM94qp43cnKP7QWW+msOToMTdlks9HYlhRUww==} 429 + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.3': 430 + resolution: {integrity: sha512-+Oc2OfcTRwYtW93VJqd/HOk77buORwC9IToj/qsEvM7bTMq6Kda4alpZprzwrCHYANSw+zD8PgjJdljTpe4p+g==} 408 431 engines: {node: '>= 10'} 409 432 cpu: [arm] 410 433 os: [linux] 411 434 412 - '@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.5': 413 - resolution: {integrity: sha512-Ii9aP/24Rtlci5MaeSaqb6JOLt3cUBA4z4XmGz5VOLLZ+ntRxpfd3xNpLki04V2MOgbAu9BxLAp5UTzELc1/Rg==} 435 + '@tauri-apps/cli-linux-arm64-gnu@2.9.3': 436 + resolution: {integrity: sha512-59GqU/J1n9wFyAtleoQOaU0oVIo+kwQynEw4meFDoKRXszKGor6lTsbsS3r0QKLSPbc0o/yYGJhqqCtkYjb/eg==} 414 437 engines: {node: '>= 10'} 415 438 cpu: [arm64] 416 439 os: [linux] 417 440 418 - '@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.5': 419 - resolution: {integrity: sha512-noV2sDusI+DsEHl0uMOZ04sQmj65Jo9yjfSg2iv1fnfjBYVbwi6Qj/MaCqyApXESQrpv1XZB3kYI+CkyPnjj2Q==} 441 + '@tauri-apps/cli-linux-arm64-musl@2.9.3': 442 + resolution: {integrity: sha512-fzvG+jEn5/iYGNH6Z2IRMheYFC4pJdXa19BR9fFm6Bdn2cuajRLDKdUcEME/DCtwqclphXtFZTrT4oezY5vI/A==} 420 443 engines: {node: '>= 10'} 421 444 cpu: [arm64] 422 445 os: [linux] 423 446 424 - '@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.5': 425 - resolution: {integrity: sha512-iTe9gKO+qgFRjU1sxBvbI8bIRbkOedWvFm/yh8RFi1iJcFwbVnsHWQ8z7BwoNMJLnL2dseZgrGntmS5n9/xSSQ==} 447 + '@tauri-apps/cli-linux-riscv64-gnu@2.9.3': 448 + resolution: {integrity: sha512-qV8DZXI/fZwawk6T3Th1g6smiNC2KeQTk7XFgKvqZ6btC01z3UTsQmNGvI602zwm3Ld1TBZb4+rEWu2QmQimmw==} 449 + engines: {node: '>= 10'} 450 + cpu: [riscv64] 451 + os: [linux] 452 + 453 + '@tauri-apps/cli-linux-x64-gnu@2.9.3': 454 + resolution: {integrity: sha512-tquyEONCNRfqEBWEe4eAHnxFN5yY5lFkCuD4w79XLIovUxVftQ684+xLp7zkhntkt4y20SMj2AgJa/+MOlx4Kg==} 426 455 engines: {node: '>= 10'} 427 456 cpu: [x64] 428 457 os: [linux] 429 458 430 - '@tauri-apps/cli-linux-x64-musl@2.0.0-rc.5': 431 - resolution: {integrity: sha512-R7EyfvfdMtRAKC3QxPn5jVGEH56R4g6hSnR5xXkFnEpioND7SNru5UMBGgseGJ22h/hdjFfqS2vc19291gkVsg==} 459 + '@tauri-apps/cli-linux-x64-musl@2.9.3': 460 + resolution: {integrity: sha512-v2cBIB/6ji8DL+aiL5QUykU3ZO8OoJGyx50/qv2HQVzkf85KdaYSis3D/oVRemN/pcDz+vyCnnL3XnzFnDl4JQ==} 432 461 engines: {node: '>= 10'} 433 462 cpu: [x64] 434 463 os: [linux] 435 464 436 - '@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.5': 437 - resolution: {integrity: sha512-EE7CF//hMWsVZpu9IWXGLDDdMhAiNfHwfLnW4Na1INHKBBb/ynhOd4gKRC3Mi/kgcMfXJAq0nBJFw1mal1q7jg==} 465 + '@tauri-apps/cli-win32-arm64-msvc@2.9.3': 466 + resolution: {integrity: sha512-ZGvBy7nvrHPbE0HeKp/ioaiw8bNgAHxWnb7JRZ4/G0A+oFj0SeSFxl9k5uU6FKnM7bHM23Gd1oeaDex9g5Fceg==} 438 467 engines: {node: '>= 10'} 439 468 cpu: [arm64] 440 469 os: [win32] 441 470 442 - '@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.5': 443 - resolution: {integrity: sha512-zJosPEw1X1H9nTNsrYVSypRLdMLOiLAY8hlBrgsmw7dmN61lOMLyItWsbiAezYeKIpaFeADurR+5qMHHwzbqeg==} 471 + '@tauri-apps/cli-win32-ia32-msvc@2.9.3': 472 + resolution: {integrity: sha512-UsgIwOnpCoY9NK9/65QiwgmWVIE80LE7SwRYVblGtmlY9RYfsYvpbItwsovA/AcHMTiO+OCvS/q9yLeqS3m6Sg==} 444 473 engines: {node: '>= 10'} 445 474 cpu: [ia32] 446 475 os: [win32] 447 476 448 - '@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.5': 449 - resolution: {integrity: sha512-PqxbL/e6GraazdwEKN1oX33gYCRf0ns6yuaxHafHM5+Zsv0MZpyPTPLDot/JLKvNBefk6QXZn5fKAIETVtQaGg==} 477 + '@tauri-apps/cli-win32-x64-msvc@2.9.3': 478 + resolution: {integrity: sha512-fmw7NrrHE5m49idCvJAx9T9bsupjdJ0a3p3DPCNCZRGANU6R1tA1L+KTlVuUtdAldX2NqU/9UPo2SCslYKgJHQ==} 450 479 engines: {node: '>= 10'} 451 480 cpu: [x64] 452 481 os: [win32] 453 482 454 - '@tauri-apps/cli@2.0.0-rc.5': 455 - resolution: {integrity: sha512-JtFfJg8ZNOrj+S+8RKpcrNIcU5hw0X8JSNs2tUjQq0OZgqIGnRSILYjg7BaZDPEakQXUKsDEufbjbYVNJDIp8g==} 483 + '@tauri-apps/cli@2.9.3': 484 + resolution: {integrity: sha512-BQ7iLUXTQcyG1PpzLWeVSmBCedYDpnA/6Cm/kRFGtqjTf/eVUlyYO5S2ee07tLum3nWwDBWTGFZeruO8yEukfA==} 456 485 engines: {node: '>= 10'} 457 486 hasBin: true 458 487 459 - '@tauri-apps/plugin-deep-link@2.4.1': 460 - resolution: {integrity: sha512-I8Bo+spcAKGhIIJ1qN/gapp/Ot3mosQL98znxr975Zn2ODAkUZ++BQ9FnTpR7PDwfIl5ANSGdIW/YU01zVTcJw==} 488 + '@tauri-apps/plugin-deep-link@2.4.5': 489 + resolution: {integrity: sha512-Zf2RTj1D9IQQ45/jqW8XTKvql24HqlPjcpv0mV/O2jHQkNe11HOTZBVj6IK37qs+MWV7xZzcmazx/QVZnhAwaQ==} 461 490 462 - '@tauri-apps/plugin-http@2.0.0-rc.1': 463 - resolution: {integrity: sha512-j4WdTEKx0CFa6u8ubke0mo75pCrnu6XtrFtvjsh+zjuNYgMG/l0+A1woWXHm73f2Levskhs+KbKcLQA/nr8k2w==} 491 + '@tauri-apps/plugin-http@2.5.4': 492 + resolution: {integrity: sha512-/i4U/9za3mrytTgfRn5RHneKubZE/dwRmshYwyMvNRlkWjvu1m4Ma72kcbVJMZFGXpkbl+qLyWMGrihtWB76Zg==} 464 493 465 - '@tauri-apps/plugin-process@2.0.0-rc.0': 466 - resolution: {integrity: sha512-Z12D/kmQzG1vCVf+jLXPhPDUA0pEjFrsg4p0uwO2sotVLM9287IuTM+aIz9cuAYOxFLKcsnDG7amSCL9IfA1gw==} 494 + '@tauri-apps/plugin-process@2.3.1': 495 + resolution: {integrity: sha512-nCa4fGVaDL/B9ai03VyPOjfAHRHSBz5v6F/ObsB73r/dA3MHHhZtldaDMIc0V/pnUw9ehzr2iEG+XkSEyC0JJA==} 467 496 468 - '@tauri-apps/plugin-shell@2.0.0-rc.0': 469 - resolution: {integrity: sha512-bhUcQcrqZoK8H1DFXapr5r1Z75oh6Kd5Tltz97XpZFLREEqp+KhN2Fvyh8r/fKAyenYsTYUIsDsyGdjdueuF9g==} 497 + '@tauri-apps/plugin-shell@2.3.3': 498 + resolution: {integrity: sha512-Xod+pRcFxmOWFWEnqH5yZcA7qwAMuaaDkMR1Sply+F8VfBj++CGnj2xf5UoialmjZ2Cvd8qrvSCbU+7GgNVsKQ==} 470 499 471 500 '@types/animejs@3.1.13': 472 501 resolution: {integrity: sha512-yWg9l1z7CAv/TKpty4/vupEh24jDGUZXv4r26StRkpUPQm04ztJaftgpto8vwdFs8SiTq6XfaPKCSI+wjzNMvQ==} ··· 486 515 '@types/estree@1.0.8': 487 516 resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 488 517 489 - animejs@4.1.3: 490 - resolution: {integrity: sha512-4XzlIsQsku1ycSPzchxxT0N+ohEMZObG71nOSBBkZoV4sgQvtXa/qAANkFpTE6pegdV8JnIBZiB0LfdxNoRNMw==} 518 + animejs@4.2.2: 519 + resolution: {integrity: sha512-Ys3RuvLdAeI14fsdKCQy7ytu4057QX6Bb7m4jwmfd6iKmUmLquTwk1ut0e4NtRQgCeq/s2Lv5+oMBjz6c7ZuIg==} 491 520 492 - babel-plugin-jsx-dom-expressions@0.40.1: 493 - resolution: {integrity: sha512-b4iHuirqK7RgaMzB2Lsl7MqrlDgQtVRSSazyrmx7wB3T759ggGjod5Rkok5MfHjQXhR7tRPmdwoeGPqBnW2KfA==} 521 + babel-plugin-jsx-dom-expressions@0.40.3: 522 + resolution: {integrity: sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w==} 494 523 peerDependencies: 495 524 '@babel/core': ^7.20.12 496 525 497 - babel-preset-solid@1.9.9: 498 - resolution: {integrity: sha512-pCnxWrciluXCeli/dj5PIEHgbNzim3evtTn12snjqqg8QZWJNMjH1AWIp4iG/tbVjqQ72aBEymMSagvmgxubXw==} 526 + babel-preset-solid@1.9.10: 527 + resolution: {integrity: sha512-HCelrgua/Y+kqO8RyL04JBWS/cVdrtUv/h45GntgQY+cJl4eBcKkCDV3TdMjtKx1nXwRaR9QXslM/Npm1dxdZQ==} 499 528 peerDependencies: 500 529 '@babel/core': ^7.0.0 501 - solid-js: ^1.9.8 530 + solid-js: ^1.9.10 502 531 peerDependenciesMeta: 503 532 solid-js: 504 533 optional: true 505 534 506 - browserslist@4.25.3: 507 - resolution: {integrity: sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==} 535 + baseline-browser-mapping@2.8.25: 536 + resolution: {integrity: sha512-2NovHVesVF5TXefsGX1yzx1xgr7+m9JQenvz6FQY3qd+YXkKkYiv+vTCc7OriP9mcDZpTC5mAOYN4ocd29+erA==} 537 + hasBin: true 538 + 539 + browserslist@4.27.0: 540 + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} 508 541 engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 509 542 hasBin: true 510 543 511 - caniuse-lite@1.0.30001735: 512 - resolution: {integrity: sha512-EV/laoX7Wq2J9TQlyIXRxTJqIw4sxfXS4OYgudGxBYRuTv0q7AM6yMEpU/Vo1I94thg9U6EZ2NfZx9GJq83u7w==} 544 + caniuse-lite@1.0.30001754: 545 + resolution: {integrity: sha512-x6OeBXueoAceOmotzx3PO4Zpt4rzpeIFsSr6AAePTZxSkXiYDUmpypEl7e2+8NCd9bD7bXjqyef8CJYPC1jfxg==} 513 546 514 547 convert-source-map@2.0.0: 515 548 resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} ··· 517 550 csstype@3.1.3: 518 551 resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} 519 552 520 - debug@4.4.1: 521 - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 553 + debug@4.4.3: 554 + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} 522 555 engines: {node: '>=6.0'} 523 556 peerDependencies: 524 557 supports-color: '*' ··· 526 559 supports-color: 527 560 optional: true 528 561 529 - electron-to-chromium@1.5.207: 530 - resolution: {integrity: sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==} 562 + electron-to-chromium@1.5.248: 563 + resolution: {integrity: sha512-zsur2yunphlyAO4gIubdJEXCK6KOVvtpiuDfCIqbM9FjcnMYiyn0ICa3hWfPr0nc41zcLWobgy1iL7VvoOyA2Q==} 531 564 532 565 entities@6.0.1: 533 566 resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} 534 567 engines: {node: '>=0.12'} 535 568 536 - esbuild@0.21.5: 537 - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 538 - engines: {node: '>=12'} 569 + esbuild@0.25.12: 570 + resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==} 571 + engines: {node: '>=18'} 539 572 hasBin: true 540 573 541 574 escalade@3.2.0: 542 575 resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 543 576 engines: {node: '>=6'} 544 577 578 + fdir@6.5.0: 579 + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 580 + engines: {node: '>=12.0.0'} 581 + peerDependencies: 582 + picomatch: ^3 || ^4 583 + peerDependenciesMeta: 584 + picomatch: 585 + optional: true 586 + 545 587 fsevents@2.3.3: 546 588 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 547 589 engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} ··· 586 628 engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 587 629 hasBin: true 588 630 589 - node-releases@2.0.19: 590 - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 631 + node-releases@2.0.27: 632 + resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} 591 633 592 634 parse5@7.3.0: 593 635 resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} ··· 595 637 picocolors@1.1.1: 596 638 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 597 639 640 + picomatch@4.0.3: 641 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 642 + engines: {node: '>=12'} 643 + 598 644 postcss@8.5.6: 599 645 resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 600 646 engines: {node: ^10 || ^12 || >=14} 601 647 602 - rollup@4.46.3: 603 - resolution: {integrity: sha512-RZn2XTjXb8t5g13f5YclGoilU/kwT696DIkY3sywjdZidNSi3+vseaQov7D7BZXVJCPv3pDWUN69C78GGbXsKw==} 648 + rollup@4.52.5: 649 + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} 604 650 engines: {node: '>=18.0.0', npm: '>=8.0.0'} 605 651 hasBin: true 606 652 ··· 608 654 resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 609 655 hasBin: true 610 656 611 - seroval-plugins@1.3.2: 612 - resolution: {integrity: sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==} 657 + seroval-plugins@1.3.3: 658 + resolution: {integrity: sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==} 613 659 engines: {node: '>=10'} 614 660 peerDependencies: 615 661 seroval: ^1.0 ··· 618 664 resolution: {integrity: sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==} 619 665 engines: {node: '>=10'} 620 666 621 - solid-js@1.9.9: 622 - resolution: {integrity: sha512-A0ZBPJQldAeGCTW0YRYJmt7RCeh5rbFfPZ2aOttgYnctHE7HgKeHCBB/PVc2P7eOfmNXqMFFFoYYdm3S4dcbkA==} 667 + solid-js@1.9.10: 668 + resolution: {integrity: sha512-Coz956cos/EPDlhs6+jsdTxKuJDPT7B5SVIWgABwROyxjY7Xbr8wkzD68Et+NxnV7DLJ3nJdAC2r9InuV/4Jew==} 623 669 624 670 solid-refresh@0.6.3: 625 671 resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} ··· 630 676 resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 631 677 engines: {node: '>=0.10.0'} 632 678 633 - typescript@5.9.2: 634 - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} 679 + tinyglobby@0.2.15: 680 + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 681 + engines: {node: '>=12.0.0'} 682 + 683 + typescript@5.9.3: 684 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 635 685 engines: {node: '>=14.17'} 636 686 hasBin: true 637 687 638 - update-browserslist-db@1.1.3: 639 - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 688 + update-browserslist-db@1.1.4: 689 + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} 640 690 hasBin: true 641 691 peerDependencies: 642 692 browserslist: '>= 4.21.0' 643 693 644 - validate-html-nesting@1.2.3: 645 - resolution: {integrity: sha512-kdkWdCl6eCeLlRShJKbjVOU2kFKxMF8Ghu50n+crEoyx+VKm3FxAxF9z4DCy6+bbTOqNW0+jcIYRnjoIRzigRw==} 646 - 647 - vite-plugin-solid@2.11.8: 648 - resolution: {integrity: sha512-hFrCxBfv3B1BmFqnJF4JOCYpjrmi/zwyeKjcomQ0khh8HFyQ8SbuBWQ7zGojfrz6HUOBFrJBNySDi/JgAHytWg==} 694 + vite-plugin-solid@2.11.10: 695 + resolution: {integrity: sha512-Yr1dQybmtDtDAHkii6hXuc1oVH9CPcS/Zb2jN/P36qqcrkNnVPsMTzQ06jyzFPFjj3U1IYKMVt/9ZqcwGCEbjw==} 649 696 peerDependencies: 650 697 '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* 651 698 solid-js: ^1.7.2 ··· 654 701 '@testing-library/jest-dom': 655 702 optional: true 656 703 657 - vite@5.4.19: 658 - resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} 659 - engines: {node: ^18.0.0 || >=20.0.0} 704 + vite@7.2.2: 705 + resolution: {integrity: sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==} 706 + engines: {node: ^20.19.0 || >=22.12.0} 660 707 hasBin: true 661 708 peerDependencies: 662 - '@types/node': ^18.0.0 || >=20.0.0 663 - less: '*' 709 + '@types/node': ^20.19.0 || >=22.12.0 710 + jiti: '>=1.21.0' 711 + less: ^4.0.0 664 712 lightningcss: ^1.21.0 665 - sass: '*' 666 - sass-embedded: '*' 667 - stylus: '*' 668 - sugarss: '*' 669 - terser: ^5.4.0 713 + sass: ^1.70.0 714 + sass-embedded: ^1.70.0 715 + stylus: '>=0.54.8' 716 + sugarss: ^5.0.0 717 + terser: ^5.16.0 718 + tsx: ^4.8.1 719 + yaml: ^2.4.2 670 720 peerDependenciesMeta: 671 721 '@types/node': 722 + optional: true 723 + jiti: 672 724 optional: true 673 725 less: 674 726 optional: true ··· 684 736 optional: true 685 737 terser: 686 738 optional: true 739 + tsx: 740 + optional: true 741 + yaml: 742 + optional: true 687 743 688 744 vitefu@1.1.1: 689 745 resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} ··· 698 754 699 755 snapshots: 700 756 701 - '@ampproject/remapping@2.3.0': 702 - dependencies: 703 - '@jridgewell/gen-mapping': 0.3.13 704 - '@jridgewell/trace-mapping': 0.3.30 705 - 706 757 '@babel/code-frame@7.27.1': 707 758 dependencies: 708 - '@babel/helper-validator-identifier': 7.27.1 759 + '@babel/helper-validator-identifier': 7.28.5 709 760 js-tokens: 4.0.0 710 761 picocolors: 1.1.1 711 762 712 - '@babel/compat-data@7.28.0': {} 763 + '@babel/compat-data@7.28.5': {} 713 764 714 - '@babel/core@7.28.3': 765 + '@babel/core@7.28.5': 715 766 dependencies: 716 - '@ampproject/remapping': 2.3.0 717 767 '@babel/code-frame': 7.27.1 718 - '@babel/generator': 7.28.3 768 + '@babel/generator': 7.28.5 719 769 '@babel/helper-compilation-targets': 7.27.2 720 - '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.3) 721 - '@babel/helpers': 7.28.3 722 - '@babel/parser': 7.28.3 770 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.5) 771 + '@babel/helpers': 7.28.4 772 + '@babel/parser': 7.28.5 723 773 '@babel/template': 7.27.2 724 - '@babel/traverse': 7.28.3 725 - '@babel/types': 7.28.2 774 + '@babel/traverse': 7.28.5 775 + '@babel/types': 7.28.5 776 + '@jridgewell/remapping': 2.3.5 726 777 convert-source-map: 2.0.0 727 - debug: 4.4.1 778 + debug: 4.4.3 728 779 gensync: 1.0.0-beta.2 729 780 json5: 2.2.3 730 781 semver: 6.3.1 731 782 transitivePeerDependencies: 732 783 - supports-color 733 784 734 - '@babel/generator@7.28.3': 785 + '@babel/generator@7.28.5': 735 786 dependencies: 736 - '@babel/parser': 7.28.3 737 - '@babel/types': 7.28.2 787 + '@babel/parser': 7.28.5 788 + '@babel/types': 7.28.5 738 789 '@jridgewell/gen-mapping': 0.3.13 739 - '@jridgewell/trace-mapping': 0.3.30 790 + '@jridgewell/trace-mapping': 0.3.31 740 791 jsesc: 3.1.0 741 792 742 793 '@babel/helper-compilation-targets@7.27.2': 743 794 dependencies: 744 - '@babel/compat-data': 7.28.0 795 + '@babel/compat-data': 7.28.5 745 796 '@babel/helper-validator-option': 7.27.1 746 - browserslist: 4.25.3 797 + browserslist: 4.27.0 747 798 lru-cache: 5.1.1 748 799 semver: 6.3.1 749 800 ··· 751 802 752 803 '@babel/helper-module-imports@7.18.6': 753 804 dependencies: 754 - '@babel/types': 7.28.2 805 + '@babel/types': 7.28.5 755 806 756 807 '@babel/helper-module-imports@7.27.1': 757 808 dependencies: 758 - '@babel/traverse': 7.28.3 759 - '@babel/types': 7.28.2 809 + '@babel/traverse': 7.28.5 810 + '@babel/types': 7.28.5 760 811 transitivePeerDependencies: 761 812 - supports-color 762 813 763 - '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.3)': 814 + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.5)': 764 815 dependencies: 765 - '@babel/core': 7.28.3 816 + '@babel/core': 7.28.5 766 817 '@babel/helper-module-imports': 7.27.1 767 - '@babel/helper-validator-identifier': 7.27.1 768 - '@babel/traverse': 7.28.3 818 + '@babel/helper-validator-identifier': 7.28.5 819 + '@babel/traverse': 7.28.5 769 820 transitivePeerDependencies: 770 821 - supports-color 771 822 ··· 773 824 774 825 '@babel/helper-string-parser@7.27.1': {} 775 826 776 - '@babel/helper-validator-identifier@7.27.1': {} 827 + '@babel/helper-validator-identifier@7.28.5': {} 777 828 778 829 '@babel/helper-validator-option@7.27.1': {} 779 830 780 - '@babel/helpers@7.28.3': 831 + '@babel/helpers@7.28.4': 781 832 dependencies: 782 833 '@babel/template': 7.27.2 783 - '@babel/types': 7.28.2 834 + '@babel/types': 7.28.5 784 835 785 - '@babel/parser@7.28.3': 836 + '@babel/parser@7.28.5': 786 837 dependencies: 787 - '@babel/types': 7.28.2 838 + '@babel/types': 7.28.5 788 839 789 - '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.3)': 840 + '@babel/plugin-syntax-jsx@7.27.1(@babel/core@7.28.5)': 790 841 dependencies: 791 - '@babel/core': 7.28.3 842 + '@babel/core': 7.28.5 792 843 '@babel/helper-plugin-utils': 7.27.1 793 844 794 845 '@babel/template@7.27.2': 795 846 dependencies: 796 847 '@babel/code-frame': 7.27.1 797 - '@babel/parser': 7.28.3 798 - '@babel/types': 7.28.2 848 + '@babel/parser': 7.28.5 849 + '@babel/types': 7.28.5 799 850 800 - '@babel/traverse@7.28.3': 851 + '@babel/traverse@7.28.5': 801 852 dependencies: 802 853 '@babel/code-frame': 7.27.1 803 - '@babel/generator': 7.28.3 854 + '@babel/generator': 7.28.5 804 855 '@babel/helper-globals': 7.28.0 805 - '@babel/parser': 7.28.3 856 + '@babel/parser': 7.28.5 806 857 '@babel/template': 7.27.2 807 - '@babel/types': 7.28.2 808 - debug: 4.4.1 858 + '@babel/types': 7.28.5 859 + debug: 4.4.3 809 860 transitivePeerDependencies: 810 861 - supports-color 811 862 812 - '@babel/types@7.28.2': 863 + '@babel/types@7.28.5': 813 864 dependencies: 814 865 '@babel/helper-string-parser': 7.27.1 815 - '@babel/helper-validator-identifier': 7.27.1 866 + '@babel/helper-validator-identifier': 7.28.5 867 + 868 + '@esbuild/aix-ppc64@0.25.12': 869 + optional: true 870 + 871 + '@esbuild/android-arm64@0.25.12': 872 + optional: true 873 + 874 + '@esbuild/android-arm@0.25.12': 875 + optional: true 816 876 817 - '@esbuild/aix-ppc64@0.21.5': 877 + '@esbuild/android-x64@0.25.12': 818 878 optional: true 819 879 820 - '@esbuild/android-arm64@0.21.5': 880 + '@esbuild/darwin-arm64@0.25.12': 821 881 optional: true 822 882 823 - '@esbuild/android-arm@0.21.5': 883 + '@esbuild/darwin-x64@0.25.12': 824 884 optional: true 825 885 826 - '@esbuild/android-x64@0.21.5': 886 + '@esbuild/freebsd-arm64@0.25.12': 827 887 optional: true 828 888 829 - '@esbuild/darwin-arm64@0.21.5': 889 + '@esbuild/freebsd-x64@0.25.12': 830 890 optional: true 831 891 832 - '@esbuild/darwin-x64@0.21.5': 892 + '@esbuild/linux-arm64@0.25.12': 833 893 optional: true 834 894 835 - '@esbuild/freebsd-arm64@0.21.5': 895 + '@esbuild/linux-arm@0.25.12': 836 896 optional: true 837 897 838 - '@esbuild/freebsd-x64@0.21.5': 898 + '@esbuild/linux-ia32@0.25.12': 839 899 optional: true 840 900 841 - '@esbuild/linux-arm64@0.21.5': 901 + '@esbuild/linux-loong64@0.25.12': 842 902 optional: true 843 903 844 - '@esbuild/linux-arm@0.21.5': 904 + '@esbuild/linux-mips64el@0.25.12': 845 905 optional: true 846 906 847 - '@esbuild/linux-ia32@0.21.5': 907 + '@esbuild/linux-ppc64@0.25.12': 848 908 optional: true 849 909 850 - '@esbuild/linux-loong64@0.21.5': 910 + '@esbuild/linux-riscv64@0.25.12': 851 911 optional: true 852 912 853 - '@esbuild/linux-mips64el@0.21.5': 913 + '@esbuild/linux-s390x@0.25.12': 854 914 optional: true 855 915 856 - '@esbuild/linux-ppc64@0.21.5': 916 + '@esbuild/linux-x64@0.25.12': 857 917 optional: true 858 918 859 - '@esbuild/linux-riscv64@0.21.5': 919 + '@esbuild/netbsd-arm64@0.25.12': 860 920 optional: true 861 921 862 - '@esbuild/linux-s390x@0.21.5': 922 + '@esbuild/netbsd-x64@0.25.12': 863 923 optional: true 864 924 865 - '@esbuild/linux-x64@0.21.5': 925 + '@esbuild/openbsd-arm64@0.25.12': 866 926 optional: true 867 927 868 - '@esbuild/netbsd-x64@0.21.5': 928 + '@esbuild/openbsd-x64@0.25.12': 869 929 optional: true 870 930 871 - '@esbuild/openbsd-x64@0.21.5': 931 + '@esbuild/openharmony-arm64@0.25.12': 872 932 optional: true 873 933 874 - '@esbuild/sunos-x64@0.21.5': 934 + '@esbuild/sunos-x64@0.25.12': 875 935 optional: true 876 936 877 - '@esbuild/win32-arm64@0.21.5': 937 + '@esbuild/win32-arm64@0.25.12': 878 938 optional: true 879 939 880 - '@esbuild/win32-ia32@0.21.5': 940 + '@esbuild/win32-ia32@0.25.12': 881 941 optional: true 882 942 883 - '@esbuild/win32-x64@0.21.5': 943 + '@esbuild/win32-x64@0.25.12': 884 944 optional: true 885 945 886 946 '@jridgewell/gen-mapping@0.3.13': 887 947 dependencies: 888 948 '@jridgewell/sourcemap-codec': 1.5.5 889 - '@jridgewell/trace-mapping': 0.3.30 949 + '@jridgewell/trace-mapping': 0.3.31 950 + 951 + '@jridgewell/remapping@2.3.5': 952 + dependencies: 953 + '@jridgewell/gen-mapping': 0.3.13 954 + '@jridgewell/trace-mapping': 0.3.31 890 955 891 956 '@jridgewell/resolve-uri@3.1.2': {} 892 957 893 958 '@jridgewell/sourcemap-codec@1.5.5': {} 894 959 895 - '@jridgewell/trace-mapping@0.3.30': 960 + '@jridgewell/trace-mapping@0.3.31': 896 961 dependencies: 897 962 '@jridgewell/resolve-uri': 3.1.2 898 963 '@jridgewell/sourcemap-codec': 1.5.5 899 964 900 - '@rollup/rollup-android-arm-eabi@4.46.3': 965 + '@rollup/rollup-android-arm-eabi@4.52.5': 901 966 optional: true 902 967 903 - '@rollup/rollup-android-arm64@4.46.3': 968 + '@rollup/rollup-android-arm64@4.52.5': 904 969 optional: true 905 970 906 - '@rollup/rollup-darwin-arm64@4.46.3': 971 + '@rollup/rollup-darwin-arm64@4.52.5': 907 972 optional: true 908 973 909 - '@rollup/rollup-darwin-x64@4.46.3': 974 + '@rollup/rollup-darwin-x64@4.52.5': 910 975 optional: true 911 976 912 - '@rollup/rollup-freebsd-arm64@4.46.3': 977 + '@rollup/rollup-freebsd-arm64@4.52.5': 913 978 optional: true 914 979 915 - '@rollup/rollup-freebsd-x64@4.46.3': 980 + '@rollup/rollup-freebsd-x64@4.52.5': 916 981 optional: true 917 982 918 - '@rollup/rollup-linux-arm-gnueabihf@4.46.3': 983 + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': 919 984 optional: true 920 985 921 - '@rollup/rollup-linux-arm-musleabihf@4.46.3': 986 + '@rollup/rollup-linux-arm-musleabihf@4.52.5': 922 987 optional: true 923 988 924 - '@rollup/rollup-linux-arm64-gnu@4.46.3': 989 + '@rollup/rollup-linux-arm64-gnu@4.52.5': 925 990 optional: true 926 991 927 - '@rollup/rollup-linux-arm64-musl@4.46.3': 992 + '@rollup/rollup-linux-arm64-musl@4.52.5': 928 993 optional: true 929 994 930 - '@rollup/rollup-linux-loongarch64-gnu@4.46.3': 995 + '@rollup/rollup-linux-loong64-gnu@4.52.5': 931 996 optional: true 932 997 933 - '@rollup/rollup-linux-ppc64-gnu@4.46.3': 998 + '@rollup/rollup-linux-ppc64-gnu@4.52.5': 934 999 optional: true 935 1000 936 - '@rollup/rollup-linux-riscv64-gnu@4.46.3': 1001 + '@rollup/rollup-linux-riscv64-gnu@4.52.5': 937 1002 optional: true 938 1003 939 - '@rollup/rollup-linux-riscv64-musl@4.46.3': 1004 + '@rollup/rollup-linux-riscv64-musl@4.52.5': 940 1005 optional: true 941 1006 942 - '@rollup/rollup-linux-s390x-gnu@4.46.3': 1007 + '@rollup/rollup-linux-s390x-gnu@4.52.5': 943 1008 optional: true 944 1009 945 - '@rollup/rollup-linux-x64-gnu@4.46.3': 1010 + '@rollup/rollup-linux-x64-gnu@4.52.5': 946 1011 optional: true 947 1012 948 - '@rollup/rollup-linux-x64-musl@4.46.3': 1013 + '@rollup/rollup-linux-x64-musl@4.52.5': 949 1014 optional: true 950 1015 951 - '@rollup/rollup-win32-arm64-msvc@4.46.3': 1016 + '@rollup/rollup-openharmony-arm64@4.52.5': 952 1017 optional: true 953 1018 954 - '@rollup/rollup-win32-ia32-msvc@4.46.3': 1019 + '@rollup/rollup-win32-arm64-msvc@4.52.5': 955 1020 optional: true 956 1021 957 - '@rollup/rollup-win32-x64-msvc@4.46.3': 1022 + '@rollup/rollup-win32-ia32-msvc@4.52.5': 958 1023 optional: true 959 1024 960 - '@tauri-apps/api@2.0.0-rc.0': {} 1025 + '@rollup/rollup-win32-x64-gnu@4.52.5': 1026 + optional: true 961 1027 962 - '@tauri-apps/api@2.8.0': {} 1028 + '@rollup/rollup-win32-x64-msvc@4.52.5': 1029 + optional: true 963 1030 964 - '@tauri-apps/cli-darwin-arm64@2.0.0-rc.5': 1031 + '@tauri-apps/api@2.9.0': {} 1032 + 1033 + '@tauri-apps/cli-darwin-arm64@2.9.3': 965 1034 optional: true 966 1035 967 - '@tauri-apps/cli-darwin-x64@2.0.0-rc.5': 1036 + '@tauri-apps/cli-darwin-x64@2.9.3': 1037 + optional: true 1038 + 1039 + '@tauri-apps/cli-linux-arm-gnueabihf@2.9.3': 968 1040 optional: true 969 1041 970 - '@tauri-apps/cli-linux-arm-gnueabihf@2.0.0-rc.5': 1042 + '@tauri-apps/cli-linux-arm64-gnu@2.9.3': 971 1043 optional: true 972 1044 973 - '@tauri-apps/cli-linux-arm64-gnu@2.0.0-rc.5': 1045 + '@tauri-apps/cli-linux-arm64-musl@2.9.3': 974 1046 optional: true 975 1047 976 - '@tauri-apps/cli-linux-arm64-musl@2.0.0-rc.5': 1048 + '@tauri-apps/cli-linux-riscv64-gnu@2.9.3': 977 1049 optional: true 978 1050 979 - '@tauri-apps/cli-linux-x64-gnu@2.0.0-rc.5': 1051 + '@tauri-apps/cli-linux-x64-gnu@2.9.3': 980 1052 optional: true 981 1053 982 - '@tauri-apps/cli-linux-x64-musl@2.0.0-rc.5': 1054 + '@tauri-apps/cli-linux-x64-musl@2.9.3': 983 1055 optional: true 984 1056 985 - '@tauri-apps/cli-win32-arm64-msvc@2.0.0-rc.5': 1057 + '@tauri-apps/cli-win32-arm64-msvc@2.9.3': 986 1058 optional: true 987 1059 988 - '@tauri-apps/cli-win32-ia32-msvc@2.0.0-rc.5': 1060 + '@tauri-apps/cli-win32-ia32-msvc@2.9.3': 989 1061 optional: true 990 1062 991 - '@tauri-apps/cli-win32-x64-msvc@2.0.0-rc.5': 1063 + '@tauri-apps/cli-win32-x64-msvc@2.9.3': 992 1064 optional: true 993 1065 994 - '@tauri-apps/cli@2.0.0-rc.5': 1066 + '@tauri-apps/cli@2.9.3': 995 1067 optionalDependencies: 996 - '@tauri-apps/cli-darwin-arm64': 2.0.0-rc.5 997 - '@tauri-apps/cli-darwin-x64': 2.0.0-rc.5 998 - '@tauri-apps/cli-linux-arm-gnueabihf': 2.0.0-rc.5 999 - '@tauri-apps/cli-linux-arm64-gnu': 2.0.0-rc.5 1000 - '@tauri-apps/cli-linux-arm64-musl': 2.0.0-rc.5 1001 - '@tauri-apps/cli-linux-x64-gnu': 2.0.0-rc.5 1002 - '@tauri-apps/cli-linux-x64-musl': 2.0.0-rc.5 1003 - '@tauri-apps/cli-win32-arm64-msvc': 2.0.0-rc.5 1004 - '@tauri-apps/cli-win32-ia32-msvc': 2.0.0-rc.5 1005 - '@tauri-apps/cli-win32-x64-msvc': 2.0.0-rc.5 1068 + '@tauri-apps/cli-darwin-arm64': 2.9.3 1069 + '@tauri-apps/cli-darwin-x64': 2.9.3 1070 + '@tauri-apps/cli-linux-arm-gnueabihf': 2.9.3 1071 + '@tauri-apps/cli-linux-arm64-gnu': 2.9.3 1072 + '@tauri-apps/cli-linux-arm64-musl': 2.9.3 1073 + '@tauri-apps/cli-linux-riscv64-gnu': 2.9.3 1074 + '@tauri-apps/cli-linux-x64-gnu': 2.9.3 1075 + '@tauri-apps/cli-linux-x64-musl': 2.9.3 1076 + '@tauri-apps/cli-win32-arm64-msvc': 2.9.3 1077 + '@tauri-apps/cli-win32-ia32-msvc': 2.9.3 1078 + '@tauri-apps/cli-win32-x64-msvc': 2.9.3 1006 1079 1007 - '@tauri-apps/plugin-deep-link@2.4.1': 1080 + '@tauri-apps/plugin-deep-link@2.4.5': 1008 1081 dependencies: 1009 - '@tauri-apps/api': 2.8.0 1082 + '@tauri-apps/api': 2.9.0 1010 1083 1011 - '@tauri-apps/plugin-http@2.0.0-rc.1': 1084 + '@tauri-apps/plugin-http@2.5.4': 1012 1085 dependencies: 1013 - '@tauri-apps/api': 2.8.0 1086 + '@tauri-apps/api': 2.9.0 1014 1087 1015 - '@tauri-apps/plugin-process@2.0.0-rc.0': 1088 + '@tauri-apps/plugin-process@2.3.1': 1016 1089 dependencies: 1017 - '@tauri-apps/api': 2.0.0-rc.0 1090 + '@tauri-apps/api': 2.9.0 1018 1091 1019 - '@tauri-apps/plugin-shell@2.0.0-rc.0': 1092 + '@tauri-apps/plugin-shell@2.3.3': 1020 1093 dependencies: 1021 - '@tauri-apps/api': 2.0.0-rc.0 1094 + '@tauri-apps/api': 2.9.0 1022 1095 1023 1096 '@types/animejs@3.1.13': {} 1024 1097 1025 1098 '@types/babel__core@7.20.5': 1026 1099 dependencies: 1027 - '@babel/parser': 7.28.3 1028 - '@babel/types': 7.28.2 1100 + '@babel/parser': 7.28.5 1101 + '@babel/types': 7.28.5 1029 1102 '@types/babel__generator': 7.27.0 1030 1103 '@types/babel__template': 7.4.4 1031 1104 '@types/babel__traverse': 7.28.0 1032 1105 1033 1106 '@types/babel__generator@7.27.0': 1034 1107 dependencies: 1035 - '@babel/types': 7.28.2 1108 + '@babel/types': 7.28.5 1036 1109 1037 1110 '@types/babel__template@7.4.4': 1038 1111 dependencies: 1039 - '@babel/parser': 7.28.3 1040 - '@babel/types': 7.28.2 1112 + '@babel/parser': 7.28.5 1113 + '@babel/types': 7.28.5 1041 1114 1042 1115 '@types/babel__traverse@7.28.0': 1043 1116 dependencies: 1044 - '@babel/types': 7.28.2 1117 + '@babel/types': 7.28.5 1045 1118 1046 1119 '@types/estree@1.0.8': {} 1047 1120 1048 - animejs@4.1.3: {} 1121 + animejs@4.2.2: {} 1049 1122 1050 - babel-plugin-jsx-dom-expressions@0.40.1(@babel/core@7.28.3): 1123 + babel-plugin-jsx-dom-expressions@0.40.3(@babel/core@7.28.5): 1051 1124 dependencies: 1052 - '@babel/core': 7.28.3 1125 + '@babel/core': 7.28.5 1053 1126 '@babel/helper-module-imports': 7.18.6 1054 - '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.3) 1055 - '@babel/types': 7.28.2 1127 + '@babel/plugin-syntax-jsx': 7.27.1(@babel/core@7.28.5) 1128 + '@babel/types': 7.28.5 1056 1129 html-entities: 2.3.3 1057 1130 parse5: 7.3.0 1058 - validate-html-nesting: 1.2.3 1059 1131 1060 - babel-preset-solid@1.9.9(@babel/core@7.28.3)(solid-js@1.9.9): 1132 + babel-preset-solid@1.9.10(@babel/core@7.28.5)(solid-js@1.9.10): 1061 1133 dependencies: 1062 - '@babel/core': 7.28.3 1063 - babel-plugin-jsx-dom-expressions: 0.40.1(@babel/core@7.28.3) 1134 + '@babel/core': 7.28.5 1135 + babel-plugin-jsx-dom-expressions: 0.40.3(@babel/core@7.28.5) 1064 1136 optionalDependencies: 1065 - solid-js: 1.9.9 1137 + solid-js: 1.9.10 1066 1138 1067 - browserslist@4.25.3: 1139 + baseline-browser-mapping@2.8.25: {} 1140 + 1141 + browserslist@4.27.0: 1068 1142 dependencies: 1069 - caniuse-lite: 1.0.30001735 1070 - electron-to-chromium: 1.5.207 1071 - node-releases: 2.0.19 1072 - update-browserslist-db: 1.1.3(browserslist@4.25.3) 1143 + baseline-browser-mapping: 2.8.25 1144 + caniuse-lite: 1.0.30001754 1145 + electron-to-chromium: 1.5.248 1146 + node-releases: 2.0.27 1147 + update-browserslist-db: 1.1.4(browserslist@4.27.0) 1073 1148 1074 - caniuse-lite@1.0.30001735: {} 1149 + caniuse-lite@1.0.30001754: {} 1075 1150 1076 1151 convert-source-map@2.0.0: {} 1077 1152 1078 1153 csstype@3.1.3: {} 1079 1154 1080 - debug@4.4.1: 1155 + debug@4.4.3: 1081 1156 dependencies: 1082 1157 ms: 2.1.3 1083 1158 1084 - electron-to-chromium@1.5.207: {} 1159 + electron-to-chromium@1.5.248: {} 1085 1160 1086 1161 entities@6.0.1: {} 1087 1162 1088 - esbuild@0.21.5: 1163 + esbuild@0.25.12: 1089 1164 optionalDependencies: 1090 - '@esbuild/aix-ppc64': 0.21.5 1091 - '@esbuild/android-arm': 0.21.5 1092 - '@esbuild/android-arm64': 0.21.5 1093 - '@esbuild/android-x64': 0.21.5 1094 - '@esbuild/darwin-arm64': 0.21.5 1095 - '@esbuild/darwin-x64': 0.21.5 1096 - '@esbuild/freebsd-arm64': 0.21.5 1097 - '@esbuild/freebsd-x64': 0.21.5 1098 - '@esbuild/linux-arm': 0.21.5 1099 - '@esbuild/linux-arm64': 0.21.5 1100 - '@esbuild/linux-ia32': 0.21.5 1101 - '@esbuild/linux-loong64': 0.21.5 1102 - '@esbuild/linux-mips64el': 0.21.5 1103 - '@esbuild/linux-ppc64': 0.21.5 1104 - '@esbuild/linux-riscv64': 0.21.5 1105 - '@esbuild/linux-s390x': 0.21.5 1106 - '@esbuild/linux-x64': 0.21.5 1107 - '@esbuild/netbsd-x64': 0.21.5 1108 - '@esbuild/openbsd-x64': 0.21.5 1109 - '@esbuild/sunos-x64': 0.21.5 1110 - '@esbuild/win32-arm64': 0.21.5 1111 - '@esbuild/win32-ia32': 0.21.5 1112 - '@esbuild/win32-x64': 0.21.5 1165 + '@esbuild/aix-ppc64': 0.25.12 1166 + '@esbuild/android-arm': 0.25.12 1167 + '@esbuild/android-arm64': 0.25.12 1168 + '@esbuild/android-x64': 0.25.12 1169 + '@esbuild/darwin-arm64': 0.25.12 1170 + '@esbuild/darwin-x64': 0.25.12 1171 + '@esbuild/freebsd-arm64': 0.25.12 1172 + '@esbuild/freebsd-x64': 0.25.12 1173 + '@esbuild/linux-arm': 0.25.12 1174 + '@esbuild/linux-arm64': 0.25.12 1175 + '@esbuild/linux-ia32': 0.25.12 1176 + '@esbuild/linux-loong64': 0.25.12 1177 + '@esbuild/linux-mips64el': 0.25.12 1178 + '@esbuild/linux-ppc64': 0.25.12 1179 + '@esbuild/linux-riscv64': 0.25.12 1180 + '@esbuild/linux-s390x': 0.25.12 1181 + '@esbuild/linux-x64': 0.25.12 1182 + '@esbuild/netbsd-arm64': 0.25.12 1183 + '@esbuild/netbsd-x64': 0.25.12 1184 + '@esbuild/openbsd-arm64': 0.25.12 1185 + '@esbuild/openbsd-x64': 0.25.12 1186 + '@esbuild/openharmony-arm64': 0.25.12 1187 + '@esbuild/sunos-x64': 0.25.12 1188 + '@esbuild/win32-arm64': 0.25.12 1189 + '@esbuild/win32-ia32': 0.25.12 1190 + '@esbuild/win32-x64': 0.25.12 1113 1191 1114 1192 escalade@3.2.0: {} 1193 + 1194 + fdir@6.5.0(picomatch@4.0.3): 1195 + optionalDependencies: 1196 + picomatch: 4.0.3 1115 1197 1116 1198 fsevents@2.3.3: 1117 1199 optional: true ··· 1140 1222 1141 1223 nanoid@3.3.11: {} 1142 1224 1143 - node-releases@2.0.19: {} 1225 + node-releases@2.0.27: {} 1144 1226 1145 1227 parse5@7.3.0: 1146 1228 dependencies: ··· 1148 1230 1149 1231 picocolors@1.1.1: {} 1150 1232 1233 + picomatch@4.0.3: {} 1234 + 1151 1235 postcss@8.5.6: 1152 1236 dependencies: 1153 1237 nanoid: 3.3.11 1154 1238 picocolors: 1.1.1 1155 1239 source-map-js: 1.2.1 1156 1240 1157 - rollup@4.46.3: 1241 + rollup@4.52.5: 1158 1242 dependencies: 1159 1243 '@types/estree': 1.0.8 1160 1244 optionalDependencies: 1161 - '@rollup/rollup-android-arm-eabi': 4.46.3 1162 - '@rollup/rollup-android-arm64': 4.46.3 1163 - '@rollup/rollup-darwin-arm64': 4.46.3 1164 - '@rollup/rollup-darwin-x64': 4.46.3 1165 - '@rollup/rollup-freebsd-arm64': 4.46.3 1166 - '@rollup/rollup-freebsd-x64': 4.46.3 1167 - '@rollup/rollup-linux-arm-gnueabihf': 4.46.3 1168 - '@rollup/rollup-linux-arm-musleabihf': 4.46.3 1169 - '@rollup/rollup-linux-arm64-gnu': 4.46.3 1170 - '@rollup/rollup-linux-arm64-musl': 4.46.3 1171 - '@rollup/rollup-linux-loongarch64-gnu': 4.46.3 1172 - '@rollup/rollup-linux-ppc64-gnu': 4.46.3 1173 - '@rollup/rollup-linux-riscv64-gnu': 4.46.3 1174 - '@rollup/rollup-linux-riscv64-musl': 4.46.3 1175 - '@rollup/rollup-linux-s390x-gnu': 4.46.3 1176 - '@rollup/rollup-linux-x64-gnu': 4.46.3 1177 - '@rollup/rollup-linux-x64-musl': 4.46.3 1178 - '@rollup/rollup-win32-arm64-msvc': 4.46.3 1179 - '@rollup/rollup-win32-ia32-msvc': 4.46.3 1180 - '@rollup/rollup-win32-x64-msvc': 4.46.3 1245 + '@rollup/rollup-android-arm-eabi': 4.52.5 1246 + '@rollup/rollup-android-arm64': 4.52.5 1247 + '@rollup/rollup-darwin-arm64': 4.52.5 1248 + '@rollup/rollup-darwin-x64': 4.52.5 1249 + '@rollup/rollup-freebsd-arm64': 4.52.5 1250 + '@rollup/rollup-freebsd-x64': 4.52.5 1251 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 1252 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 1253 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 1254 + '@rollup/rollup-linux-arm64-musl': 4.52.5 1255 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 1256 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 1257 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 1258 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 1259 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 1260 + '@rollup/rollup-linux-x64-gnu': 4.52.5 1261 + '@rollup/rollup-linux-x64-musl': 4.52.5 1262 + '@rollup/rollup-openharmony-arm64': 4.52.5 1263 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 1264 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 1265 + '@rollup/rollup-win32-x64-gnu': 4.52.5 1266 + '@rollup/rollup-win32-x64-msvc': 4.52.5 1181 1267 fsevents: 2.3.3 1182 1268 1183 1269 semver@6.3.1: {} 1184 1270 1185 - seroval-plugins@1.3.2(seroval@1.3.2): 1271 + seroval-plugins@1.3.3(seroval@1.3.2): 1186 1272 dependencies: 1187 1273 seroval: 1.3.2 1188 1274 1189 1275 seroval@1.3.2: {} 1190 1276 1191 - solid-js@1.9.9: 1277 + solid-js@1.9.10: 1192 1278 dependencies: 1193 1279 csstype: 3.1.3 1194 1280 seroval: 1.3.2 1195 - seroval-plugins: 1.3.2(seroval@1.3.2) 1281 + seroval-plugins: 1.3.3(seroval@1.3.2) 1196 1282 1197 - solid-refresh@0.6.3(solid-js@1.9.9): 1283 + solid-refresh@0.6.3(solid-js@1.9.10): 1198 1284 dependencies: 1199 - '@babel/generator': 7.28.3 1285 + '@babel/generator': 7.28.5 1200 1286 '@babel/helper-module-imports': 7.27.1 1201 - '@babel/types': 7.28.2 1202 - solid-js: 1.9.9 1287 + '@babel/types': 7.28.5 1288 + solid-js: 1.9.10 1203 1289 transitivePeerDependencies: 1204 1290 - supports-color 1205 1291 1206 1292 source-map-js@1.2.1: {} 1207 1293 1208 - typescript@5.9.2: {} 1294 + tinyglobby@0.2.15: 1295 + dependencies: 1296 + fdir: 6.5.0(picomatch@4.0.3) 1297 + picomatch: 4.0.3 1298 + 1299 + typescript@5.9.3: {} 1209 1300 1210 - update-browserslist-db@1.1.3(browserslist@4.25.3): 1301 + update-browserslist-db@1.1.4(browserslist@4.27.0): 1211 1302 dependencies: 1212 - browserslist: 4.25.3 1303 + browserslist: 4.27.0 1213 1304 escalade: 3.2.0 1214 1305 picocolors: 1.1.1 1215 1306 1216 - validate-html-nesting@1.2.3: {} 1217 - 1218 - vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@5.4.19): 1307 + vite-plugin-solid@2.11.10(solid-js@1.9.10)(vite@7.2.2): 1219 1308 dependencies: 1220 - '@babel/core': 7.28.3 1309 + '@babel/core': 7.28.5 1221 1310 '@types/babel__core': 7.20.5 1222 - babel-preset-solid: 1.9.9(@babel/core@7.28.3)(solid-js@1.9.9) 1311 + babel-preset-solid: 1.9.10(@babel/core@7.28.5)(solid-js@1.9.10) 1223 1312 merge-anything: 5.1.7 1224 - solid-js: 1.9.9 1225 - solid-refresh: 0.6.3(solid-js@1.9.9) 1226 - vite: 5.4.19 1227 - vitefu: 1.1.1(vite@5.4.19) 1313 + solid-js: 1.9.10 1314 + solid-refresh: 0.6.3(solid-js@1.9.10) 1315 + vite: 7.2.2 1316 + vitefu: 1.1.1(vite@7.2.2) 1228 1317 transitivePeerDependencies: 1229 1318 - supports-color 1230 1319 1231 - vite@5.4.19: 1320 + vite@7.2.2: 1232 1321 dependencies: 1233 - esbuild: 0.21.5 1322 + esbuild: 0.25.12 1323 + fdir: 6.5.0(picomatch@4.0.3) 1324 + picomatch: 4.0.3 1234 1325 postcss: 8.5.6 1235 - rollup: 4.46.3 1326 + rollup: 4.52.5 1327 + tinyglobby: 0.2.15 1236 1328 optionalDependencies: 1237 1329 fsevents: 2.3.3 1238 1330 1239 - vitefu@1.1.1(vite@5.4.19): 1331 + vitefu@1.1.1(vite@7.2.2): 1240 1332 optionalDependencies: 1241 - vite: 5.4.19 1333 + vite: 7.2.2 1242 1334 1243 1335 yallist@3.1.1: {}
+1 -1
public/icon/angle-down-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>
+1 -1
public/icon/angle-up-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z"/></svg>
+1 -1
public/icon/arrow-left-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z"/></svg>
+1 -1
public/icon/arrow-right-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></svg>
+1 -1
public/icon/arrows-rotate-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V432c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160H352c-17.7 0-32 14.3-32 32s14.3 32 32 32H463.5c0 0 0 0 0 0h.4c17.7 0 32-14.3 32-32V80c0-17.7-14.3-32-32-32s-32 14.3-32 32v35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1V432c0 17.7 14.3 32 32 32s32-14.3 32-32V396.9l17.6 17.5 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.7c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352H160c17.7 0 32-14.3 32-32s-14.3-32-32-32H48.4c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></svg>
+1 -1
public/icon/caret-down-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>
+1 -1
public/icon/check-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z"/></svg>
+1 -1
public/icon/clock-regular.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"/></svg>
+1 -1
public/icon/copy-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M208 0H332.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128h80v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M208 0H332.1c12.7 0 24.9 5.1 33.9 14.1l67.9 67.9c9 9 14.1 21.2 14.1 33.9V336c0 26.5-21.5 48-48 48H208c-26.5 0-48-21.5-48-48V48c0-26.5 21.5-48 48-48zM48 128h80v64H64V448H256V416h64v48c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48z"/></svg>
+1
public/icon/download-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="#fff" d="M352 96C352 78.3 337.7 64 320 64C302.3 64 288 78.3 288 96L288 306.7L246.6 265.3C234.1 252.8 213.8 252.8 201.3 265.3C188.8 277.8 188.8 298.1 201.3 310.6L297.3 406.6C309.8 419.1 330.1 419.1 342.6 406.6L438.6 310.6C451.1 298.1 451.1 277.8 438.6 265.3C426.1 252.8 405.8 252.8 393.3 265.3L352 306.7L352 96zM160 384C124.7 384 96 412.7 96 448L96 480C96 515.3 124.7 544 160 544L480 544C515.3 544 544 515.3 544 480L544 448C544 412.7 515.3 384 480 384L433.1 384L376.5 440.6C345.3 471.8 294.6 471.8 263.4 440.6L206.9 384L160 384zM464 440C477.3 440 488 450.7 488 464C488 477.3 477.3 488 464 488C450.7 488 440 477.3 440 464C440 450.7 450.7 440 464 440z"/></svg>
+1 -1
public/icon/gear-solid-full.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M259.1 73.5C262.1 58.7 275.2 48 290.4 48L350.2 48C365.4 48 378.5 58.7 381.5 73.5L396 143.5C410.1 149.5 423.3 157.2 435.3 166.3L503.1 143.8C517.5 139 533.3 145 540.9 158.2L570.8 210C578.4 223.2 575.7 239.8 564.3 249.9L511 297.3C511.9 304.7 512.3 312.3 512.3 320C512.3 327.7 511.8 335.3 511 342.7L564.4 390.2C575.8 400.3 578.4 417 570.9 430.1L541 481.9C533.4 495 517.6 501.1 503.2 496.3L435.4 473.8C423.3 482.9 410.1 490.5 396.1 496.6L381.7 566.5C378.6 581.4 365.5 592 350.4 592L290.6 592C275.4 592 262.3 581.3 259.3 566.5L244.9 496.6C230.8 490.6 217.7 482.9 205.6 473.8L137.5 496.3C123.1 501.1 107.3 495.1 99.7 481.9L69.8 430.1C62.2 416.9 64.9 400.3 76.3 390.2L129.7 342.7C128.8 335.3 128.4 327.7 128.4 320C128.4 312.3 128.9 304.7 129.7 297.3L76.3 249.8C64.9 239.7 62.3 223 69.8 209.9L99.7 158.1C107.3 144.9 123.1 138.9 137.5 143.7L205.3 166.2C217.4 157.1 230.6 149.5 244.6 143.4L259.1 73.5zM320.3 400C364.5 399.8 400.2 363.9 400 319.7C399.8 275.5 363.9 239.8 319.7 240C275.5 240.2 239.8 276.1 240 320.3C240.2 364.5 276.1 400.2 320.3 400z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="#fff" d="M259.1 73.5C262.1 58.7 275.2 48 290.4 48L350.2 48C365.4 48 378.5 58.7 381.5 73.5L396 143.5C410.1 149.5 423.3 157.2 435.3 166.3L503.1 143.8C517.5 139 533.3 145 540.9 158.2L570.8 210C578.4 223.2 575.7 239.8 564.3 249.9L511 297.3C511.9 304.7 512.3 312.3 512.3 320C512.3 327.7 511.8 335.3 511 342.7L564.4 390.2C575.8 400.3 578.4 417 570.9 430.1L541 481.9C533.4 495 517.6 501.1 503.2 496.3L435.4 473.8C423.3 482.9 410.1 490.5 396.1 496.6L381.7 566.5C378.6 581.4 365.5 592 350.4 592L290.6 592C275.4 592 262.3 581.3 259.3 566.5L244.9 496.6C230.8 490.6 217.7 482.9 205.6 473.8L137.5 496.3C123.1 501.1 107.3 495.1 99.7 481.9L69.8 430.1C62.2 416.9 64.9 400.3 76.3 390.2L129.7 342.7C128.8 335.3 128.4 327.7 128.4 320C128.4 312.3 128.9 304.7 129.7 297.3L76.3 249.8C64.9 239.7 62.3 223 69.8 209.9L99.7 158.1C107.3 144.9 123.1 138.9 137.5 143.7L205.3 166.2C217.4 157.1 230.6 149.5 244.6 143.4L259.1 73.5zM320.3 400C364.5 399.8 400.2 363.9 400 319.7C399.8 275.5 363.9 239.8 319.7 240C275.5 240.2 239.8 276.1 240 320.3C240.2 364.5 276.1 400.2 320.3 400z"/></svg>
+1
public/icon/layer-group-solid-full.svg
··· 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="#fff" d="M296.5 69.2C311.4 62.3 328.6 62.3 343.5 69.2L562.1 170.2C570.6 174.1 576 182.6 576 192C576 201.4 570.6 209.9 562.1 213.8L343.5 314.8C328.6 321.7 311.4 321.7 296.5 314.8L77.9 213.8C69.4 209.8 64 201.3 64 192C64 182.7 69.4 174.1 77.9 170.2L296.5 69.2zM112.1 282.4L276.4 358.3C304.1 371.1 336 371.1 363.7 358.3L528 282.4L562.1 298.2C570.6 302.1 576 310.6 576 320C576 329.4 570.6 337.9 562.1 341.8L343.5 442.8C328.6 449.7 311.4 449.7 296.5 442.8L77.9 341.8C69.4 337.8 64 329.3 64 320C64 310.7 69.4 302.1 77.9 298.2L112 282.4zM77.9 426.2L112 410.4L276.3 486.3C304 499.1 335.9 499.1 363.6 486.3L527.9 410.4L562 426.2C570.5 430.1 575.9 438.6 575.9 448C575.9 457.4 570.5 465.9 562 469.8L343.4 570.8C328.5 577.7 311.3 577.7 296.4 570.8L77.9 469.8C69.4 465.8 64 457.3 64 448C64 438.7 69.4 430.1 77.9 426.2z"/></svg>
+1 -1
public/icon/minus-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"/></svg>
+1 -1
public/icon/sliders-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M0 416c0 17.7 14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384c-17.7 0-32 14.3-32 32zm128 0a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zm32-80c-32.8 0-61 19.7-73.3 48L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48zM192 128a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm73.3-64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64z"/></svg>
+1 -1
public/icon/square-regular.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M384 80c8.8 0 16 7.2 16 16V416c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V96c0-8.8 7.2-16 16-16H384zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>
+1 -1
public/icon/trash-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z"/></svg>
+1 -1
public/icon/user-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path fill="#fff" d="M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512l388.6 0c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304l-91.4 0z"/></svg>
+1 -1
public/icon/x-solid.svg
··· 1 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"/></svg> 1 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="#fff" d="M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z"/></svg>
+25 -2
src/Components/App.tsx
··· 1 - import { onMount } from "solid-js"; 1 + import { createSignal, onMount } from "solid-js"; 2 2 3 3 import PhotoList from "./PhotoList"; 4 4 import PhotoViewer from "./PhotoViewer"; 5 5 import SettingsMenu from "./SettingsMenu"; 6 - import { utils } from "animejs"; 6 + import { animate, utils } from "animejs"; 7 + import { listen } from "@tauri-apps/api/event"; 7 8 8 9 let App = () => { 10 + let [ errorText, setErrorText ] = createSignal(''); 11 + 9 12 onMount(() => { 10 13 utils.set('.settings', 11 14 { ··· 13 16 opacity: 0, 14 17 translateX: '500px' 15 18 }) 19 + 20 + listen<string>('vrcpm-error', ( ev ) => { 21 + setErrorText(ev.payload); 22 + 23 + utils.set('.error-notif', { translateX: '-50%', translateY: '-100px' }); 24 + animate('.error-notif', { 25 + ease: 'outElastic', 26 + opacity: 1, 27 + translateY: '0px' 28 + }); 29 + 30 + setTimeout(() => { 31 + animate('.error-notif', { 32 + ease: 'outElastic', 33 + opacity: 0, 34 + translateY: '-100px' 35 + }); 36 + }, 2000); 37 + }); 16 38 }) 17 39 18 40 return ( ··· 23 45 <SettingsMenu /> 24 46 25 47 <div class="copy-notif">Image Copied!</div> 48 + <div class="error-notif">{ errorText() }</div> 26 49 </div> 27 50 ); 28 51 }
+18 -2
src/Components/Managers/PhotoListRenderingManager.tsx
··· 5 5 6 6 const MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 7 7 8 + let multilayerIcon = new Image(); 9 + multilayerIcon.src = '/icon/layer-group-solid-full.svg'; 10 + 8 11 export class PhotoListRenderingManager{ 9 12 private _layout: PhotoListRow[] = []; 10 13 private _canvas!: HTMLCanvasElement; ··· 60 63 61 64 public Render( ctx: CanvasRenderingContext2D, canvas: HTMLCanvasElement, scroll: number ){ 62 65 let currentY = 0; 63 - 66 + 64 67 // Loop through each row 65 68 for (let i = 0; i < this._layout.length; i++) { 66 69 let row = this._layout[i]; ··· 124 127 // ctx.strokeStyle = '#f00'; 125 128 // ctx.strokeRect((rowXPos - row.Width / 2) + canvas.width / 2, currentY - scroll, photo.scaledWidth!, row.Height); 126 129 127 - if(!photo.loaded) 130 + if(photo.error){ 131 + ctx.fillStyle = '#fff'; 132 + ctx.textAlign = 'center'; 133 + ctx.textBaseline = 'middle'; 134 + 135 + photo.x = (rowXPos - row.Width / 2) + canvas.width / 2; 136 + photo.y = currentY - scroll; 137 + 138 + ctx.font = '18px Rubik' 139 + ctx.fillText('Error loading image.', photo.x + photo.scaledWidth! / 2, photo.y + photo.scaledHeight! / 2); 140 + } else if(!photo.loaded) 128 141 // If the photo is not loaded, start a new task and load it in that task 129 142 setTimeout(() => photo.loadImage(), 1); 130 143 else{ ··· 136 149 // Photo is already loaded so we should draw it on the application 137 150 ctx.globalAlpha = photo.frames / 100; 138 151 ctx.drawImage(photo.image!, (rowXPos - row.Width / 2) + canvas.width / 2, currentY - scroll, photo.scaledWidth!, photo.scaledHeight!); 152 + 153 + if(photo.isMultiLayer) 154 + ctx.drawImage(multilayerIcon, ((rowXPos - row.Width / 2) + canvas.width / 2) + 5, (currentY - scroll) + 5, 20, 20); 139 155 140 156 if(photo.frames < 100) 141 157 photo.frames += 10;
+76 -17
src/Components/Managers/PhotoManager.tsx
··· 46 46 if(photoPaths.length <= Vars.MAX_PHOTOS_BULK_LOAD) 47 47 setHasBeenIndexed(true); 48 48 49 + let photoLayers: Photo[] = []; 50 + 49 51 photoPaths.forEach(( path: string, i: number ) => { 50 52 let photo 51 53 ··· 54 56 else 55 57 photo = new Photo(path, false, i); 56 58 57 - this.Photos.push(photo); 59 + if(!photo.legacy && photo.splitPath[4]){ 60 + photoLayers.push(photo); 61 + } else 62 + this.Photos.push(photo); 58 63 59 64 if(photoPaths.length <= Vars.MAX_PHOTOS_BULK_LOAD) 60 65 photo.loadMeta(); 61 66 }) 62 67 68 + photoLayers.forEach(photo => { 69 + let type = photo.splitPath[4]; 70 + photo.splitPath.pop(); 71 + 72 + let mainPhotoPath = photo.splitPath.join('_') + '.png'; 73 + let mainPhoto = this.Photos.find(x => x.path === mainPhotoPath); 74 + 75 + if(!mainPhoto) 76 + this.Photos.push(photo); 77 + else{ 78 + mainPhoto.isMultiLayer = true; 79 + 80 + switch(type){ 81 + case 'Player.png': 82 + mainPhoto.playerLayer = photo; 83 + break; 84 + case 'Environment.png': 85 + mainPhoto.environmentLayer = photo; 86 + break; 87 + } 88 + } 89 + }); 90 + 63 91 this.Photos = MergeSort(this.Photos); 92 + console.log(this.Photos[0]); 64 93 65 94 console.log(this.Photos.length + ' Photos found.'); 95 + 66 96 if(this.Photos.length === 0 || photoPaths.length > Vars.MAX_PHOTOS_BULK_LOAD){ 67 97 console.log('No photos found or over bulk load limit, Skipping loading stage.'); 68 98 ··· 75 105 76 106 listen('photo_meta_loaded', ( event: any ) => { 77 107 let data: PhotoMetadata = event.payload; 78 - 108 + 79 109 let photo = this.Photos.find(x => x.path === data.path); 80 110 if(!photo)return console.error('Cannot find photo.', data); 111 + // NOTE: this is triggered by multilayer photo layers loading their metadata 112 + // we don't need to store metadata of those photos as they inherit this 113 + // data from the main photo. 81 114 115 + photo.error = data.error; 82 116 this._lastLoaded = photo.index; 83 117 84 118 if(this._onLoadedMeta[photo.index]){ ··· 96 130 97 131 photo.metadata = data.metadata.split('\u0000').filter(x => x !== '')[1]; 98 132 this._amountLoaded++; 99 - 133 + 134 + photo.loadingMeta = false; 100 135 photo.metaLoaded = true; 101 136 photo.onMetaLoaded(); 102 137 138 + window.PhotoListRenderingManager.ComputeLayout(); 139 + 103 140 if(this._amountLoaded === this.Photos.length - 1 && !this.HasFirstLoaded){ 104 141 this.FilteredPhotos = this.Photos; 105 142 this.HasFirstLoaded = true; ··· 110 147 111 148 listen('photo_create', async ( event: any ) => { 112 149 let photo = new Photo(event.payload, false, 0); 113 - 114 - this.Photos.forEach(p => p.index++); // Probably a really dumb way of doing this 115 - this.Photos.splice(0, 0, photo); 150 + 151 + if(photo.splitPath[4]){ 152 + let type = photo.splitPath[4]; 153 + photo.splitPath.pop(); 154 + 155 + let mainPhotoPath = photo.splitPath.join('_') + '.png'; 156 + let mainPhoto = this.Photos.find(x => x.path === mainPhotoPath); 157 + 158 + if(!mainPhoto){ 159 + this.Photos.forEach(p => p.index++); // Probably a really dumb way of doing this 160 + this.Photos.splice(0, 0, photo); 161 + } else{ 162 + mainPhoto.isMultiLayer = true; 163 + 164 + switch(type){ 165 + case 'Player.png': 166 + mainPhoto.playerLayer = photo; 167 + break; 168 + case 'Environment.png': 169 + mainPhoto.environmentLayer = photo; 170 + break; 171 + } 172 + } 173 + } else{ 174 + this.Photos.forEach(p => p.index++); // Probably a really dumb way of doing this 175 + this.Photos.splice(0, 0, photo); 176 + } 116 177 117 178 photo.onMetaLoaded = () => this.ReloadFilters(); 118 179 photo.loadMeta(); 119 - 120 - if(!window.SyncManager.IsSyncing()){ 121 - window.SyncManager.TriggerSync(); 122 - } 123 180 }) 124 - 181 + 125 182 listen('photo_remove', ( event: any ) => { 126 183 this.Photos = this.Photos.filter(x => x.path !== event.payload); 127 - this.FilteredPhotos = this.FilteredPhotos.filter(x => x.path !== event.payload); 128 - 184 + 129 185 if(event.payload === window.PhotoViewerManager.CurrentPhoto()?.path) 130 186 window.PhotoViewerManager.Close() 131 187 ··· 168 224 public ReloadFilters(){ 169 225 this.FilteredPhotos = []; 170 226 227 + if(this._filter === ''){ 228 + this.FilteredPhotos = this.Photos; 229 + window.PhotoListRenderingManager.ComputeLayout(); 230 + 231 + return; 232 + } 233 + 171 234 switch(this._filterType){ 172 235 case FilterType.USER: 173 - if(this._filter === '')return this.FilteredPhotos = this.Photos; 174 - 175 236 this.Photos.map(p => { 176 237 if(p.metadata){ 177 238 try{ ··· 187 248 }) 188 249 break; 189 250 case FilterType.WORLD: 190 - if(this._filter === '')return this.FilteredPhotos = this.Photos; 191 - 192 251 this.Photos.map(p => { 193 252 if(p.metadata){ 194 253 try{
+32 -4
src/Components/PhotoList.tsx
··· 1 - import { onCleanup, onMount } from "solid-js"; 1 + import { createSignal, onCleanup, onMount, Show } from "solid-js"; 2 2 import { listen } from '@tauri-apps/api/event'; 3 3 import { Window } from "@tauri-apps/api/window"; 4 4 ··· 28 28 let quitRender: boolean = true; 29 29 30 30 let currentPopup = ListPopup.NONE; 31 + 32 + let [ updateAvailable, setUpdateAvailable ] = createSignal(false); 31 33 32 34 Window.getCurrent().isVisible().then(visible => { 33 35 quitRender = !visible; ··· 103 105 104 106 scrollToTopActive = true; 105 107 } else if(scrollToTopActive && scroll < photoContainer.height){ 106 - animate(scrollToTop, { opacity: 0, translateY: '-10px', complete: () => scrollToTop.style.display = 'none', easing: 'easeInOutQuad', duration: 100 }); 108 + animate(scrollToTop, { opacity: 0, translateY: '-10px', onComplete: () => scrollToTop.style.display = 'none', easing: 'easeInOutQuad', duration: 100 }); 109 + 107 110 scrollToTopActive = false; 108 111 } 109 112 ··· 153 156 }) 154 157 155 158 window.PhotoListRenderingManager.SetCanvas(photoContainer!); 156 - window.PhotoListRenderingManager.ComputeLayout(); 157 - 158 159 render(); 159 160 }); 160 161 161 162 onMount(() => { 163 + // Update Stuff 164 + fetch('https://api.github.com/repos/phaze-the-dumb/VRChat-Photo-Manager/releases/latest') 165 + .then(data => { 166 + if(data.status !== 200)return; 167 + 168 + data.json().then(async data => { 169 + let currentVersion = await invoke('get_version'); 170 + setUpdateAvailable(data.tag_name !== currentVersion); 171 + }) 172 + }) 173 + .catch(e => { 174 + console.error(e); 175 + setUpdateAvailable(false); 176 + }) 177 + 178 + // Other Stuff 162 179 ctx = photoContainer.getContext('2d')!; 163 180 164 181 window.PhotoManager.Load(); ··· 259 276 </div> 260 277 <div class="icon-label">Settings</div> 261 278 </div> 279 + 280 + <Show when={updateAvailable()}> 281 + <div> 282 + <div onClick={() => { 283 + invoke('open_url', { url: 'https://github.com/phaze-the-dumb/VRChat-Photo-Manager/releases/latest' }); 284 + }} class="icon"> 285 + <img draggable="false" style={{ width: "20px", height: "20px" }} src="/icon/download-solid-full.svg"></img> 286 + </div> 287 + <div class="icon-label">Update Available</div> 288 + </div> 289 + </Show> 262 290 </div> 263 291 264 292 <canvas class="photo-container" ref={( el ) => photoContainer = el}></canvas>
+147 -6
src/Components/PhotoViewer.tsx
··· 24 24 25 25 let authorProfileButton: HTMLDivElement; 26 26 27 + let photoLayerManager!: HTMLDivElement; 28 + 27 29 let switchPhotoWithKey = ( e: KeyboardEvent ) => { 28 30 switch(e.key){ 29 31 case 'Escape': ··· 84 86 } 85 87 86 88 let copyImage = () => { 87 - invoke('copy_image', { path: window.PhotoViewerManager.CurrentPhoto()!.path }) 89 + let path; 90 + let photo = window.PhotoViewerManager.CurrentPhoto()!; 91 + 92 + switch(layerManagerViewing){ 93 + case LayerManagerView.DEFAULT: 94 + path = photo.path; 95 + break; 96 + case LayerManagerView.ENVIRONMENT: 97 + path = photo.environmentLayer!.path; 98 + break; 99 + case LayerManagerView.PLAYER: 100 + path = photo.playerLayer!.path; 101 + break; 102 + } 103 + 104 + invoke('copy_image', { path }) 88 105 .then(() => { 89 106 utils.set('.copy-notif', { translateX: '-50%', translateY: '-100px' }); 90 107 animate('.copy-notif', { ··· 133 150 }) 134 151 } 135 152 153 + let resizeImage = () => { 154 + let dstWidth; 155 + let dstHeight; 156 + 157 + let imgHeight = imageViewer.naturalHeight; 158 + let imgWidth = imageViewer.naturalWidth; 159 + 160 + if( 161 + imgWidth / window.innerWidth < 162 + imgHeight / window.innerHeight 163 + ) { 164 + dstWidth = imgWidth * (window.innerHeight / imgHeight); 165 + dstHeight = window.innerHeight; 166 + } else{ 167 + dstWidth = window.innerWidth; 168 + dstHeight = imgHeight * (window.innerWidth / imgWidth); 169 + } 170 + 171 + imageViewer.style.width = dstWidth + 'px'; 172 + imageViewer.style.height = dstHeight + 'px'; 173 + } 174 + 136 175 onMount(() => { 137 176 utils.set(photoControls, { translateX: '-50%' }); 138 177 utils.set(photoTrayCloseBtn, { translateX: '-50%', opacity: 0, scale: '0.75', bottom: '10px' }); 178 + utils.set(photoLayerManager, { translateY: '20px', opacity: 0, display: 'none' }); 139 179 140 180 window.addEventListener('keyup', switchPhotoWithKey); 181 + window.addEventListener('resize', () => resizeImage()); 141 182 142 183 let contextMenuOpen = false; 143 184 window.CloseAllPopups.push(() => { ··· 155 196 }) 156 197 }); 157 198 199 + window.CloseAllPopups.push(() => { 200 + layerManagerOpen = false; 201 + if(layerManagerAnimation)layerManagerAnimation.cancel(); 202 + 203 + layerManagerAnimation = animate(photoLayerManager, { translateY: '20px', opacity: 0, duration: 100, onComplete: () => utils.set(photoLayerManager, { display: 'none' }) }); 204 + }); 205 + 158 206 viewerContextMenuButtons[0].onclick = async () => { 159 207 window.CloseAllPopups.forEach(p => p()); 160 208 // Context Menu -> Open file location ··· 211 259 if(photo){ 212 260 imageViewer.src = (window.OS === "windows" ? "http://photo.localhost/" : 'photo://localhost/') + window.PhotoViewerManager.CurrentPhoto()?.path.split('\\').join('/') + "?full"; 213 261 imageViewer.crossOrigin = 'anonymous'; 262 + 263 + imageViewer.onload = () => { resizeImage(); } 214 264 215 265 animate(imageViewer, { 216 266 opacity: 1, ··· 272 322 let id = doc.getElementsByTagName('xmp:Author')[0]!.innerHTML; 273 323 274 324 authorProfileButton!.style.display = 'flex'; 275 - authorProfileButton!.onclick = () => 325 + authorProfileButton!.onclick = () => { 326 + console.log(id); 276 327 invoke('open_url', { url: 'https://vrchat.com/home/user/' + id }); 328 + } 277 329 } catch(e){ 278 330 console.error(e); 279 331 console.log('Couldn\'t decode metadata') ··· 286 338 } 287 339 } else{ 288 340 trayButton.style.display = 'none'; 341 + authorProfileButton!.style.display = 'none'; 342 + 289 343 closeTray(); 290 344 } 291 345 } ··· 363 417 ) 364 418 } 365 419 420 + enum LayerManagerView{ 421 + DEFAULT, 422 + PLAYER, 423 + ENVIRONMENT 424 + } 425 + 426 + let layerManagerOpen = false; 427 + let layerManagerAnimation: null | JSAnimation = null; 428 + let layerManagerViewing = LayerManagerView.DEFAULT; 429 + 430 + let toggleLayerManager = () => { 431 + if(layerManagerOpen){ 432 + // Close 433 + layerManagerOpen = false; 434 + if(layerManagerAnimation)layerManagerAnimation.cancel(); 435 + 436 + layerManagerAnimation = animate(photoLayerManager, { translateY: '20px', opacity: 0, duration: 100, onComplete: () => utils.set(photoLayerManager, { display: 'none' }) }); 437 + } else{ 438 + // Open 439 + layerManagerOpen = true; 440 + if(layerManagerAnimation)layerManagerAnimation.cancel(); 441 + 442 + utils.set(photoLayerManager, { display: 'block' }); 443 + layerManagerAnimation = animate(photoLayerManager, { translateY: '0px', opacity: 1, duration: 100 }); 444 + } 445 + } 446 + 366 447 return ( 367 448 <div class="photo-viewer" ref={( el ) => viewer = el}> 449 + <div class="photo-layer-manager" ref={photoLayerManager}> 450 + <Show when={window.PhotoViewerManager.CurrentPhoto()?.playerLayer}> 451 + <div class="photo-layer-manager-layer" onClick={() => { 452 + let photo = window.PhotoViewerManager.CurrentPhoto()?.playerLayer; 453 + if(!photo)return; 454 + 455 + layerManagerViewing = LayerManagerView.PLAYER; 456 + 457 + imageViewer.src = (window.OS === "windows" ? "http://photo.localhost/" : 'photo://localhost/') + photo.path.split('\\').join('/') + "?full"; 458 + imageViewer.crossOrigin = 'anonymous'; 459 + }}>Player Layer</div> 460 + </Show> 461 + <Show when={window.PhotoViewerManager.CurrentPhoto()?.environmentLayer}> 462 + <div class="photo-layer-manager-layer" onClick={() => { 463 + let photo = window.PhotoViewerManager.CurrentPhoto()?.environmentLayer; 464 + if(!photo)return; 465 + 466 + layerManagerViewing = LayerManagerView.ENVIRONMENT; 467 + 468 + imageViewer.src = (window.OS === "windows" ? "http://photo.localhost/" : 'photo://localhost/') + photo.path.split('\\').join('/') + "?full"; 469 + imageViewer.crossOrigin = 'anonymous'; 470 + }}>Environment Layer</div> 471 + </Show> 472 + <div class="photo-layer-manager-layer" onClick={() => { 473 + let photo = window.PhotoViewerManager.CurrentPhoto(); 474 + if(!photo)return; 475 + 476 + layerManagerViewing = LayerManagerView.DEFAULT; 477 + 478 + imageViewer.src = (window.OS === "windows" ? "http://photo.localhost/" : 'photo://localhost/') + photo.path.split('\\').join('/') + "?full"; 479 + imageViewer.crossOrigin = 'anonymous'; 480 + }}>Default Layer</div> 481 + </div> 482 + 368 483 <div class="photo-context-menu" ref={( el ) => viewerContextMenu = el}> 369 484 <div ref={( el ) => viewerContextMenuButtons.push(el)}>Open file location</div> 370 485 <div ref={( el ) => viewerContextMenuButtons.push(el)}>Copy image</div> ··· 375 490 <img draggable="false" src="/icon/x-solid.svg"></img> 376 491 </div> 377 492 </div> 378 - <img class="image-container" ref={( el ) => imageViewer = el} /> 493 + 494 + <div style={{ 495 + width: '100%', 496 + height: '100%', 497 + display: 'flex', 498 + "justify-content": 'center', 499 + 'align-items': 'center' 500 + }}> 501 + <img class="image-container" ref={( el ) => imageViewer = el} /> 502 + </div> 379 503 380 504 <div class="prev-button" onClick={() => { 381 505 window.CloseAllPopups.forEach(p => p()); ··· 436 560 </div> 437 561 </div> 438 562 563 + <Show when={window.PhotoViewerManager.CurrentPhoto()?.isMultiLayer}> 564 + <div class="viewer-button" 565 + onClick={toggleLayerManager} 566 + onMouseOver={( el ) => animate(el.currentTarget, { width: '40px', height: '40px', 'margin-left': '15px', 'margin-right': '15px', 'margin-top': '-10px' })} 567 + onMouseLeave={( el ) => animate(el.currentTarget, { width: '30px', height: '30px', 'margin-left': '20px', 'margin-right': '20px', 'margin-top': '0px' })} 568 + > 569 + <div class="icon-small" style={{ width: '17px', margin: '0' }}> 570 + <img draggable="false" src="/icon/layer-group-solid-full.svg"></img> 571 + </div> 572 + </div> 573 + </Show> 574 + 439 575 <div class="viewer-button" 440 576 onMouseOver={( el ) => animate(el.currentTarget, { width: '40px', height: '40px', 'margin-left': '15px', 'margin-right': '15px', 'margin-top': '-10px' })} 441 577 onMouseLeave={( el ) => animate(el.currentTarget, { width: '30px', height: '30px', 'margin-left': '20px', 'margin-right': '20px', 'margin-top': '0px' })} 442 - onClick={() => window.ConfirmationBoxManager.SetConfirmationBox("Are you sure you want to delete this photo?", async () => { invoke("delete_photo", { 443 - path: window.PhotoViewerManager.CurrentPhoto()?.path 444 - }); 578 + onClick={() => window.ConfirmationBoxManager.SetConfirmationBox("Are you sure you want to delete this photo?", async () => { 579 + let photo = window.PhotoViewerManager.CurrentPhoto(); 580 + if(!photo)return; 581 + 582 + invoke("delete_photo", { path: photo.path }); 583 + 584 + if(photo.playerLayer)invoke("delete_photo", { path: photo.playerLayer.path }); 585 + if(photo.environmentLayer)invoke("delete_photo", { path: photo.environmentLayer.path }); 445 586 })}> 446 587 <div class="icon-small" style={{ width: '12px', margin: '0' }}> 447 588 <img draggable="false" src="/icon/trash-solid.svg"></img>
+29 -23
src/Components/SettingsMenu.tsx
··· 6 6 7 7 let SettingsMenu = () => { 8 8 // let sliderBar: HTMLElement; 9 - let settingsContainer: HTMLElement; 9 + // let settingsContainer: HTMLElement; 10 10 // let currentButton = 0; 11 11 // let lastClickedButton = -1; 12 12 let finalPathConfirm: HTMLElement; ··· 17 17 let closeWithKey = ( e: KeyboardEvent ) => { 18 18 if(e.key === 'Escape'){ 19 19 window.ViewManager.ChangeState(ViewState.PHOTO_LIST); 20 - animate('.settings', { 20 + console.log('h'); 21 + animate('.settings',{ 21 22 opacity: 0, 22 23 translateX: '500px', 23 24 easing: 'easeInOutQuad', 24 25 duration: 250, 25 26 onComplete: () => { 27 + console.log('h'); 26 28 utils.set('.settings', { display: 'none' }); 27 29 } 28 30 }) ··· 77 79 // } 78 80 // }) 79 81 80 - // window.addEventListener('keyup', closeWithKey); 82 + window.addEventListener('keyup', closeWithKey); 81 83 82 84 // window.addEventListener('touchend', ( e: TouchEvent ) => { 83 85 // if(sliderMouseDown){ ··· 194 196 }}> 195 197 <div class="icon"><img draggable="false" src="/icon/x-solid.svg"></img></div> 196 198 </div> 197 - <div class="settings-container" ref={( el ) => settingsContainer = el}> 199 + {/* <div class="settings-container" ref={( el ) => settingsContainer = el}> */} 200 + <div class="settings-container"> 198 201 <div class="settings-block"> 199 202 <h1>Storage Settings</h1> 200 203 <p>{ window.PhotoManager.PhotoCount() } Photos ({ bytesToFormatted(window.PhotoManager.PhotoSize(), 0) })</p> ··· 221 224 </div> 222 225 223 226 <div class="selector"> 224 - <input type="checkbox" id="minimise-on-close-check" ref={async ( el ) => { 225 - el.checked = await invoke('get_config_value_string', { key: 'minimise-on-close' }) === "false" ? false : true; 227 + <input type="checkbox" id="close-to-tray-check" ref={async ( el ) => { 228 + el.checked = await invoke('get_config_value_string', { key: 'close-to-tray' }) === "true" ? true : false; 226 229 }} onChange={( el ) => { 227 230 if(el.target.checked){ 228 - invoke('set_config_value_string', { key: 'minimise-on-close', value: 'true' }); 231 + invoke('set_config_value_string', { key: 'close-to-tray', value: 'true' }); 229 232 } else{ 230 - invoke('set_config_value_string', { key: 'minimise-on-close', value: 'false' }); 233 + invoke('set_config_value_string', { key: 'close-to-tray', value: 'false' }); 231 234 } 232 235 }} /> 233 236 Close to tray 234 237 235 - <label for="minimise-on-close-check"> 238 + <label for="close-to-tray-check"> 236 239 <div class="selection-box"> 237 240 <div class="icon-small" style={{ margin: '0', display: 'inline-flex' }}> 238 241 <img draggable="false" width="10" height="10" src="/icon/check-solid.svg"></img> ··· 311 314 </span> 312 315 <span style={{ display: 'none' }} ref={( el ) => finalPathConfirm = el}> 313 316 <span class="path" style={{ color: 'green' }} onClick={async () => { 314 - finalPathPreviousData = finalPathData; 315 - finalPathConfirm.style.display = 'none'; 317 + let changed = await invoke('change_final_path', { newPath: finalPathData }); 316 318 317 - await invoke('change_final_path', { newPath: finalPathData }); 318 - window.location.reload(); 319 + if(changed){ 320 + finalPathPreviousData = finalPathData; 321 + finalPathConfirm.style.display = 'none'; 319 322 320 - animate('.settings', { 321 - opacity: 0, 322 - translateX: '500px', 323 - easing: 'easeInOutQuad', 324 - duration: 250, 325 - onComplete: () => { 326 - utils.set('.settings', { display: 'none' }); 327 - } 328 - }) 323 + window.location.reload(); 329 324 330 - window.location.reload(); 325 + animate('.settings', { 326 + opacity: 0, 327 + translateX: '500px', 328 + easing: 'easeInOutQuad', 329 + duration: 250, 330 + onComplete: () => { 331 + utils.set('.settings', { display: 'none' }); 332 + } 333 + }) 334 + 335 + window.location.reload(); 336 + } 331 337 }}> 332 338 Save 333 339 </span>
+43 -16
src/Components/Structs/Photo.ts
··· 6 6 export class Photo{ 7 7 path: string; 8 8 loaded: boolean = false; 9 + loadingMeta: boolean = false; 9 10 loading: boolean = false; 10 11 metaLoaded: boolean = false; 11 12 image?: HTMLCanvasElement; ··· 14 15 height?: number; 15 16 loadingRotate: number = 0; 16 17 metadata: any; 18 + 19 + error: boolean = false; 17 20 18 21 frames: number = 0; 19 22 shown: boolean = false; ··· 29 32 legacy: boolean = false; 30 33 index: number = 0; 31 34 35 + splitPath: string[]; 36 + 37 + playerLayer: Photo | null = null; 38 + environmentLayer: Photo | null = null; 39 + isMultiLayer = false; 40 + 32 41 public onMetaLoaded: () => void = () => {}; 33 42 34 43 constructor( path: string, isLegacy: boolean = false, i: number ){ ··· 37 46 this.index = i; 38 47 39 48 let split = this.path.split('_'); 49 + this.splitPath = split; 40 50 41 51 if(this.legacy) 42 52 this.dateString = split[2]; 43 53 else 44 54 this.dateString = split[1]; 45 55 56 + let timeString; 57 + if(this.legacy) 58 + timeString = split[3]; 59 + else 60 + timeString = split[2]; 61 + 46 62 let splitDateString = this.dateString.split('-'); 63 + let splitTimeString = timeString.split('-'); 47 64 48 65 this.date = new Date(); 49 66 ··· 51 68 this.date.setMonth(parseInt(splitDateString[1])); 52 69 this.date.setDate(parseInt(splitDateString[2])); 53 70 54 - let resSplit = split[3].split('x'); 71 + this.date.setHours(parseInt(splitTimeString[0])); 72 + this.date.setMinutes(parseInt(splitTimeString[1])); 73 + this.date.setSeconds(parseInt(splitTimeString[2])); 74 + 75 + let resSplit; 76 + if(this.legacy) 77 + resSplit = split[0].split('x') 78 + else 79 + resSplit = split[3].split('x') 80 + 81 + // let width = parseInt(resSplit[0]); 82 + // let height = parseInt(resSplit[1]); 83 + 84 + // if(!isNaN(width) || !isNaN(height)){ 85 + // this.width = width; 86 + // this.height = height; 55 87 56 - let width = parseInt(resSplit[0]); 57 - let height = parseInt(resSplit[1]); 88 + // let scale = Vars.PHOTO_HEIGHT / this.height; 58 89 59 - if(!isNaN(width) || !isNaN(height)){ 60 - this.width = width; 61 - this.height = height; 62 - 63 - let scale = Vars.PHOTO_HEIGHT / this.height; 64 - 65 - this.scaledWidth = this.width * scale; 66 - this.scaledHeight = Vars.PHOTO_HEIGHT; 67 - } 90 + // this.scaledWidth = this.width * scale; 91 + // this.scaledHeight = Vars.PHOTO_HEIGHT; 92 + // } 68 93 } 69 94 70 95 loadMeta(){ 96 + this.loadingMeta = true; 71 97 invoke('load_photo_meta', { photo: this.path }); 72 98 } 73 99 74 100 loadImage(){ 75 - if(this.loading || this.loaded || imagesLoading >= Vars.MAX_IMAGE_LOAD)return; 76 - 77 - // this.loadMeta(); 101 + if(this.loadingMeta || this.loading || this.loaded || imagesLoading >= Vars.MAX_IMAGE_LOAD)return; 78 102 if(!this.metaLoaded)return this.loadMeta(); 79 103 80 104 this.loading = true; 81 - 82 105 imagesLoading++; 83 106 84 107 this.image = document.createElement('canvas'); ··· 98 121 this.loading = false; 99 122 100 123 imagesLoading--; 124 + } 125 + 126 + this.imageEl.onerror = () => { 127 + console.log('Cannot load image'); 101 128 } 102 129 } 103 130 }
+1
src/Components/Structs/PhotoMetadata.ts
··· 3 3 height!: number; 4 4 metadata!: string; 5 5 path!: string; 6 + error!: boolean; 6 7 }
+1
src/css/filters.css
··· 18 18 text-align: center; 19 19 box-shadow: #0005 0 0 10px; 20 20 opacity: 0; 21 + z-index: 150; 21 22 } 22 23 23 24 .filter-container > .filter-title{
-2
src/css/icons.css
··· 2 2 width: 40px; 3 3 height: 40px; 4 4 padding: 10px; 5 - filter: invert(100%); 6 5 display: flex; 7 6 align-items: center; 8 7 justify-content: center; ··· 13 12 } 14 13 15 14 .icon-small{ 16 - filter: invert(100%); 17 15 display: flex; 18 16 align-items: center; 19 17 justify-content: center;
+1
src/css/list.css
··· 20 20 display: flex; 21 21 justify-content: center; 22 22 align-items: center; 23 + z-index: 100; 23 24 }
+1 -1
src/css/tray.css
··· 17 17 left: 50%; 18 18 transform: translate(-50%); 19 19 color: white; 20 - background: #8885; 20 + background: rgba(43, 43, 43, 0.76); 21 21 backdrop-filter: blur(10px); 22 22 -webkit-backdrop-filter: blur(10px); 23 23 box-shadow: #0008 0 0 10px;
+28 -4
src/css/viewer.css
··· 38 38 left: 0; 39 39 padding: 10px; 40 40 border-radius: 5px; 41 - background: #555a; 41 + background: rgba(43, 43, 43, 0.76); 42 42 color: #aaa; 43 43 box-shadow: #0005 0 0 10px; 44 44 opacity: 0; ··· 59 59 } 60 60 61 61 .image-container{ 62 - height: 100%; 62 + max-width: none; 63 + max-height: none; 63 64 background-size: contain !important; 64 65 background-repeat: no-repeat !important; 65 66 background-position: center !important; ··· 80 81 -webkit-user-select: none; 81 82 cursor: pointer; 82 83 z-index: 7; 83 - box-shadow: #0008 0 0 10px; 84 + background: rgba(43, 43, 43, 0.76); 84 85 } 85 86 86 87 .viewer-close{ ··· 157 158 left: 50%; 158 159 color: white; 159 160 transform: translateX(-50%) translateY(-100px); 160 - background: #8885; 161 + background: rgba(43, 43, 43, 0.76); 161 162 padding: 10px 40px; 162 163 backdrop-filter: blur(10px); 163 164 -webkit-backdrop-filter: blur(10px); ··· 166 167 z-index: 12; 167 168 opacity: 0; 168 169 pointer-events: none; 170 + } 171 + 172 + .photo-layer-manager{ 173 + background: rgba(43, 43, 43, 0.76); 174 + color: #fff; 175 + padding: 10px; 176 + backdrop-filter: blur(10px); 177 + position: fixed; 178 + bottom: 10px; 179 + left: 10px; 180 + border-radius: 10px; 181 + } 182 + 183 + .photo-layer-manager-layer{ 184 + cursor: pointer; 185 + -webkit-user-select: none; 186 + user-select: none; 187 + padding: 5px 20px; 188 + transition: 0.1s; 189 + } 190 + 191 + .photo-layer-manager-layer:hover{ 192 + color: #bbb; 169 193 }
+17
src/styles.css
··· 100 100 img{ 101 101 max-width: 100%; 102 102 max-height: 100%; 103 + } 104 + 105 + .error-notif{ 106 + position: fixed; 107 + top: 40px; 108 + left: 50%; 109 + color: white; 110 + transform: translateX(-50%) translateY(-100px); 111 + background: rgba(43, 43, 43, 0.76); 112 + padding: 10px 40px; 113 + backdrop-filter: blur(10px); 114 + -webkit-backdrop-filter: blur(10px); 115 + border-radius: 50px; 116 + box-shadow: #000 0 0 10px; 117 + z-index: 12; 118 + opacity: 0; 119 + pointer-events: none; 103 120 }
+872 -936
src-tauri/Cargo.lock
··· 4 4 5 5 [[package]] 6 6 name = "VRChatPhotoManager" 7 - version = "0.2.6" 7 + version = "0.2.7" 8 8 dependencies = [ 9 9 "arboard", 10 - "dirs 5.0.1", 10 + "dirs", 11 11 "fast_image_resize", 12 12 "image", 13 13 "mslnk", ··· 19 19 "serde_json", 20 20 "tauri", 21 21 "tauri-build", 22 - "tauri-plugin-deep-link", 23 22 "tauri-plugin-http", 24 23 "tauri-plugin-process", 25 24 "tauri-plugin-shell", ··· 27 26 ] 28 27 29 28 [[package]] 30 - name = "addr2line" 31 - version = "0.24.2" 32 - source = "registry+https://github.com/rust-lang/crates.io-index" 33 - checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 34 - dependencies = [ 35 - "gimli", 36 - ] 37 - 38 - [[package]] 39 29 name = "adler2" 40 30 version = "2.0.1" 41 31 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 43 33 44 34 [[package]] 45 35 name = "aho-corasick" 46 - version = "1.1.3" 36 + version = "1.1.4" 47 37 source = "registry+https://github.com/rust-lang/crates.io-index" 48 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 38 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 49 39 dependencies = [ 50 40 "memchr", 51 41 ] ··· 75 65 ] 76 66 77 67 [[package]] 78 - name = "android-tzdata" 79 - version = "0.1.1" 80 - source = "registry+https://github.com/rust-lang/crates.io-index" 81 - checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" 82 - 83 - [[package]] 84 68 name = "android_system_properties" 85 69 version = "0.1.5" 86 70 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 91 75 92 76 [[package]] 93 77 name = "anyhow" 94 - version = "1.0.99" 78 + version = "1.0.100" 95 79 source = "registry+https://github.com/rust-lang/crates.io-index" 96 - checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" 80 + checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 97 81 98 82 [[package]] 99 83 name = "arbitrary" ··· 103 87 104 88 [[package]] 105 89 name = "arboard" 106 - version = "3.6.0" 90 + version = "3.6.1" 107 91 source = "registry+https://github.com/rust-lang/crates.io-index" 108 - checksum = "55f533f8e0af236ffe5eb979b99381df3258853f00ba2e44b6e1955292c75227" 92 + checksum = "0348a1c054491f4bfe6ab86a7b6ab1e44e45d899005de92f58b3df180b36ddaf" 109 93 dependencies = [ 110 94 "clipboard-win", 111 95 "image", 112 96 "log", 113 - "objc2 0.6.2", 97 + "objc2 0.6.3", 114 98 "objc2-app-kit", 115 99 "objc2-core-foundation", 116 100 "objc2-core-graphics", 117 - "objc2-foundation 0.3.1", 101 + "objc2-foundation 0.3.2", 118 102 "parking_lot", 119 103 "percent-encoding", 120 - "windows-sys 0.59.0", 104 + "windows-sys 0.60.2", 121 105 "x11rb", 122 106 ] 123 107 ··· 129 113 dependencies = [ 130 114 "proc-macro2", 131 115 "quote", 132 - "syn 2.0.105", 116 + "syn 2.0.109", 133 117 ] 134 118 135 119 [[package]] ··· 164 148 165 149 [[package]] 166 150 name = "async-executor" 167 - version = "1.13.2" 151 + version = "1.13.3" 168 152 source = "registry+https://github.com/rust-lang/crates.io-index" 169 - checksum = "bb812ffb58524bdd10860d7d974e2f01cc0950c2438a74ee5ec2e2280c6c4ffa" 153 + checksum = "497c00e0fd83a72a79a39fcbd8e3e2f055d6f6c7e025f3b3d91f4f8e76527fb8" 170 154 dependencies = [ 171 155 "async-task", 172 156 "concurrent-queue", ··· 178 162 179 163 [[package]] 180 164 name = "async-io" 181 - version = "2.5.0" 165 + version = "2.6.0" 182 166 source = "registry+https://github.com/rust-lang/crates.io-index" 183 - checksum = "19634d6336019ef220f09fd31168ce5c184b295cbf80345437cc36094ef223ca" 167 + checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" 184 168 dependencies = [ 185 - "async-lock", 169 + "autocfg", 186 170 "cfg-if", 187 171 "concurrent-queue", 188 172 "futures-io", 189 173 "futures-lite", 190 174 "parking", 191 175 "polling", 192 - "rustix 1.0.8", 176 + "rustix", 193 177 "slab", 194 - "windows-sys 0.60.2", 178 + "windows-sys 0.61.2", 195 179 ] 196 180 197 181 [[package]] ··· 207 191 208 192 [[package]] 209 193 name = "async-process" 210 - version = "2.4.0" 194 + version = "2.5.0" 211 195 source = "registry+https://github.com/rust-lang/crates.io-index" 212 - checksum = "65daa13722ad51e6ab1a1b9c01299142bc75135b337923cfa10e79bbbd669f00" 196 + checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" 213 197 dependencies = [ 214 198 "async-channel", 215 199 "async-io", ··· 220 204 "cfg-if", 221 205 "event-listener", 222 206 "futures-lite", 223 - "rustix 1.0.8", 207 + "rustix", 224 208 ] 225 209 226 210 [[package]] ··· 231 215 dependencies = [ 232 216 "proc-macro2", 233 217 "quote", 234 - "syn 2.0.105", 218 + "syn 2.0.109", 235 219 ] 236 220 237 221 [[package]] 238 222 name = "async-signal" 239 - version = "0.2.12" 223 + version = "0.2.13" 240 224 source = "registry+https://github.com/rust-lang/crates.io-index" 241 - checksum = "f567af260ef69e1d52c2b560ce0ea230763e6fbb9214a85d768760a920e3e3c1" 225 + checksum = "43c070bbf59cd3570b6b2dd54cd772527c7c3620fce8be898406dd3ed6adc64c" 242 226 dependencies = [ 243 227 "async-io", 244 228 "async-lock", ··· 246 230 "cfg-if", 247 231 "futures-core", 248 232 "futures-io", 249 - "rustix 1.0.8", 233 + "rustix", 250 234 "signal-hook-registry", 251 235 "slab", 252 - "windows-sys 0.60.2", 236 + "windows-sys 0.61.2", 253 237 ] 254 238 255 239 [[package]] ··· 266 250 dependencies = [ 267 251 "proc-macro2", 268 252 "quote", 269 - "syn 2.0.105", 253 + "syn 2.0.109", 270 254 ] 271 255 272 256 [[package]] ··· 306 290 307 291 [[package]] 308 292 name = "av1-grain" 309 - version = "0.2.4" 293 + version = "0.2.5" 310 294 source = "registry+https://github.com/rust-lang/crates.io-index" 311 - checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8" 295 + checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8" 312 296 dependencies = [ 313 297 "anyhow", 314 298 "arrayvec", ··· 328 312 ] 329 313 330 314 [[package]] 331 - name = "backtrace" 332 - version = "0.3.75" 333 - source = "registry+https://github.com/rust-lang/crates.io-index" 334 - checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 335 - dependencies = [ 336 - "addr2line", 337 - "cfg-if", 338 - "libc", 339 - "miniz_oxide", 340 - "object", 341 - "rustc-demangle", 342 - "windows-targets 0.52.6", 343 - ] 344 - 345 - [[package]] 346 315 name = "base64" 347 316 version = "0.21.7" 348 317 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 356 325 357 326 [[package]] 358 327 name = "bit_field" 359 - version = "0.10.2" 328 + version = "0.10.3" 360 329 source = "registry+https://github.com/rust-lang/crates.io-index" 361 - checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61" 330 + checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" 362 331 363 332 [[package]] 364 333 name = "bitflags" ··· 368 337 369 338 [[package]] 370 339 name = "bitflags" 371 - version = "2.9.1" 340 + version = "2.10.0" 372 341 source = "registry+https://github.com/rust-lang/crates.io-index" 373 - checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" 342 + checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" 374 343 dependencies = [ 375 - "serde", 344 + "serde_core", 376 345 ] 377 346 378 347 [[package]] ··· 401 370 402 371 [[package]] 403 372 name = "block2" 404 - version = "0.6.1" 373 + version = "0.6.2" 405 374 source = "registry+https://github.com/rust-lang/crates.io-index" 406 - checksum = "340d2f0bdb2a43c1d3cd40513185b2bd7def0aa1052f956455114bc98f82dcf2" 375 + checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" 407 376 dependencies = [ 408 - "objc2 0.6.2", 377 + "objc2 0.6.3", 409 378 ] 410 379 411 380 [[package]] ··· 423 392 424 393 [[package]] 425 394 name = "brotli" 426 - version = "8.0.1" 395 + version = "8.0.2" 427 396 source = "registry+https://github.com/rust-lang/crates.io-index" 428 - checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" 397 + checksum = "4bd8b9603c7aa97359dbd97ecf258968c95f3adddd6db2f7e7a5bef101c84560" 429 398 dependencies = [ 430 399 "alloc-no-stdlib", 431 400 "alloc-stdlib", ··· 456 425 457 426 [[package]] 458 427 name = "bytemuck" 459 - version = "1.23.2" 428 + version = "1.24.0" 460 429 source = "registry+https://github.com/rust-lang/crates.io-index" 461 - checksum = "3995eaeebcdf32f91f980d360f78732ddc061097ab4e39991ae7a6ace9194677" 430 + checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" 462 431 463 432 [[package]] 464 433 name = "byteorder" ··· 487 456 source = "registry+https://github.com/rust-lang/crates.io-index" 488 457 checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" 489 458 dependencies = [ 490 - "bitflags 2.9.1", 459 + "bitflags 2.10.0", 491 460 "cairo-sys-rs", 492 461 "glib", 493 462 "libc", ··· 508 477 509 478 [[package]] 510 479 name = "camino" 511 - version = "1.1.11" 480 + version = "1.2.1" 512 481 source = "registry+https://github.com/rust-lang/crates.io-index" 513 - checksum = "5d07aa9a93b00c76f71bc35d598bed923f6d4f3a9ca5c24b7737ae1a292841c0" 482 + checksum = "276a59bf2b2c967788139340c9f0c5b12d7fd6630315c15c217e559de85d2609" 514 483 dependencies = [ 515 - "serde", 484 + "serde_core", 516 485 ] 517 486 518 487 [[package]] ··· 535 504 "semver", 536 505 "serde", 537 506 "serde_json", 538 - "thiserror 2.0.14", 507 + "thiserror 2.0.17", 539 508 ] 540 509 541 510 [[package]] ··· 545 514 checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" 546 515 dependencies = [ 547 516 "serde", 548 - "toml 0.9.5", 517 + "toml 0.9.8", 549 518 ] 550 519 551 520 [[package]] 552 521 name = "cc" 553 - version = "1.2.32" 522 + version = "1.2.45" 554 523 source = "registry+https://github.com/rust-lang/crates.io-index" 555 - checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e" 524 + checksum = "35900b6c8d709fb1d854671ae27aeaa9eec2f8b01b364e1619a40da3e6fe2afe" 556 525 dependencies = [ 526 + "find-msvc-tools", 557 527 "jobserver", 558 528 "libc", 559 529 "shlex", ··· 588 558 589 559 [[package]] 590 560 name = "cfg-if" 591 - version = "1.0.1" 561 + version = "1.0.4" 592 562 source = "registry+https://github.com/rust-lang/crates.io-index" 593 - checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" 563 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 594 564 595 565 [[package]] 596 566 name = "cfg_aliases" ··· 600 570 601 571 [[package]] 602 572 name = "chrono" 603 - version = "0.4.41" 573 + version = "0.4.42" 604 574 source = "registry+https://github.com/rust-lang/crates.io-index" 605 - checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" 575 + checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2" 606 576 dependencies = [ 607 - "android-tzdata", 608 577 "iana-time-zone", 609 578 "num-traits", 610 579 "serde", 611 - "windows-link", 580 + "windows-link 0.2.1", 612 581 ] 613 582 614 583 [[package]] ··· 732 701 source = "registry+https://github.com/rust-lang/crates.io-index" 733 702 checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" 734 703 dependencies = [ 735 - "bitflags 2.9.1", 704 + "bitflags 2.10.0", 736 705 "core-foundation 0.10.1", 737 706 "core-graphics-types", 738 707 "foreign-types 0.5.0", ··· 745 714 source = "registry+https://github.com/rust-lang/crates.io-index" 746 715 checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" 747 716 dependencies = [ 748 - "bitflags 2.9.1", 717 + "bitflags 2.10.0", 749 718 "core-foundation 0.10.1", 750 719 "libc", 751 720 ] ··· 842 811 checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 843 812 dependencies = [ 844 813 "quote", 845 - "syn 2.0.105", 814 + "syn 2.0.109", 846 815 ] 847 816 848 817 [[package]] ··· 852 821 checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" 853 822 dependencies = [ 854 823 "quote", 855 - "syn 2.0.105", 824 + "syn 2.0.109", 856 825 ] 857 826 858 827 [[package]] 859 828 name = "darling" 860 - version = "0.20.11" 829 + version = "0.21.3" 861 830 source = "registry+https://github.com/rust-lang/crates.io-index" 862 - checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" 831 + checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" 863 832 dependencies = [ 864 833 "darling_core", 865 834 "darling_macro", ··· 867 836 868 837 [[package]] 869 838 name = "darling_core" 870 - version = "0.20.11" 839 + version = "0.21.3" 871 840 source = "registry+https://github.com/rust-lang/crates.io-index" 872 - checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" 841 + checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" 873 842 dependencies = [ 874 843 "fnv", 875 844 "ident_case", 876 845 "proc-macro2", 877 846 "quote", 878 847 "strsim", 879 - "syn 2.0.105", 848 + "syn 2.0.109", 880 849 ] 881 850 882 851 [[package]] 883 852 name = "darling_macro" 884 - version = "0.20.11" 853 + version = "0.21.3" 885 854 source = "registry+https://github.com/rust-lang/crates.io-index" 886 - checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" 855 + checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" 887 856 dependencies = [ 888 857 "darling_core", 889 858 "quote", 890 - "syn 2.0.105", 859 + "syn 2.0.109", 891 860 ] 892 861 893 862 [[package]] 894 863 name = "data-url" 895 - version = "0.3.1" 864 + version = "0.3.2" 896 865 source = "registry+https://github.com/rust-lang/crates.io-index" 897 - checksum = "5c297a1c74b71ae29df00c3e22dd9534821d60eb9af5a0192823fa2acea70c2a" 866 + checksum = "be1e0bca6c3637f992fc1cc7cbc52a78c1ef6db076dbf1059c4323d6a2048376" 898 867 899 868 [[package]] 900 869 name = "deranged" 901 - version = "0.4.0" 870 + version = "0.5.5" 902 871 source = "registry+https://github.com/rust-lang/crates.io-index" 903 - checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" 872 + checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" 904 873 dependencies = [ 905 874 "powerfmt", 906 - "serde", 875 + "serde_core", 907 876 ] 908 877 909 878 [[package]] ··· 916 885 "proc-macro2", 917 886 "quote", 918 887 "rustc_version", 919 - "syn 2.0.105", 888 + "syn 2.0.109", 920 889 ] 921 890 922 891 [[package]] ··· 931 900 932 901 [[package]] 933 902 name = "dirs" 934 - version = "5.0.1" 935 - source = "registry+https://github.com/rust-lang/crates.io-index" 936 - checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" 937 - dependencies = [ 938 - "dirs-sys 0.4.1", 939 - ] 940 - 941 - [[package]] 942 - name = "dirs" 943 903 version = "6.0.0" 944 904 source = "registry+https://github.com/rust-lang/crates.io-index" 945 905 checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" 946 906 dependencies = [ 947 - "dirs-sys 0.5.0", 948 - ] 949 - 950 - [[package]] 951 - name = "dirs-sys" 952 - version = "0.4.1" 953 - source = "registry+https://github.com/rust-lang/crates.io-index" 954 - checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" 955 - dependencies = [ 956 - "libc", 957 - "option-ext", 958 - "redox_users 0.4.6", 959 - "windows-sys 0.48.0", 907 + "dirs-sys", 960 908 ] 961 909 962 910 [[package]] ··· 967 915 dependencies = [ 968 916 "libc", 969 917 "option-ext", 970 - "redox_users 0.5.2", 971 - "windows-sys 0.60.2", 918 + "redox_users", 919 + "windows-sys 0.61.2", 972 920 ] 973 921 974 922 [[package]] ··· 983 931 source = "registry+https://github.com/rust-lang/crates.io-index" 984 932 checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" 985 933 dependencies = [ 986 - "bitflags 2.9.1", 987 - "objc2 0.6.2", 934 + "bitflags 2.10.0", 935 + "objc2 0.6.3", 988 936 ] 989 937 990 938 [[package]] ··· 995 943 dependencies = [ 996 944 "proc-macro2", 997 945 "quote", 998 - "syn 2.0.105", 946 + "syn 2.0.109", 999 947 ] 1000 948 1001 949 [[package]] 1002 950 name = "dlopen2" 1003 - version = "0.7.0" 951 + version = "0.8.0" 1004 952 source = "registry+https://github.com/rust-lang/crates.io-index" 1005 - checksum = "9e1297103d2bbaea85724fcee6294c2d50b1081f9ad47d0f6f6f61eda65315a6" 953 + checksum = "b54f373ccf864bf587a89e880fb7610f8d73f3045f13580948ccbcaff26febff" 1006 954 dependencies = [ 1007 955 "dlopen2_derive", 1008 956 "libc", ··· 1018 966 dependencies = [ 1019 967 "proc-macro2", 1020 968 "quote", 1021 - "syn 2.0.105", 969 + "syn 2.0.109", 1022 970 ] 1023 971 1024 972 [[package]] ··· 1032 980 1033 981 [[package]] 1034 982 name = "document-features" 1035 - version = "0.2.11" 983 + version = "0.2.12" 1036 984 source = "registry+https://github.com/rust-lang/crates.io-index" 1037 - checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" 985 + checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" 1038 986 dependencies = [ 1039 987 "litrs", 1040 988 ] ··· 1083 1031 1084 1032 [[package]] 1085 1033 name = "embed-resource" 1086 - version = "3.0.5" 1034 + version = "3.0.6" 1087 1035 source = "registry+https://github.com/rust-lang/crates.io-index" 1088 - checksum = "4c6d81016d6c977deefb2ef8d8290da019e27cc26167e102185da528e6c0ab38" 1036 + checksum = "55a075fc573c64510038d7ee9abc7990635863992f83ebc52c8b433b8411a02e" 1089 1037 dependencies = [ 1090 1038 "cc", 1091 1039 "memchr", 1092 1040 "rustc_version", 1093 - "toml 0.9.5", 1041 + "toml 0.9.8", 1094 1042 "vswhom", 1095 1043 "winreg", 1096 1044 ] ··· 1134 1082 dependencies = [ 1135 1083 "proc-macro2", 1136 1084 "quote", 1137 - "syn 2.0.105", 1085 + "syn 2.0.109", 1138 1086 ] 1139 1087 1140 1088 [[package]] ··· 1154 1102 dependencies = [ 1155 1103 "proc-macro2", 1156 1104 "quote", 1157 - "syn 2.0.105", 1105 + "syn 2.0.109", 1158 1106 ] 1159 1107 1160 1108 [[package]] ··· 1165 1113 1166 1114 [[package]] 1167 1115 name = "erased-serde" 1168 - version = "0.4.6" 1116 + version = "0.4.9" 1169 1117 source = "registry+https://github.com/rust-lang/crates.io-index" 1170 - checksum = "e004d887f51fcb9fef17317a2f3525c887d8aa3f4f50fed920816a688284a5b7" 1118 + checksum = "89e8918065695684b2b0702da20382d5ae6065cf3327bc2d6436bd49a71ce9f3" 1171 1119 dependencies = [ 1172 1120 "serde", 1121 + "serde_core", 1173 1122 "typeid", 1174 1123 ] 1175 1124 1176 1125 [[package]] 1177 1126 name = "errno" 1178 - version = "0.3.13" 1127 + version = "0.3.14" 1179 1128 source = "registry+https://github.com/rust-lang/crates.io-index" 1180 - checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" 1129 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 1181 1130 dependencies = [ 1182 1131 "libc", 1183 - "windows-sys 0.60.2", 1132 + "windows-sys 0.61.2", 1184 1133 ] 1185 1134 1186 1135 [[package]] ··· 1227 1176 1228 1177 [[package]] 1229 1178 name = "fast_image_resize" 1230 - version = "4.2.3" 1179 + version = "5.3.0" 1231 1180 source = "registry+https://github.com/rust-lang/crates.io-index" 1232 - checksum = "43e5ce628b529e9bd2e2f378c1193215104b526fd494a572aa23414adc4e5553" 1181 + checksum = "1bd1eda71e8af93f8b00e189404235d82f4de77ea4a0d182b44a7f03994d647c" 1233 1182 dependencies = [ 1234 1183 "bytemuck", 1235 1184 "cfg-if", 1236 1185 "document-features", 1237 1186 "image", 1238 1187 "num-traits", 1239 - "thiserror 1.0.69", 1188 + "thiserror 2.0.17", 1240 1189 ] 1241 1190 1242 1191 [[package]] ··· 1246 1195 checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 1247 1196 1248 1197 [[package]] 1198 + name = "fax" 1199 + version = "0.2.6" 1200 + source = "registry+https://github.com/rust-lang/crates.io-index" 1201 + checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab" 1202 + dependencies = [ 1203 + "fax_derive", 1204 + ] 1205 + 1206 + [[package]] 1207 + name = "fax_derive" 1208 + version = "0.2.0" 1209 + source = "registry+https://github.com/rust-lang/crates.io-index" 1210 + checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" 1211 + dependencies = [ 1212 + "proc-macro2", 1213 + "quote", 1214 + "syn 2.0.109", 1215 + ] 1216 + 1217 + [[package]] 1249 1218 name = "fdeflate" 1250 1219 version = "0.3.7" 1251 1220 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1265 1234 ] 1266 1235 1267 1236 [[package]] 1268 - name = "filetime" 1269 - version = "0.2.25" 1237 + name = "find-msvc-tools" 1238 + version = "0.1.4" 1270 1239 source = "registry+https://github.com/rust-lang/crates.io-index" 1271 - checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" 1272 - dependencies = [ 1273 - "cfg-if", 1274 - "libc", 1275 - "libredox", 1276 - "windows-sys 0.59.0", 1277 - ] 1240 + checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" 1278 1241 1279 1242 [[package]] 1280 1243 name = "flate2" 1281 - version = "1.1.2" 1244 + version = "1.1.5" 1282 1245 source = "registry+https://github.com/rust-lang/crates.io-index" 1283 - checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" 1246 + checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" 1284 1247 dependencies = [ 1285 1248 "crc32fast", 1286 1249 "miniz_oxide", ··· 1319 1282 dependencies = [ 1320 1283 "proc-macro2", 1321 1284 "quote", 1322 - "syn 2.0.105", 1285 + "syn 2.0.109", 1323 1286 ] 1324 1287 1325 1288 [[package]] ··· 1336 1299 1337 1300 [[package]] 1338 1301 name = "form_urlencoded" 1339 - version = "1.2.1" 1302 + version = "1.2.2" 1340 1303 source = "registry+https://github.com/rust-lang/crates.io-index" 1341 - checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 1304 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 1342 1305 dependencies = [ 1343 1306 "percent-encoding", 1344 1307 ] ··· 1416 1379 dependencies = [ 1417 1380 "proc-macro2", 1418 1381 "quote", 1419 - "syn 2.0.105", 1382 + "syn 2.0.109", 1420 1383 ] 1421 1384 1422 1385 [[package]] ··· 1558 1521 1559 1522 [[package]] 1560 1523 name = "generic-array" 1561 - version = "0.14.7" 1524 + version = "0.14.9" 1562 1525 source = "registry+https://github.com/rust-lang/crates.io-index" 1563 - checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 1526 + checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2" 1564 1527 dependencies = [ 1565 1528 "typenum", 1566 1529 "version_check", ··· 1568 1531 1569 1532 [[package]] 1570 1533 name = "gethostname" 1571 - version = "0.4.3" 1534 + version = "1.1.0" 1572 1535 source = "registry+https://github.com/rust-lang/crates.io-index" 1573 - checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" 1536 + checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" 1574 1537 dependencies = [ 1575 - "libc", 1576 - "windows-targets 0.48.5", 1538 + "rustix", 1539 + "windows-link 0.2.1", 1577 1540 ] 1578 1541 1579 1542 [[package]] ··· 1602 1565 1603 1566 [[package]] 1604 1567 name = "getrandom" 1605 - version = "0.3.3" 1568 + version = "0.3.4" 1606 1569 source = "registry+https://github.com/rust-lang/crates.io-index" 1607 - checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 1570 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 1608 1571 dependencies = [ 1609 1572 "cfg-if", 1610 1573 "js-sys", 1611 1574 "libc", 1612 1575 "r-efi", 1613 - "wasi 0.14.2+wasi-0.2.4", 1576 + "wasip2", 1614 1577 "wasm-bindgen", 1615 1578 ] 1616 1579 ··· 1625 1588 ] 1626 1589 1627 1590 [[package]] 1628 - name = "gimli" 1629 - version = "0.31.1" 1630 - source = "registry+https://github.com/rust-lang/crates.io-index" 1631 - checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 1632 - 1633 - [[package]] 1634 1591 name = "gio" 1635 1592 version = "0.18.4" 1636 1593 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1668 1625 source = "registry+https://github.com/rust-lang/crates.io-index" 1669 1626 checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" 1670 1627 dependencies = [ 1671 - "bitflags 2.9.1", 1628 + "bitflags 2.10.0", 1672 1629 "futures-channel", 1673 1630 "futures-core", 1674 1631 "futures-executor", ··· 1692 1649 checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" 1693 1650 dependencies = [ 1694 1651 "heck 0.4.1", 1695 - "proc-macro-crate 2.0.0", 1652 + "proc-macro-crate 2.0.2", 1696 1653 "proc-macro-error", 1697 1654 "proc-macro2", 1698 1655 "quote", 1699 - "syn 2.0.105", 1656 + "syn 2.0.109", 1700 1657 ] 1701 1658 1702 1659 [[package]] ··· 1775 1732 "proc-macro-error", 1776 1733 "proc-macro2", 1777 1734 "quote", 1778 - "syn 2.0.105", 1735 + "syn 2.0.109", 1779 1736 ] 1780 1737 1781 1738 [[package]] ··· 1790 1747 "futures-core", 1791 1748 "futures-sink", 1792 1749 "http", 1793 - "indexmap 2.10.0", 1750 + "indexmap 2.12.0", 1794 1751 "slab", 1795 1752 "tokio", 1796 1753 "tokio-util", ··· 1799 1756 1800 1757 [[package]] 1801 1758 name = "half" 1802 - version = "2.6.0" 1759 + version = "2.7.1" 1803 1760 source = "registry+https://github.com/rust-lang/crates.io-index" 1804 - checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" 1761 + checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" 1805 1762 dependencies = [ 1806 1763 "cfg-if", 1807 1764 "crunchy", 1765 + "zerocopy", 1808 1766 ] 1809 1767 1810 1768 [[package]] ··· 1821 1779 1822 1780 [[package]] 1823 1781 name = "hashbrown" 1824 - version = "0.15.5" 1782 + version = "0.16.0" 1825 1783 source = "registry+https://github.com/rust-lang/crates.io-index" 1826 - checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" 1784 + checksum = "5419bdc4f6a9207fbeba6d11b604d481addf78ecd10c11ad51e76c2f6482748d" 1827 1785 1828 1786 [[package]] 1829 1787 name = "heck" ··· 1903 1861 1904 1862 [[package]] 1905 1863 name = "hyper" 1906 - version = "1.6.0" 1864 + version = "1.7.0" 1907 1865 source = "registry+https://github.com/rust-lang/crates.io-index" 1908 - checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" 1866 + checksum = "eb3aa54a13a0dfe7fbe3a59e0c76093041720fdc77b110cc0fc260fafb4dc51e" 1909 1867 dependencies = [ 1868 + "atomic-waker", 1910 1869 "bytes", 1911 1870 "futures-channel", 1912 - "futures-util", 1871 + "futures-core", 1913 1872 "h2", 1914 1873 "http", 1915 1874 "http-body", 1916 1875 "httparse", 1917 1876 "itoa", 1918 1877 "pin-project-lite", 1878 + "pin-utils", 1919 1879 "smallvec", 1920 1880 "tokio", 1921 1881 "want", ··· 1956 1916 1957 1917 [[package]] 1958 1918 name = "hyper-util" 1959 - version = "0.1.16" 1919 + version = "0.1.17" 1960 1920 source = "registry+https://github.com/rust-lang/crates.io-index" 1961 - checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" 1921 + checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" 1962 1922 dependencies = [ 1963 1923 "base64 0.22.1", 1964 1924 "bytes", ··· 1972 1932 "libc", 1973 1933 "percent-encoding", 1974 1934 "pin-project-lite", 1975 - "socket2 0.6.0", 1935 + "socket2", 1976 1936 "system-configuration", 1977 1937 "tokio", 1978 1938 "tower-service", ··· 1982 1942 1983 1943 [[package]] 1984 1944 name = "iana-time-zone" 1985 - version = "0.1.63" 1945 + version = "0.1.64" 1986 1946 source = "registry+https://github.com/rust-lang/crates.io-index" 1987 - checksum = "b0c919e5debc312ad217002b8048a17b7d83f80703865bbfcfebb0458b0b27d8" 1947 + checksum = "33e57f83510bb73707521ebaffa789ec8caf86f9657cad665b092b581d40e9fb" 1988 1948 dependencies = [ 1989 1949 "android_system_properties", 1990 1950 "core-foundation-sys", ··· 1992 1952 "js-sys", 1993 1953 "log", 1994 1954 "wasm-bindgen", 1995 - "windows-core", 1955 + "windows-core 0.62.2", 1996 1956 ] 1997 1957 1998 1958 [[package]] ··· 2011 1971 checksum = "cc50b891e4acf8fe0e71ef88ec43ad82ee07b3810ad09de10f1d01f072ed4b98" 2012 1972 dependencies = [ 2013 1973 "byteorder", 2014 - "png", 1974 + "png 0.17.16", 2015 1975 ] 2016 1976 2017 1977 [[package]] 2018 1978 name = "icu_collections" 2019 - version = "2.0.0" 1979 + version = "2.1.1" 2020 1980 source = "registry+https://github.com/rust-lang/crates.io-index" 2021 - checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 1981 + checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" 2022 1982 dependencies = [ 2023 1983 "displaydoc", 2024 1984 "potential_utf", ··· 2029 1989 2030 1990 [[package]] 2031 1991 name = "icu_locale_core" 2032 - version = "2.0.0" 1992 + version = "2.1.1" 2033 1993 source = "registry+https://github.com/rust-lang/crates.io-index" 2034 - checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 1994 + checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" 2035 1995 dependencies = [ 2036 1996 "displaydoc", 2037 1997 "litemap", ··· 2042 2002 2043 2003 [[package]] 2044 2004 name = "icu_normalizer" 2045 - version = "2.0.0" 2005 + version = "2.1.1" 2046 2006 source = "registry+https://github.com/rust-lang/crates.io-index" 2047 - checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 2007 + checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" 2048 2008 dependencies = [ 2049 - "displaydoc", 2050 2009 "icu_collections", 2051 2010 "icu_normalizer_data", 2052 2011 "icu_properties", ··· 2057 2016 2058 2017 [[package]] 2059 2018 name = "icu_normalizer_data" 2060 - version = "2.0.0" 2019 + version = "2.1.1" 2061 2020 source = "registry+https://github.com/rust-lang/crates.io-index" 2062 - checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 2021 + checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" 2063 2022 2064 2023 [[package]] 2065 2024 name = "icu_properties" 2066 - version = "2.0.1" 2025 + version = "2.1.1" 2067 2026 source = "registry+https://github.com/rust-lang/crates.io-index" 2068 - checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" 2027 + checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" 2069 2028 dependencies = [ 2070 - "displaydoc", 2071 2029 "icu_collections", 2072 2030 "icu_locale_core", 2073 2031 "icu_properties_data", 2074 2032 "icu_provider", 2075 - "potential_utf", 2076 2033 "zerotrie", 2077 2034 "zerovec", 2078 2035 ] 2079 2036 2080 2037 [[package]] 2081 2038 name = "icu_properties_data" 2082 - version = "2.0.1" 2039 + version = "2.1.1" 2083 2040 source = "registry+https://github.com/rust-lang/crates.io-index" 2084 - checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" 2041 + checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" 2085 2042 2086 2043 [[package]] 2087 2044 name = "icu_provider" 2088 - version = "2.0.0" 2045 + version = "2.1.1" 2089 2046 source = "registry+https://github.com/rust-lang/crates.io-index" 2090 - checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 2047 + checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" 2091 2048 dependencies = [ 2092 2049 "displaydoc", 2093 2050 "icu_locale_core", 2094 - "stable_deref_trait", 2095 - "tinystr", 2096 2051 "writeable", 2097 2052 "yoke", 2098 2053 "zerofrom", ··· 2108 2063 2109 2064 [[package]] 2110 2065 name = "idna" 2111 - version = "1.0.3" 2066 + version = "1.1.0" 2112 2067 source = "registry+https://github.com/rust-lang/crates.io-index" 2113 - checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 2068 + checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" 2114 2069 dependencies = [ 2115 2070 "idna_adapter", 2116 2071 "smallvec", ··· 2129 2084 2130 2085 [[package]] 2131 2086 name = "image" 2132 - version = "0.25.6" 2087 + version = "0.25.8" 2133 2088 source = "registry+https://github.com/rust-lang/crates.io-index" 2134 - checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a" 2089 + checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7" 2135 2090 dependencies = [ 2136 2091 "bytemuck", 2137 2092 "byteorder-lite", ··· 2139 2094 "exr", 2140 2095 "gif", 2141 2096 "image-webp", 2097 + "moxcms", 2142 2098 "num-traits", 2143 - "png", 2099 + "png 0.18.0", 2144 2100 "qoi", 2145 2101 "ravif", 2146 2102 "rayon", ··· 2152 2108 2153 2109 [[package]] 2154 2110 name = "image-webp" 2155 - version = "0.2.3" 2111 + version = "0.2.4" 2156 2112 source = "registry+https://github.com/rust-lang/crates.io-index" 2157 - checksum = "f6970fe7a5300b4b42e62c52efa0187540a5bef546c60edaf554ef595d2e6f0b" 2113 + checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" 2158 2114 dependencies = [ 2159 2115 "byteorder-lite", 2160 2116 "quick-error", ··· 2162 2118 2163 2119 [[package]] 2164 2120 name = "imgref" 2165 - version = "1.11.0" 2121 + version = "1.12.0" 2166 2122 source = "registry+https://github.com/rust-lang/crates.io-index" 2167 - checksum = "d0263a3d970d5c054ed9312c0057b4f3bde9c0b33836d3637361d4a9e6e7a408" 2123 + checksum = "e7c5cedc30da3a610cac6b4ba17597bdf7152cf974e8aab3afb3d54455e371c8" 2168 2124 2169 2125 [[package]] 2170 2126 name = "indexmap" ··· 2179 2135 2180 2136 [[package]] 2181 2137 name = "indexmap" 2182 - version = "2.10.0" 2138 + version = "2.12.0" 2183 2139 source = "registry+https://github.com/rust-lang/crates.io-index" 2184 - checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" 2140 + checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" 2185 2141 dependencies = [ 2186 2142 "equivalent", 2187 - "hashbrown 0.15.5", 2143 + "hashbrown 0.16.0", 2188 2144 "serde", 2145 + "serde_core", 2189 2146 ] 2190 2147 2191 2148 [[package]] ··· 2199 2156 2200 2157 [[package]] 2201 2158 name = "inotify" 2202 - version = "0.9.6" 2159 + version = "0.11.0" 2203 2160 source = "registry+https://github.com/rust-lang/crates.io-index" 2204 - checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" 2161 + checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" 2205 2162 dependencies = [ 2206 - "bitflags 1.3.2", 2163 + "bitflags 2.10.0", 2207 2164 "inotify-sys", 2208 2165 "libc", 2209 2166 ] ··· 2225 2182 dependencies = [ 2226 2183 "proc-macro2", 2227 2184 "quote", 2228 - "syn 2.0.105", 2229 - ] 2230 - 2231 - [[package]] 2232 - name = "io-uring" 2233 - version = "0.7.9" 2234 - source = "registry+https://github.com/rust-lang/crates.io-index" 2235 - checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" 2236 - dependencies = [ 2237 - "bitflags 2.9.1", 2238 - "cfg-if", 2239 - "libc", 2185 + "syn 2.0.109", 2240 2186 ] 2241 2187 2242 2188 [[package]] ··· 2247 2193 2248 2194 [[package]] 2249 2195 name = "iri-string" 2250 - version = "0.7.8" 2196 + version = "0.7.9" 2251 2197 source = "registry+https://github.com/rust-lang/crates.io-index" 2252 - checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" 2198 + checksum = "4f867b9d1d896b67beb18518eda36fdb77a32ea590de864f1325b294a6d14397" 2253 2199 dependencies = [ 2254 2200 "memchr", 2255 2201 "serde", ··· 2336 2282 2337 2283 [[package]] 2338 2284 name = "jobserver" 2339 - version = "0.1.33" 2285 + version = "0.1.34" 2340 2286 source = "registry+https://github.com/rust-lang/crates.io-index" 2341 - checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" 2287 + checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" 2342 2288 dependencies = [ 2343 - "getrandom 0.3.3", 2289 + "getrandom 0.3.4", 2344 2290 "libc", 2345 2291 ] 2346 - 2347 - [[package]] 2348 - name = "jpeg-decoder" 2349 - version = "0.3.2" 2350 - source = "registry+https://github.com/rust-lang/crates.io-index" 2351 - checksum = "00810f1d8b74be64b13dbf3db89ac67740615d6c891f0e7b6179326533011a07" 2352 2292 2353 2293 [[package]] 2354 2294 name = "js-sys" 2355 - version = "0.3.77" 2295 + version = "0.3.82" 2356 2296 source = "registry+https://github.com/rust-lang/crates.io-index" 2357 - checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 2297 + checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" 2358 2298 dependencies = [ 2359 2299 "once_cell", 2360 2300 "wasm-bindgen", ··· 2388 2328 source = "registry+https://github.com/rust-lang/crates.io-index" 2389 2329 checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" 2390 2330 dependencies = [ 2391 - "bitflags 2.9.1", 2331 + "bitflags 2.10.0", 2392 2332 "serde", 2393 2333 "unicode-segmentation", 2394 2334 ] ··· 2421 2361 dependencies = [ 2422 2362 "cssparser", 2423 2363 "html5ever", 2424 - "indexmap 2.10.0", 2364 + "indexmap 2.12.0", 2425 2365 "selectors", 2426 2366 ] 2427 2367 ··· 2433 2373 2434 2374 [[package]] 2435 2375 name = "lebe" 2436 - version = "0.5.2" 2376 + version = "0.5.3" 2437 2377 source = "registry+https://github.com/rust-lang/crates.io-index" 2438 - checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" 2378 + checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" 2439 2379 2440 2380 [[package]] 2441 2381 name = "libappindicator" ··· 2463 2403 2464 2404 [[package]] 2465 2405 name = "libc" 2466 - version = "0.2.175" 2406 + version = "0.2.177" 2467 2407 source = "registry+https://github.com/rust-lang/crates.io-index" 2468 - checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" 2408 + checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" 2469 2409 2470 2410 [[package]] 2471 2411 name = "libfuzzer-sys" ··· 2489 2429 2490 2430 [[package]] 2491 2431 name = "libredox" 2492 - version = "0.1.9" 2432 + version = "0.1.10" 2493 2433 source = "registry+https://github.com/rust-lang/crates.io-index" 2494 - checksum = "391290121bad3d37fbddad76d8f5d1c1c314cfc646d143d7e07a3086ddff0ce3" 2434 + checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" 2495 2435 dependencies = [ 2496 - "bitflags 2.9.1", 2436 + "bitflags 2.10.0", 2497 2437 "libc", 2498 - "redox_syscall", 2499 2438 ] 2500 2439 2501 2440 [[package]] 2502 2441 name = "linux-raw-sys" 2503 - version = "0.4.15" 2442 + version = "0.11.0" 2504 2443 source = "registry+https://github.com/rust-lang/crates.io-index" 2505 - checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" 2506 - 2507 - [[package]] 2508 - name = "linux-raw-sys" 2509 - version = "0.9.4" 2510 - source = "registry+https://github.com/rust-lang/crates.io-index" 2511 - checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" 2444 + checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" 2512 2445 2513 2446 [[package]] 2514 2447 name = "litemap" 2515 - version = "0.8.0" 2448 + version = "0.8.1" 2516 2449 source = "registry+https://github.com/rust-lang/crates.io-index" 2517 - checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 2450 + checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" 2518 2451 2519 2452 [[package]] 2520 2453 name = "litrs" 2521 - version = "0.4.2" 2454 + version = "1.0.0" 2522 2455 source = "registry+https://github.com/rust-lang/crates.io-index" 2523 - checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" 2456 + checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" 2524 2457 2525 2458 [[package]] 2526 2459 name = "lock_api" 2527 - version = "0.4.13" 2460 + version = "0.4.14" 2528 2461 source = "registry+https://github.com/rust-lang/crates.io-index" 2529 - checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 2462 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 2530 2463 dependencies = [ 2531 - "autocfg", 2532 2464 "scopeguard", 2533 2465 ] 2534 2466 2535 2467 [[package]] 2536 2468 name = "log" 2537 - version = "0.4.27" 2469 + version = "0.4.28" 2538 2470 source = "registry+https://github.com/rust-lang/crates.io-index" 2539 - checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 2471 + checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" 2540 2472 2541 2473 [[package]] 2542 2474 name = "loop9" ··· 2581 2513 dependencies = [ 2582 2514 "proc-macro2", 2583 2515 "quote", 2584 - "syn 2.0.105", 2516 + "syn 2.0.109", 2585 2517 ] 2586 2518 2587 2519 [[package]] ··· 2602 2534 2603 2535 [[package]] 2604 2536 name = "memchr" 2605 - version = "2.7.5" 2537 + version = "2.7.6" 2606 2538 source = "registry+https://github.com/rust-lang/crates.io-index" 2607 - checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" 2539 + checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 2608 2540 2609 2541 [[package]] 2610 2542 name = "memoffset" ··· 2622 2554 checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 2623 2555 2624 2556 [[package]] 2625 - name = "minimal-lexical" 2626 - version = "0.2.1" 2627 - source = "registry+https://github.com/rust-lang/crates.io-index" 2628 - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 2629 - 2630 - [[package]] 2631 2557 name = "miniz_oxide" 2632 2558 version = "0.8.9" 2633 2559 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2639 2565 2640 2566 [[package]] 2641 2567 name = "mio" 2642 - version = "0.8.11" 2568 + version = "1.1.0" 2643 2569 source = "registry+https://github.com/rust-lang/crates.io-index" 2644 - checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 2570 + checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" 2645 2571 dependencies = [ 2646 2572 "libc", 2647 2573 "log", 2648 2574 "wasi 0.11.1+wasi-snapshot-preview1", 2649 - "windows-sys 0.48.0", 2575 + "windows-sys 0.61.2", 2650 2576 ] 2651 2577 2652 2578 [[package]] 2653 - name = "mio" 2654 - version = "1.0.4" 2579 + name = "moxcms" 2580 + version = "0.7.9" 2655 2581 source = "registry+https://github.com/rust-lang/crates.io-index" 2656 - checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 2582 + checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" 2657 2583 dependencies = [ 2658 - "libc", 2659 - "wasi 0.11.1+wasi-snapshot-preview1", 2660 - "windows-sys 0.59.0", 2584 + "num-traits", 2585 + "pxfm", 2661 2586 ] 2662 2587 2663 2588 [[package]] ··· 2681 2606 "dpi", 2682 2607 "gtk", 2683 2608 "keyboard-types", 2684 - "objc2 0.6.2", 2609 + "objc2 0.6.3", 2685 2610 "objc2-app-kit", 2686 2611 "objc2-core-foundation", 2687 - "objc2-foundation 0.3.1", 2612 + "objc2-foundation 0.3.2", 2688 2613 "once_cell", 2689 - "png", 2614 + "png 0.17.16", 2690 2615 "serde", 2691 - "thiserror 2.0.14", 2616 + "thiserror 2.0.17", 2692 2617 "windows-sys 0.60.2", 2693 2618 ] 2694 2619 ··· 2715 2640 source = "registry+https://github.com/rust-lang/crates.io-index" 2716 2641 checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" 2717 2642 dependencies = [ 2718 - "bitflags 2.9.1", 2643 + "bitflags 2.10.0", 2719 2644 "jni-sys", 2720 2645 "log", 2721 2646 "ndk-sys", ··· 2751 2676 source = "registry+https://github.com/rust-lang/crates.io-index" 2752 2677 checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" 2753 2678 dependencies = [ 2754 - "bitflags 2.9.1", 2679 + "bitflags 2.10.0", 2755 2680 "cfg-if", 2756 2681 "cfg_aliases", 2757 2682 "libc", ··· 2766 2691 2767 2692 [[package]] 2768 2693 name = "nom" 2769 - version = "7.1.3" 2694 + version = "8.0.0" 2770 2695 source = "registry+https://github.com/rust-lang/crates.io-index" 2771 - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" 2696 + checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" 2772 2697 dependencies = [ 2773 2698 "memchr", 2774 - "minimal-lexical", 2775 2699 ] 2776 2700 2777 2701 [[package]] ··· 2782 2706 2783 2707 [[package]] 2784 2708 name = "notify" 2785 - version = "6.1.1" 2709 + version = "8.2.0" 2786 2710 source = "registry+https://github.com/rust-lang/crates.io-index" 2787 - checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" 2711 + checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" 2788 2712 dependencies = [ 2789 - "bitflags 2.9.1", 2790 - "crossbeam-channel", 2791 - "filetime", 2713 + "bitflags 2.10.0", 2792 2714 "fsevent-sys", 2793 2715 "inotify", 2794 2716 "kqueue", 2795 2717 "libc", 2796 2718 "log", 2797 - "mio 0.8.11", 2719 + "mio", 2720 + "notify-types", 2798 2721 "walkdir", 2799 - "windows-sys 0.48.0", 2722 + "windows-sys 0.60.2", 2800 2723 ] 2801 2724 2802 2725 [[package]] 2726 + name = "notify-types" 2727 + version = "2.0.0" 2728 + source = "registry+https://github.com/rust-lang/crates.io-index" 2729 + checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" 2730 + 2731 + [[package]] 2803 2732 name = "num-bigint" 2804 2733 version = "0.4.6" 2805 2734 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 2823 2752 dependencies = [ 2824 2753 "proc-macro2", 2825 2754 "quote", 2826 - "syn 2.0.105", 2755 + "syn 2.0.109", 2827 2756 ] 2828 2757 2829 2758 [[package]] ··· 2857 2786 2858 2787 [[package]] 2859 2788 name = "num_enum" 2860 - version = "0.7.4" 2789 + version = "0.7.5" 2861 2790 source = "registry+https://github.com/rust-lang/crates.io-index" 2862 - checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" 2791 + checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" 2863 2792 dependencies = [ 2864 2793 "num_enum_derive", 2865 2794 "rustversion", ··· 2867 2796 2868 2797 [[package]] 2869 2798 name = "num_enum_derive" 2870 - version = "0.7.4" 2799 + version = "0.7.5" 2871 2800 source = "registry+https://github.com/rust-lang/crates.io-index" 2872 - checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" 2801 + checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" 2873 2802 dependencies = [ 2874 - "proc-macro-crate 1.3.1", 2803 + "proc-macro-crate 3.4.0", 2875 2804 "proc-macro2", 2876 2805 "quote", 2877 - "syn 2.0.105", 2806 + "syn 2.0.109", 2878 2807 ] 2879 2808 2880 2809 [[package]] ··· 2895 2824 2896 2825 [[package]] 2897 2826 name = "objc2" 2898 - version = "0.6.2" 2827 + version = "0.6.3" 2899 2828 source = "registry+https://github.com/rust-lang/crates.io-index" 2900 - checksum = "561f357ba7f3a2a61563a186a163d0a3a5247e1089524a3981d49adb775078bc" 2829 + checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" 2901 2830 dependencies = [ 2902 2831 "objc2-encode", 2903 2832 "objc2-exception-helper", ··· 2905 2834 2906 2835 [[package]] 2907 2836 name = "objc2-app-kit" 2908 - version = "0.3.1" 2837 + version = "0.3.2" 2909 2838 source = "registry+https://github.com/rust-lang/crates.io-index" 2910 - checksum = "e6f29f568bec459b0ddff777cec4fe3fd8666d82d5a40ebd0ff7e66134f89bcc" 2839 + checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" 2911 2840 dependencies = [ 2912 - "bitflags 2.9.1", 2913 - "block2 0.6.1", 2841 + "bitflags 2.10.0", 2842 + "block2 0.6.2", 2914 2843 "libc", 2915 - "objc2 0.6.2", 2844 + "objc2 0.6.3", 2916 2845 "objc2-cloud-kit", 2917 2846 "objc2-core-data", 2918 2847 "objc2-core-foundation", 2919 2848 "objc2-core-graphics", 2920 2849 "objc2-core-image", 2921 - "objc2-foundation 0.3.1", 2922 - "objc2-quartz-core 0.3.1", 2850 + "objc2-core-text", 2851 + "objc2-core-video", 2852 + "objc2-foundation 0.3.2", 2853 + "objc2-quartz-core 0.3.2", 2923 2854 ] 2924 2855 2925 2856 [[package]] 2926 2857 name = "objc2-cloud-kit" 2927 - version = "0.3.1" 2858 + version = "0.3.2" 2928 2859 source = "registry+https://github.com/rust-lang/crates.io-index" 2929 - checksum = "17614fdcd9b411e6ff1117dfb1d0150f908ba83a7df81b1f118005fe0a8ea15d" 2860 + checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" 2930 2861 dependencies = [ 2931 - "bitflags 2.9.1", 2932 - "objc2 0.6.2", 2933 - "objc2-foundation 0.3.1", 2862 + "bitflags 2.10.0", 2863 + "objc2 0.6.3", 2864 + "objc2-foundation 0.3.2", 2934 2865 ] 2935 2866 2936 2867 [[package]] 2937 2868 name = "objc2-core-data" 2938 - version = "0.3.1" 2869 + version = "0.3.2" 2939 2870 source = "registry+https://github.com/rust-lang/crates.io-index" 2940 - checksum = "291fbbf7d29287518e8686417cf7239c74700fd4b607623140a7d4a3c834329d" 2871 + checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" 2941 2872 dependencies = [ 2942 - "bitflags 2.9.1", 2943 - "objc2 0.6.2", 2944 - "objc2-foundation 0.3.1", 2873 + "bitflags 2.10.0", 2874 + "objc2 0.6.3", 2875 + "objc2-foundation 0.3.2", 2945 2876 ] 2946 2877 2947 2878 [[package]] 2948 2879 name = "objc2-core-foundation" 2949 - version = "0.3.1" 2880 + version = "0.3.2" 2950 2881 source = "registry+https://github.com/rust-lang/crates.io-index" 2951 - checksum = "1c10c2894a6fed806ade6027bcd50662746363a9589d3ec9d9bef30a4e4bc166" 2882 + checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" 2952 2883 dependencies = [ 2953 - "bitflags 2.9.1", 2884 + "bitflags 2.10.0", 2954 2885 "dispatch2", 2955 - "objc2 0.6.2", 2886 + "objc2 0.6.3", 2956 2887 ] 2957 2888 2958 2889 [[package]] 2959 2890 name = "objc2-core-graphics" 2960 - version = "0.3.1" 2891 + version = "0.3.2" 2961 2892 source = "registry+https://github.com/rust-lang/crates.io-index" 2962 - checksum = "989c6c68c13021b5c2d6b71456ebb0f9dc78d752e86a98da7c716f4f9470f5a4" 2893 + checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" 2963 2894 dependencies = [ 2964 - "bitflags 2.9.1", 2895 + "bitflags 2.10.0", 2965 2896 "dispatch2", 2966 - "objc2 0.6.2", 2897 + "objc2 0.6.3", 2967 2898 "objc2-core-foundation", 2968 2899 "objc2-io-surface", 2969 2900 ] 2970 2901 2971 2902 [[package]] 2972 2903 name = "objc2-core-image" 2973 - version = "0.3.1" 2904 + version = "0.3.2" 2974 2905 source = "registry+https://github.com/rust-lang/crates.io-index" 2975 - checksum = "79b3dc0cc4386b6ccf21c157591b34a7f44c8e75b064f85502901ab2188c007e" 2906 + checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" 2976 2907 dependencies = [ 2977 - "objc2 0.6.2", 2978 - "objc2-foundation 0.3.1", 2908 + "objc2 0.6.3", 2909 + "objc2-foundation 0.3.2", 2910 + ] 2911 + 2912 + [[package]] 2913 + name = "objc2-core-text" 2914 + version = "0.3.2" 2915 + source = "registry+https://github.com/rust-lang/crates.io-index" 2916 + checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" 2917 + dependencies = [ 2918 + "bitflags 2.10.0", 2919 + "objc2 0.6.3", 2920 + "objc2-core-foundation", 2921 + "objc2-core-graphics", 2922 + ] 2923 + 2924 + [[package]] 2925 + name = "objc2-core-video" 2926 + version = "0.3.2" 2927 + source = "registry+https://github.com/rust-lang/crates.io-index" 2928 + checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" 2929 + dependencies = [ 2930 + "bitflags 2.10.0", 2931 + "objc2 0.6.3", 2932 + "objc2-core-foundation", 2933 + "objc2-core-graphics", 2934 + "objc2-io-surface", 2979 2935 ] 2980 2936 2981 2937 [[package]] ··· 2999 2955 source = "registry+https://github.com/rust-lang/crates.io-index" 3000 2956 checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" 3001 2957 dependencies = [ 3002 - "bitflags 2.9.1", 2958 + "bitflags 2.10.0", 3003 2959 "block2 0.5.1", 3004 2960 "libc", 3005 2961 "objc2 0.5.2", ··· 3007 2963 3008 2964 [[package]] 3009 2965 name = "objc2-foundation" 3010 - version = "0.3.1" 2966 + version = "0.3.2" 3011 2967 source = "registry+https://github.com/rust-lang/crates.io-index" 3012 - checksum = "900831247d2fe1a09a683278e5384cfb8c80c79fe6b166f9d14bfdde0ea1b03c" 2968 + checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" 3013 2969 dependencies = [ 3014 - "bitflags 2.9.1", 3015 - "block2 0.6.1", 2970 + "bitflags 2.10.0", 2971 + "block2 0.6.2", 3016 2972 "libc", 3017 - "objc2 0.6.2", 2973 + "objc2 0.6.3", 3018 2974 "objc2-core-foundation", 3019 2975 ] 3020 2976 3021 2977 [[package]] 3022 2978 name = "objc2-io-surface" 3023 - version = "0.3.1" 2979 + version = "0.3.2" 2980 + source = "registry+https://github.com/rust-lang/crates.io-index" 2981 + checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" 2982 + dependencies = [ 2983 + "bitflags 2.10.0", 2984 + "objc2 0.6.3", 2985 + "objc2-core-foundation", 2986 + ] 2987 + 2988 + [[package]] 2989 + name = "objc2-javascript-core" 2990 + version = "0.3.2" 3024 2991 source = "registry+https://github.com/rust-lang/crates.io-index" 3025 - checksum = "7282e9ac92529fa3457ce90ebb15f4ecbc383e8338060960760fa2cf75420c3c" 2992 + checksum = "2a1e6550c4caed348956ce3370c9ffeca70bb1dbed4fa96112e7c6170e074586" 3026 2993 dependencies = [ 3027 - "bitflags 2.9.1", 3028 - "objc2 0.6.2", 2994 + "objc2 0.6.3", 3029 2995 "objc2-core-foundation", 3030 2996 ] 3031 2997 ··· 3035 3001 source = "registry+https://github.com/rust-lang/crates.io-index" 3036 3002 checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" 3037 3003 dependencies = [ 3038 - "bitflags 2.9.1", 3004 + "bitflags 2.10.0", 3039 3005 "block2 0.5.1", 3040 3006 "objc2 0.5.2", 3041 3007 "objc2-foundation 0.2.2", ··· 3047 3013 source = "registry+https://github.com/rust-lang/crates.io-index" 3048 3014 checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" 3049 3015 dependencies = [ 3050 - "bitflags 2.9.1", 3016 + "bitflags 2.10.0", 3051 3017 "block2 0.5.1", 3052 3018 "objc2 0.5.2", 3053 3019 "objc2-foundation 0.2.2", ··· 3056 3022 3057 3023 [[package]] 3058 3024 name = "objc2-quartz-core" 3059 - version = "0.3.1" 3025 + version = "0.3.2" 3060 3026 source = "registry+https://github.com/rust-lang/crates.io-index" 3061 - checksum = "90ffb6a0cd5f182dc964334388560b12a57f7b74b3e2dec5e2722aa2dfb2ccd5" 3027 + checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" 3062 3028 dependencies = [ 3063 - "bitflags 2.9.1", 3064 - "objc2 0.6.2", 3065 - "objc2-foundation 0.3.1", 3029 + "bitflags 2.10.0", 3030 + "objc2 0.6.3", 3031 + "objc2-foundation 0.3.2", 3066 3032 ] 3067 3033 3068 3034 [[package]] 3069 - name = "objc2-ui-kit" 3070 - version = "0.3.1" 3035 + name = "objc2-security" 3036 + version = "0.3.2" 3071 3037 source = "registry+https://github.com/rust-lang/crates.io-index" 3072 - checksum = "25b1312ad7bc8a0e92adae17aa10f90aae1fb618832f9b993b022b591027daed" 3038 + checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" 3073 3039 dependencies = [ 3074 - "bitflags 2.9.1", 3075 - "objc2 0.6.2", 3040 + "bitflags 2.10.0", 3041 + "objc2 0.6.3", 3076 3042 "objc2-core-foundation", 3077 - "objc2-foundation 0.3.1", 3078 3043 ] 3079 3044 3080 3045 [[package]] 3081 - name = "objc2-web-kit" 3082 - version = "0.3.1" 3046 + name = "objc2-ui-kit" 3047 + version = "0.3.2" 3083 3048 source = "registry+https://github.com/rust-lang/crates.io-index" 3084 - checksum = "91672909de8b1ce1c2252e95bbee8c1649c9ad9d14b9248b3d7b4c47903c47ad" 3049 + checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" 3085 3050 dependencies = [ 3086 - "bitflags 2.9.1", 3087 - "block2 0.6.1", 3088 - "objc2 0.6.2", 3089 - "objc2-app-kit", 3051 + "bitflags 2.10.0", 3052 + "objc2 0.6.3", 3090 3053 "objc2-core-foundation", 3091 - "objc2-foundation 0.3.1", 3054 + "objc2-foundation 0.3.2", 3092 3055 ] 3093 3056 3094 3057 [[package]] 3095 - name = "object" 3096 - version = "0.36.7" 3058 + name = "objc2-web-kit" 3059 + version = "0.3.2" 3097 3060 source = "registry+https://github.com/rust-lang/crates.io-index" 3098 - checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 3061 + checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" 3099 3062 dependencies = [ 3100 - "memchr", 3063 + "bitflags 2.10.0", 3064 + "block2 0.6.2", 3065 + "objc2 0.6.3", 3066 + "objc2-app-kit", 3067 + "objc2-core-foundation", 3068 + "objc2-foundation 0.3.2", 3069 + "objc2-javascript-core", 3070 + "objc2-security", 3101 3071 ] 3102 3072 3103 3073 [[package]] ··· 3120 3090 3121 3091 [[package]] 3122 3092 name = "openssl" 3123 - version = "0.10.73" 3093 + version = "0.10.74" 3124 3094 source = "registry+https://github.com/rust-lang/crates.io-index" 3125 - checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" 3095 + checksum = "24ad14dd45412269e1a30f52ad8f0664f0f4f4a89ee8fe28c3b3527021ebb654" 3126 3096 dependencies = [ 3127 - "bitflags 2.9.1", 3097 + "bitflags 2.10.0", 3128 3098 "cfg-if", 3129 3099 "foreign-types 0.3.2", 3130 3100 "libc", ··· 3141 3111 dependencies = [ 3142 3112 "proc-macro2", 3143 3113 "quote", 3144 - "syn 2.0.105", 3114 + "syn 2.0.109", 3145 3115 ] 3146 3116 3147 3117 [[package]] ··· 3152 3122 3153 3123 [[package]] 3154 3124 name = "openssl-sys" 3155 - version = "0.9.109" 3125 + version = "0.9.110" 3156 3126 source = "registry+https://github.com/rust-lang/crates.io-index" 3157 - checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" 3127 + checksum = "0a9f0075ba3c21b09f8e8b2026584b1d18d49388648f2fbbf3c97ea8deced8e2" 3158 3128 dependencies = [ 3159 3129 "cc", 3160 3130 "libc", ··· 3190 3160 3191 3161 [[package]] 3192 3162 name = "os_pipe" 3193 - version = "1.2.2" 3163 + version = "1.2.3" 3194 3164 source = "registry+https://github.com/rust-lang/crates.io-index" 3195 - checksum = "db335f4760b14ead6290116f2427bf33a14d4f0617d49f78a246de10c1831224" 3165 + checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" 3196 3166 dependencies = [ 3197 3167 "libc", 3198 - "windows-sys 0.59.0", 3168 + "windows-sys 0.61.2", 3199 3169 ] 3200 3170 3201 3171 [[package]] ··· 3231 3201 3232 3202 [[package]] 3233 3203 name = "parking_lot" 3234 - version = "0.12.4" 3204 + version = "0.12.5" 3235 3205 source = "registry+https://github.com/rust-lang/crates.io-index" 3236 - checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 3206 + checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 3237 3207 dependencies = [ 3238 3208 "lock_api", 3239 3209 "parking_lot_core", ··· 3241 3211 3242 3212 [[package]] 3243 3213 name = "parking_lot_core" 3244 - version = "0.9.11" 3214 + version = "0.9.12" 3245 3215 source = "registry+https://github.com/rust-lang/crates.io-index" 3246 - checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 3216 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 3247 3217 dependencies = [ 3248 3218 "cfg-if", 3249 3219 "libc", 3250 3220 "redox_syscall", 3251 3221 "smallvec", 3252 - "windows-targets 0.52.6", 3222 + "windows-link 0.2.1", 3253 3223 ] 3254 3224 3255 3225 [[package]] ··· 3266 3236 3267 3237 [[package]] 3268 3238 name = "percent-encoding" 3269 - version = "2.3.1" 3239 + version = "2.3.2" 3270 3240 source = "registry+https://github.com/rust-lang/crates.io-index" 3271 - checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 3241 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 3272 3242 3273 3243 [[package]] 3274 3244 name = "phf" ··· 3374 3344 "phf_shared 0.11.3", 3375 3345 "proc-macro2", 3376 3346 "quote", 3377 - "syn 2.0.105", 3347 + "syn 2.0.109", 3378 3348 ] 3379 3349 3380 3350 [[package]] ··· 3435 3405 3436 3406 [[package]] 3437 3407 name = "plist" 3438 - version = "1.7.4" 3408 + version = "1.8.0" 3439 3409 source = "registry+https://github.com/rust-lang/crates.io-index" 3440 - checksum = "3af6b589e163c5a788fab00ce0c0366f6efbb9959c2f9874b224936af7fce7e1" 3410 + checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" 3441 3411 dependencies = [ 3442 3412 "base64 0.22.1", 3443 - "indexmap 2.10.0", 3413 + "indexmap 2.12.0", 3444 3414 "quick-xml", 3445 3415 "serde", 3446 3416 "time", ··· 3460 3430 ] 3461 3431 3462 3432 [[package]] 3433 + name = "png" 3434 + version = "0.18.0" 3435 + source = "registry+https://github.com/rust-lang/crates.io-index" 3436 + checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" 3437 + dependencies = [ 3438 + "bitflags 2.10.0", 3439 + "crc32fast", 3440 + "fdeflate", 3441 + "flate2", 3442 + "miniz_oxide", 3443 + ] 3444 + 3445 + [[package]] 3463 3446 name = "polling" 3464 - version = "3.10.0" 3447 + version = "3.11.0" 3465 3448 source = "registry+https://github.com/rust-lang/crates.io-index" 3466 - checksum = "b5bd19146350fe804f7cb2669c851c03d69da628803dab0d98018142aaa5d829" 3449 + checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" 3467 3450 dependencies = [ 3468 3451 "cfg-if", 3469 3452 "concurrent-queue", 3470 3453 "hermit-abi", 3471 3454 "pin-project-lite", 3472 - "rustix 1.0.8", 3473 - "windows-sys 0.60.2", 3455 + "rustix", 3456 + "windows-sys 0.61.2", 3474 3457 ] 3475 3458 3476 3459 [[package]] 3477 3460 name = "potential_utf" 3478 - version = "0.1.2" 3461 + version = "0.1.4" 3479 3462 source = "registry+https://github.com/rust-lang/crates.io-index" 3480 - checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" 3463 + checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" 3481 3464 dependencies = [ 3482 3465 "zerovec", 3483 3466 ] ··· 3515 3498 3516 3499 [[package]] 3517 3500 name = "proc-macro-crate" 3518 - version = "2.0.0" 3501 + version = "2.0.2" 3519 3502 source = "registry+https://github.com/rust-lang/crates.io-index" 3520 - checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" 3503 + checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" 3521 3504 dependencies = [ 3505 + "toml_datetime 0.6.3", 3522 3506 "toml_edit 0.20.2", 3523 3507 ] 3524 3508 3525 3509 [[package]] 3526 3510 name = "proc-macro-crate" 3527 - version = "3.3.0" 3511 + version = "3.4.0" 3528 3512 source = "registry+https://github.com/rust-lang/crates.io-index" 3529 - checksum = "edce586971a4dfaa28950c6f18ed55e0406c1ab88bbce2c6f6293a7aaba73d35" 3513 + checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" 3530 3514 dependencies = [ 3531 - "toml_edit 0.22.27", 3515 + "toml_edit 0.23.7", 3532 3516 ] 3533 3517 3534 3518 [[package]] ··· 3563 3547 3564 3548 [[package]] 3565 3549 name = "proc-macro2" 3566 - version = "1.0.97" 3550 + version = "1.0.103" 3567 3551 source = "registry+https://github.com/rust-lang/crates.io-index" 3568 - checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1" 3552 + checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" 3569 3553 dependencies = [ 3570 3554 "unicode-ident", 3571 3555 ] ··· 3586 3570 checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" 3587 3571 dependencies = [ 3588 3572 "quote", 3589 - "syn 2.0.105", 3573 + "syn 2.0.109", 3590 3574 ] 3591 3575 3592 3576 [[package]] ··· 3606 3590 ] 3607 3591 3608 3592 [[package]] 3593 + name = "pxfm" 3594 + version = "0.1.25" 3595 + source = "registry+https://github.com/rust-lang/crates.io-index" 3596 + checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" 3597 + dependencies = [ 3598 + "num-traits", 3599 + ] 3600 + 3601 + [[package]] 3609 3602 name = "qoi" 3610 3603 version = "0.4.1" 3611 3604 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3622 3615 3623 3616 [[package]] 3624 3617 name = "quick-xml" 3625 - version = "0.38.1" 3618 + version = "0.38.3" 3626 3619 source = "registry+https://github.com/rust-lang/crates.io-index" 3627 - checksum = "9845d9dccf565065824e69f9f235fafba1587031eda353c1f1561cd6a6be78f4" 3620 + checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" 3628 3621 dependencies = [ 3629 3622 "memchr", 3630 3623 ] 3631 3624 3632 3625 [[package]] 3633 3626 name = "quinn" 3634 - version = "0.11.8" 3627 + version = "0.11.9" 3635 3628 source = "registry+https://github.com/rust-lang/crates.io-index" 3636 - checksum = "626214629cda6781b6dc1d316ba307189c85ba657213ce642d9c77670f8202c8" 3629 + checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" 3637 3630 dependencies = [ 3638 3631 "bytes", 3639 3632 "cfg_aliases", ··· 3642 3635 "quinn-udp", 3643 3636 "rustc-hash", 3644 3637 "rustls", 3645 - "socket2 0.5.10", 3646 - "thiserror 2.0.14", 3638 + "socket2", 3639 + "thiserror 2.0.17", 3647 3640 "tokio", 3648 3641 "tracing", 3649 3642 "web-time", ··· 3651 3644 3652 3645 [[package]] 3653 3646 name = "quinn-proto" 3654 - version = "0.11.12" 3647 + version = "0.11.13" 3655 3648 source = "registry+https://github.com/rust-lang/crates.io-index" 3656 - checksum = "49df843a9161c85bb8aae55f101bc0bac8bcafd637a620d9122fd7e0b2f7422e" 3649 + checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" 3657 3650 dependencies = [ 3658 3651 "bytes", 3659 - "getrandom 0.3.3", 3652 + "getrandom 0.3.4", 3660 3653 "lru-slab", 3661 3654 "rand 0.9.2", 3662 3655 "ring", ··· 3664 3657 "rustls", 3665 3658 "rustls-pki-types", 3666 3659 "slab", 3667 - "thiserror 2.0.14", 3660 + "thiserror 2.0.17", 3668 3661 "tinyvec", 3669 3662 "tracing", 3670 3663 "web-time", ··· 3672 3665 3673 3666 [[package]] 3674 3667 name = "quinn-udp" 3675 - version = "0.5.13" 3668 + version = "0.5.14" 3676 3669 source = "registry+https://github.com/rust-lang/crates.io-index" 3677 - checksum = "fcebb1209ee276352ef14ff8732e24cc2b02bbac986cd74a4c81bcb2f9881970" 3670 + checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" 3678 3671 dependencies = [ 3679 3672 "cfg_aliases", 3680 3673 "libc", 3681 3674 "once_cell", 3682 - "socket2 0.5.10", 3675 + "socket2", 3683 3676 "tracing", 3684 - "windows-sys 0.59.0", 3677 + "windows-sys 0.60.2", 3685 3678 ] 3686 3679 3687 3680 [[package]] 3688 3681 name = "quote" 3689 - version = "1.0.40" 3682 + version = "1.0.42" 3690 3683 source = "registry+https://github.com/rust-lang/crates.io-index" 3691 - checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 3684 + checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f" 3692 3685 dependencies = [ 3693 3686 "proc-macro2", 3694 3687 ] ··· 3788 3781 source = "registry+https://github.com/rust-lang/crates.io-index" 3789 3782 checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 3790 3783 dependencies = [ 3791 - "getrandom 0.3.3", 3784 + "getrandom 0.3.4", 3792 3785 ] 3793 3786 3794 3787 [[package]] ··· 3887 3880 3888 3881 [[package]] 3889 3882 name = "redox_syscall" 3890 - version = "0.5.17" 3891 - source = "registry+https://github.com/rust-lang/crates.io-index" 3892 - checksum = "5407465600fb0548f1442edf71dd20683c6ed326200ace4b1ef0763521bb3b77" 3893 - dependencies = [ 3894 - "bitflags 2.9.1", 3895 - ] 3896 - 3897 - [[package]] 3898 - name = "redox_users" 3899 - version = "0.4.6" 3883 + version = "0.5.18" 3900 3884 source = "registry+https://github.com/rust-lang/crates.io-index" 3901 - checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" 3885 + checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 3902 3886 dependencies = [ 3903 - "getrandom 0.2.16", 3904 - "libredox", 3905 - "thiserror 1.0.69", 3887 + "bitflags 2.10.0", 3906 3888 ] 3907 3889 3908 3890 [[package]] ··· 3913 3895 dependencies = [ 3914 3896 "getrandom 0.2.16", 3915 3897 "libredox", 3916 - "thiserror 2.0.14", 3898 + "thiserror 2.0.17", 3917 3899 ] 3918 3900 3919 3901 [[package]] 3920 3902 name = "ref-cast" 3921 - version = "1.0.24" 3903 + version = "1.0.25" 3922 3904 source = "registry+https://github.com/rust-lang/crates.io-index" 3923 - checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" 3905 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 3924 3906 dependencies = [ 3925 3907 "ref-cast-impl", 3926 3908 ] 3927 3909 3928 3910 [[package]] 3929 3911 name = "ref-cast-impl" 3930 - version = "1.0.24" 3912 + version = "1.0.25" 3931 3913 source = "registry+https://github.com/rust-lang/crates.io-index" 3932 - checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" 3914 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 3933 3915 dependencies = [ 3934 3916 "proc-macro2", 3935 3917 "quote", 3936 - "syn 2.0.105", 3918 + "syn 2.0.109", 3937 3919 ] 3938 3920 3939 3921 [[package]] 3940 3922 name = "regex" 3941 - version = "1.11.1" 3923 + version = "1.12.2" 3942 3924 source = "registry+https://github.com/rust-lang/crates.io-index" 3943 - checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 3925 + checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" 3944 3926 dependencies = [ 3945 3927 "aho-corasick", 3946 3928 "memchr", ··· 3950 3932 3951 3933 [[package]] 3952 3934 name = "regex-automata" 3953 - version = "0.4.9" 3935 + version = "0.4.13" 3954 3936 source = "registry+https://github.com/rust-lang/crates.io-index" 3955 - checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 3937 + checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" 3956 3938 dependencies = [ 3957 3939 "aho-corasick", 3958 3940 "memchr", ··· 3961 3943 3962 3944 [[package]] 3963 3945 name = "regex-syntax" 3964 - version = "0.8.5" 3946 + version = "0.8.8" 3965 3947 source = "registry+https://github.com/rust-lang/crates.io-index" 3966 - checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 3948 + checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" 3967 3949 3968 3950 [[package]] 3969 3951 name = "reqwest" 3970 - version = "0.12.23" 3952 + version = "0.12.24" 3971 3953 source = "registry+https://github.com/rust-lang/crates.io-index" 3972 - checksum = "d429f34c8092b2d42c7c93cec323bb4adeb7c67698f70839adec842ec10c7ceb" 3954 + checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" 3973 3955 dependencies = [ 3974 3956 "base64 0.22.1", 3975 3957 "bytes", ··· 4037 4019 4038 4020 [[package]] 4039 4021 name = "rust-ini" 4040 - version = "0.21.2" 4022 + version = "0.21.3" 4041 4023 source = "registry+https://github.com/rust-lang/crates.io-index" 4042 - checksum = "e7295b7ce3bf4806b419dc3420745998b447178b7005e2011947b38fc5aa6791" 4024 + checksum = "796e8d2b6696392a43bea58116b667fb4c29727dc5abd27d6acf338bb4f688c7" 4043 4025 dependencies = [ 4044 4026 "cfg-if", 4045 4027 "ordered-multimap", 4046 4028 ] 4047 4029 4048 4030 [[package]] 4049 - name = "rustc-demangle" 4050 - version = "0.1.26" 4051 - source = "registry+https://github.com/rust-lang/crates.io-index" 4052 - checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" 4053 - 4054 - [[package]] 4055 4031 name = "rustc-hash" 4056 4032 version = "2.1.1" 4057 4033 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 4068 4044 4069 4045 [[package]] 4070 4046 name = "rustix" 4071 - version = "0.38.44" 4072 - source = "registry+https://github.com/rust-lang/crates.io-index" 4073 - checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" 4074 - dependencies = [ 4075 - "bitflags 2.9.1", 4076 - "errno", 4077 - "libc", 4078 - "linux-raw-sys 0.4.15", 4079 - "windows-sys 0.59.0", 4080 - ] 4081 - 4082 - [[package]] 4083 - name = "rustix" 4084 - version = "1.0.8" 4047 + version = "1.1.2" 4085 4048 source = "registry+https://github.com/rust-lang/crates.io-index" 4086 - checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8" 4049 + checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" 4087 4050 dependencies = [ 4088 - "bitflags 2.9.1", 4051 + "bitflags 2.10.0", 4089 4052 "errno", 4090 4053 "libc", 4091 - "linux-raw-sys 0.9.4", 4092 - "windows-sys 0.60.2", 4054 + "linux-raw-sys", 4055 + "windows-sys 0.61.2", 4093 4056 ] 4094 4057 4095 4058 [[package]] 4096 4059 name = "rustls" 4097 - version = "0.23.31" 4060 + version = "0.23.35" 4098 4061 source = "registry+https://github.com/rust-lang/crates.io-index" 4099 - checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" 4062 + checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" 4100 4063 dependencies = [ 4101 4064 "once_cell", 4102 4065 "ring", ··· 4108 4071 4109 4072 [[package]] 4110 4073 name = "rustls-pki-types" 4111 - version = "1.12.0" 4074 + version = "1.13.0" 4112 4075 source = "registry+https://github.com/rust-lang/crates.io-index" 4113 - checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" 4076 + checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" 4114 4077 dependencies = [ 4115 4078 "web-time", 4116 4079 "zeroize", ··· 4118 4081 4119 4082 [[package]] 4120 4083 name = "rustls-webpki" 4121 - version = "0.103.4" 4084 + version = "0.103.8" 4122 4085 source = "registry+https://github.com/rust-lang/crates.io-index" 4123 - checksum = "0a17884ae0c1b773f1ccd2bd4a8c72f16da897310a98b0e84bf349ad5ead92fc" 4086 + checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" 4124 4087 dependencies = [ 4125 4088 "ring", 4126 4089 "rustls-pki-types", ··· 4150 4113 4151 4114 [[package]] 4152 4115 name = "schannel" 4153 - version = "0.1.27" 4116 + version = "0.1.28" 4154 4117 source = "registry+https://github.com/rust-lang/crates.io-index" 4155 - checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 4118 + checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 4156 4119 dependencies = [ 4157 - "windows-sys 0.59.0", 4120 + "windows-sys 0.61.2", 4158 4121 ] 4159 4122 4160 4123 [[package]] ··· 4186 4149 4187 4150 [[package]] 4188 4151 name = "schemars" 4189 - version = "1.0.4" 4152 + version = "1.1.0" 4190 4153 source = "registry+https://github.com/rust-lang/crates.io-index" 4191 - checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" 4154 + checksum = "9558e172d4e8533736ba97870c4b2cd63f84b382a3d6eb063da41b91cce17289" 4192 4155 dependencies = [ 4193 4156 "dyn-clone", 4194 4157 "ref-cast", ··· 4205 4168 "proc-macro2", 4206 4169 "quote", 4207 4170 "serde_derive_internals", 4208 - "syn 2.0.105", 4171 + "syn 2.0.109", 4209 4172 ] 4210 4173 4211 4174 [[package]] ··· 4220 4183 source = "registry+https://github.com/rust-lang/crates.io-index" 4221 4184 checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 4222 4185 dependencies = [ 4223 - "bitflags 2.9.1", 4186 + "bitflags 2.10.0", 4224 4187 "core-foundation 0.9.4", 4225 4188 "core-foundation-sys", 4226 4189 "libc", ··· 4229 4192 4230 4193 [[package]] 4231 4194 name = "security-framework-sys" 4232 - version = "2.14.0" 4195 + version = "2.15.0" 4233 4196 source = "registry+https://github.com/rust-lang/crates.io-index" 4234 - checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 4197 + checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" 4235 4198 dependencies = [ 4236 4199 "core-foundation-sys", 4237 4200 "libc", ··· 4257 4220 4258 4221 [[package]] 4259 4222 name = "semver" 4260 - version = "1.0.26" 4223 + version = "1.0.27" 4261 4224 source = "registry+https://github.com/rust-lang/crates.io-index" 4262 - checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0" 4225 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 4263 4226 dependencies = [ 4264 4227 "serde", 4228 + "serde_core", 4265 4229 ] 4266 4230 4267 4231 [[package]] 4268 4232 name = "serde" 4269 - version = "1.0.219" 4233 + version = "1.0.228" 4270 4234 source = "registry+https://github.com/rust-lang/crates.io-index" 4271 - checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 4235 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 4272 4236 dependencies = [ 4237 + "serde_core", 4273 4238 "serde_derive", 4274 4239 ] 4275 4240 4276 4241 [[package]] 4277 4242 name = "serde-untagged" 4278 - version = "0.1.8" 4243 + version = "0.1.9" 4279 4244 source = "registry+https://github.com/rust-lang/crates.io-index" 4280 - checksum = "34836a629bcbc6f1afdf0907a744870039b1e14c0561cb26094fa683b158eff3" 4245 + checksum = "f9faf48a4a2d2693be24c6289dbe26552776eb7737074e6722891fadbe6c5058" 4281 4246 dependencies = [ 4282 4247 "erased-serde", 4283 4248 "serde", 4249 + "serde_core", 4284 4250 "typeid", 4285 4251 ] 4286 4252 4287 4253 [[package]] 4254 + name = "serde_core" 4255 + version = "1.0.228" 4256 + source = "registry+https://github.com/rust-lang/crates.io-index" 4257 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 4258 + dependencies = [ 4259 + "serde_derive", 4260 + ] 4261 + 4262 + [[package]] 4288 4263 name = "serde_derive" 4289 - version = "1.0.219" 4264 + version = "1.0.228" 4290 4265 source = "registry+https://github.com/rust-lang/crates.io-index" 4291 - checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 4266 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 4292 4267 dependencies = [ 4293 4268 "proc-macro2", 4294 4269 "quote", 4295 - "syn 2.0.105", 4270 + "syn 2.0.109", 4296 4271 ] 4297 4272 4298 4273 [[package]] ··· 4303 4278 dependencies = [ 4304 4279 "proc-macro2", 4305 4280 "quote", 4306 - "syn 2.0.105", 4281 + "syn 2.0.109", 4307 4282 ] 4308 4283 4309 4284 [[package]] 4310 4285 name = "serde_json" 4311 - version = "1.0.142" 4286 + version = "1.0.145" 4312 4287 source = "registry+https://github.com/rust-lang/crates.io-index" 4313 - checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" 4288 + checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c" 4314 4289 dependencies = [ 4315 4290 "itoa", 4316 4291 "memchr", 4317 4292 "ryu", 4318 4293 "serde", 4294 + "serde_core", 4319 4295 ] 4320 4296 4321 4297 [[package]] ··· 4326 4302 dependencies = [ 4327 4303 "proc-macro2", 4328 4304 "quote", 4329 - "syn 2.0.105", 4305 + "syn 2.0.109", 4330 4306 ] 4331 4307 4332 4308 [[package]] ··· 4340 4316 4341 4317 [[package]] 4342 4318 name = "serde_spanned" 4343 - version = "1.0.0" 4319 + version = "1.0.3" 4344 4320 source = "registry+https://github.com/rust-lang/crates.io-index" 4345 - checksum = "40734c41988f7306bb04f0ecf60ec0f3f1caa34290e4e8ea471dcd3346483b83" 4321 + checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" 4346 4322 dependencies = [ 4347 - "serde", 4323 + "serde_core", 4348 4324 ] 4349 4325 4350 4326 [[package]] ··· 4361 4337 4362 4338 [[package]] 4363 4339 name = "serde_with" 4364 - version = "3.14.0" 4340 + version = "3.15.1" 4365 4341 source = "registry+https://github.com/rust-lang/crates.io-index" 4366 - checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" 4342 + checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" 4367 4343 dependencies = [ 4368 4344 "base64 0.22.1", 4369 4345 "chrono", 4370 4346 "hex", 4371 4347 "indexmap 1.9.3", 4372 - "indexmap 2.10.0", 4348 + "indexmap 2.12.0", 4373 4349 "schemars 0.9.0", 4374 - "schemars 1.0.4", 4375 - "serde", 4376 - "serde_derive", 4350 + "schemars 1.1.0", 4351 + "serde_core", 4377 4352 "serde_json", 4378 4353 "serde_with_macros", 4379 4354 "time", ··· 4381 4356 4382 4357 [[package]] 4383 4358 name = "serde_with_macros" 4384 - version = "3.14.0" 4359 + version = "3.15.1" 4385 4360 source = "registry+https://github.com/rust-lang/crates.io-index" 4386 - checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" 4361 + checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" 4387 4362 dependencies = [ 4388 4363 "darling", 4389 4364 "proc-macro2", 4390 4365 "quote", 4391 - "syn 2.0.105", 4366 + "syn 2.0.109", 4392 4367 ] 4393 4368 4394 4369 [[package]] 4395 4370 name = "serialize-to-javascript" 4396 - version = "0.1.1" 4371 + version = "0.1.2" 4397 4372 source = "registry+https://github.com/rust-lang/crates.io-index" 4398 - checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" 4373 + checksum = "04f3666a07a197cdb77cdf306c32be9b7f598d7060d50cfd4d5aa04bfd92f6c5" 4399 4374 dependencies = [ 4400 4375 "serde", 4401 4376 "serde_json", ··· 4404 4379 4405 4380 [[package]] 4406 4381 name = "serialize-to-javascript-impl" 4407 - version = "0.1.1" 4382 + version = "0.1.2" 4408 4383 source = "registry+https://github.com/rust-lang/crates.io-index" 4409 - checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" 4384 + checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" 4410 4385 dependencies = [ 4411 4386 "proc-macro2", 4412 4387 "quote", 4413 - "syn 1.0.109", 4388 + "syn 2.0.109", 4414 4389 ] 4415 4390 4416 4391 [[package]] ··· 4522 4497 4523 4498 [[package]] 4524 4499 name = "socket2" 4525 - version = "0.5.10" 4500 + version = "0.6.1" 4526 4501 source = "registry+https://github.com/rust-lang/crates.io-index" 4527 - checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" 4502 + checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" 4528 4503 dependencies = [ 4529 4504 "libc", 4530 - "windows-sys 0.52.0", 4531 - ] 4532 - 4533 - [[package]] 4534 - name = "socket2" 4535 - version = "0.6.0" 4536 - source = "registry+https://github.com/rust-lang/crates.io-index" 4537 - checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" 4538 - dependencies = [ 4539 - "libc", 4540 - "windows-sys 0.59.0", 4505 + "windows-sys 0.60.2", 4541 4506 ] 4542 4507 4543 4508 [[package]] ··· 4590 4555 4591 4556 [[package]] 4592 4557 name = "stable_deref_trait" 4593 - version = "1.2.0" 4558 + version = "1.2.1" 4594 4559 source = "registry+https://github.com/rust-lang/crates.io-index" 4595 - checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 4560 + checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" 4596 4561 4597 4562 [[package]] 4598 4563 name = "static_assertions" ··· 4661 4626 4662 4627 [[package]] 4663 4628 name = "syn" 4664 - version = "2.0.105" 4629 + version = "2.0.109" 4665 4630 source = "registry+https://github.com/rust-lang/crates.io-index" 4666 - checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619" 4631 + checksum = "2f17c7e013e88258aa9543dcbe81aca68a667a9ac37cd69c9fbc07858bfe0e2f" 4667 4632 dependencies = [ 4668 4633 "proc-macro2", 4669 4634 "quote", ··· 4687 4652 dependencies = [ 4688 4653 "proc-macro2", 4689 4654 "quote", 4690 - "syn 2.0.105", 4655 + "syn 2.0.109", 4691 4656 ] 4692 4657 4693 4658 [[package]] ··· 4696 4661 source = "registry+https://github.com/rust-lang/crates.io-index" 4697 4662 checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" 4698 4663 dependencies = [ 4699 - "bitflags 2.9.1", 4664 + "bitflags 2.10.0", 4700 4665 "core-foundation 0.9.4", 4701 4666 "system-configuration-sys", 4702 4667 ] ··· 4726 4691 4727 4692 [[package]] 4728 4693 name = "tao" 4729 - version = "0.34.0" 4694 + version = "0.34.5" 4730 4695 source = "registry+https://github.com/rust-lang/crates.io-index" 4731 - checksum = "49c380ca75a231b87b6c9dd86948f035012e7171d1a7c40a9c2890489a7ffd8a" 4696 + checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" 4732 4697 dependencies = [ 4733 - "bitflags 2.9.1", 4698 + "bitflags 2.10.0", 4699 + "block2 0.6.2", 4734 4700 "core-foundation 0.10.1", 4735 4701 "core-graphics", 4736 4702 "crossbeam-channel", ··· 4747 4713 "ndk", 4748 4714 "ndk-context", 4749 4715 "ndk-sys", 4750 - "objc2 0.6.2", 4716 + "objc2 0.6.3", 4751 4717 "objc2-app-kit", 4752 - "objc2-foundation 0.3.1", 4718 + "objc2-foundation 0.3.2", 4753 4719 "once_cell", 4754 4720 "parking_lot", 4755 4721 "raw-window-handle", ··· 4758 4724 "unicode-segmentation", 4759 4725 "url", 4760 4726 "windows", 4761 - "windows-core", 4727 + "windows-core 0.61.2", 4762 4728 "windows-version", 4763 4729 "x11-dl", 4764 4730 ] ··· 4771 4737 dependencies = [ 4772 4738 "proc-macro2", 4773 4739 "quote", 4774 - "syn 2.0.105", 4740 + "syn 2.0.109", 4775 4741 ] 4776 4742 4777 4743 [[package]] ··· 4782 4748 4783 4749 [[package]] 4784 4750 name = "tauri" 4785 - version = "2.7.0" 4751 + version = "2.9.2" 4786 4752 source = "registry+https://github.com/rust-lang/crates.io-index" 4787 - checksum = "352a4bc7bf6c25f5624227e3641adf475a6535707451b09bb83271df8b7a6ac7" 4753 + checksum = "8bceb52453e507c505b330afe3398510e87f428ea42b6e76ecb6bd63b15965b5" 4788 4754 dependencies = [ 4789 4755 "anyhow", 4790 4756 "bytes", 4791 - "dirs 6.0.0", 4757 + "cookie", 4758 + "dirs", 4792 4759 "dunce", 4793 4760 "embed_plist", 4794 - "getrandom 0.3.3", 4761 + "getrandom 0.3.4", 4795 4762 "glob", 4796 4763 "gtk", 4797 4764 "heck 0.5.0", ··· 4802 4769 "log", 4803 4770 "mime", 4804 4771 "muda", 4805 - "objc2 0.6.2", 4772 + "objc2 0.6.3", 4806 4773 "objc2-app-kit", 4807 - "objc2-foundation 0.3.1", 4774 + "objc2-foundation 0.3.2", 4808 4775 "objc2-ui-kit", 4776 + "objc2-web-kit", 4809 4777 "percent-encoding", 4810 4778 "plist", 4811 4779 "raw-window-handle", ··· 4820 4788 "tauri-runtime", 4821 4789 "tauri-runtime-wry", 4822 4790 "tauri-utils", 4823 - "thiserror 2.0.14", 4791 + "thiserror 2.0.17", 4824 4792 "tokio", 4825 4793 "tray-icon", 4826 4794 "url", 4827 - "urlpattern", 4828 4795 "webkit2gtk", 4829 4796 "webview2-com", 4830 4797 "window-vibrancy", ··· 4833 4800 4834 4801 [[package]] 4835 4802 name = "tauri-build" 4836 - version = "2.3.1" 4803 + version = "2.5.1" 4837 4804 source = "registry+https://github.com/rust-lang/crates.io-index" 4838 - checksum = "182d688496c06bf08ea896459bf483eb29cdff35c1c4c115fb14053514303064" 4805 + checksum = "a924b6c50fe83193f0f8b14072afa7c25b7a72752a2a73d9549b463f5fe91a38" 4839 4806 dependencies = [ 4840 4807 "anyhow", 4841 4808 "cargo_toml", 4842 - "dirs 6.0.0", 4809 + "dirs", 4843 4810 "glob", 4844 4811 "heck 0.5.0", 4845 4812 "json-patch", ··· 4849 4816 "serde_json", 4850 4817 "tauri-utils", 4851 4818 "tauri-winres", 4852 - "toml 0.8.2", 4819 + "toml 0.9.8", 4853 4820 "walkdir", 4854 4821 ] 4855 4822 4856 4823 [[package]] 4857 4824 name = "tauri-codegen" 4858 - version = "2.3.1" 4825 + version = "2.5.0" 4859 4826 source = "registry+https://github.com/rust-lang/crates.io-index" 4860 - checksum = "b54a99a6cd8e01abcfa61508177e6096a4fe2681efecee9214e962f2f073ae4a" 4827 + checksum = "6c1fe64c74cc40f90848281a90058a6db931eb400b60205840e09801ee30f190" 4861 4828 dependencies = [ 4862 4829 "base64 0.22.1", 4863 4830 "brotli", 4864 4831 "ico", 4865 4832 "json-patch", 4866 4833 "plist", 4867 - "png", 4834 + "png 0.17.16", 4868 4835 "proc-macro2", 4869 4836 "quote", 4870 4837 "semver", 4871 4838 "serde", 4872 4839 "serde_json", 4873 4840 "sha2", 4874 - "syn 2.0.105", 4841 + "syn 2.0.109", 4875 4842 "tauri-utils", 4876 - "thiserror 2.0.14", 4843 + "thiserror 2.0.17", 4877 4844 "time", 4878 4845 "url", 4879 4846 "uuid", ··· 4882 4849 4883 4850 [[package]] 4884 4851 name = "tauri-macros" 4885 - version = "2.3.2" 4852 + version = "2.5.0" 4886 4853 source = "registry+https://github.com/rust-lang/crates.io-index" 4887 - checksum = "7945b14dc45e23532f2ded6e120170bbdd4af5ceaa45784a6b33d250fbce3f9e" 4854 + checksum = "260c5d2eb036b76206b9fca20b7be3614cfd21046c5396f7959e0e64a4b07f2f" 4888 4855 dependencies = [ 4889 4856 "heck 0.5.0", 4890 4857 "proc-macro2", 4891 4858 "quote", 4892 - "syn 2.0.105", 4859 + "syn 2.0.109", 4893 4860 "tauri-codegen", 4894 4861 "tauri-utils", 4895 4862 ] 4896 4863 4897 4864 [[package]] 4898 4865 name = "tauri-plugin" 4899 - version = "2.3.1" 4866 + version = "2.5.1" 4900 4867 source = "registry+https://github.com/rust-lang/crates.io-index" 4901 - checksum = "5bd5c1e56990c70a906ef67a9851bbdba9136d26075ee9a2b19c8b46986b3e02" 4868 + checksum = "076c78a474a7247c90cad0b6e87e593c4c620ed4efdb79cbe0214f0021f6c39d" 4902 4869 dependencies = [ 4903 4870 "anyhow", 4904 4871 "glob", ··· 4907 4874 "serde", 4908 4875 "serde_json", 4909 4876 "tauri-utils", 4910 - "toml 0.8.2", 4877 + "toml 0.9.8", 4911 4878 "walkdir", 4912 4879 ] 4913 4880 4914 4881 [[package]] 4915 4882 name = "tauri-plugin-deep-link" 4916 - version = "2.4.1" 4883 + version = "2.4.5" 4917 4884 source = "registry+https://github.com/rust-lang/crates.io-index" 4918 - checksum = "1fec67f32d7a06d80bd3dc009fdb678c35a66116d9cb8cd2bb32e406c2b5bbd2" 4885 + checksum = "6e82759f7c7d51de3cbde51c04b3f2332de52436ed84541182cd8944b04e9e73" 4919 4886 dependencies = [ 4920 4887 "dunce", 4888 + "plist", 4921 4889 "rust-ini", 4922 4890 "serde", 4923 4891 "serde_json", 4924 4892 "tauri", 4925 4893 "tauri-plugin", 4926 4894 "tauri-utils", 4927 - "thiserror 2.0.14", 4895 + "thiserror 2.0.17", 4928 4896 "tracing", 4929 4897 "url", 4930 4898 "windows-registry", 4931 - "windows-result", 4899 + "windows-result 0.3.4", 4932 4900 ] 4933 4901 4934 4902 [[package]] 4935 4903 name = "tauri-plugin-fs" 4936 - version = "2.4.1" 4904 + version = "2.4.4" 4937 4905 source = "registry+https://github.com/rust-lang/crates.io-index" 4938 - checksum = "8c6ef84ee2f2094ce093e55106d90d763ba343fad57566992962e8f76d113f99" 4906 + checksum = "47df422695255ecbe7bac7012440eddaeefd026656171eac9559f5243d3230d9" 4939 4907 dependencies = [ 4940 4908 "anyhow", 4941 4909 "dunce", ··· 4948 4916 "tauri", 4949 4917 "tauri-plugin", 4950 4918 "tauri-utils", 4951 - "thiserror 2.0.14", 4952 - "toml 0.8.2", 4919 + "thiserror 2.0.17", 4920 + "toml 0.9.8", 4953 4921 "url", 4954 4922 ] 4955 4923 4956 4924 [[package]] 4957 4925 name = "tauri-plugin-http" 4958 - version = "2.5.1" 4926 + version = "2.5.4" 4959 4927 source = "registry+https://github.com/rust-lang/crates.io-index" 4960 - checksum = "fcde333d97e565a7765aad82f32d8672458f7bd77b6ee653830d5dded9d7b5c2" 4928 + checksum = "c00685aceab12643cf024f712ab0448ba8fcadf86f2391d49d2e5aa732aacc70" 4961 4929 dependencies = [ 4962 4930 "bytes", 4963 4931 "cookie_store", ··· 4971 4939 "tauri", 4972 4940 "tauri-plugin", 4973 4941 "tauri-plugin-fs", 4974 - "thiserror 2.0.14", 4942 + "thiserror 2.0.17", 4975 4943 "tokio", 4976 4944 "url", 4977 4945 "urlpattern", ··· 4979 4947 4980 4948 [[package]] 4981 4949 name = "tauri-plugin-process" 4982 - version = "2.3.0" 4950 + version = "2.3.1" 4983 4951 source = "registry+https://github.com/rust-lang/crates.io-index" 4984 - checksum = "7461c622a5ea00eb9cd9f7a08dbd3bf79484499fd5c21aa2964677f64ca651ab" 4952 + checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" 4985 4953 dependencies = [ 4986 4954 "tauri", 4987 4955 "tauri-plugin", ··· 4989 4957 4990 4958 [[package]] 4991 4959 name = "tauri-plugin-shell" 4992 - version = "2.3.0" 4960 + version = "2.3.3" 4993 4961 source = "registry+https://github.com/rust-lang/crates.io-index" 4994 - checksum = "2b9ffadec5c3523f11e8273465cacb3d86ea7652a28e6e2a2e9b5c182f791d25" 4962 + checksum = "c374b6db45f2a8a304f0273a15080d98c70cde86178855fc24653ba657a1144c" 4995 4963 dependencies = [ 4996 4964 "encoding_rs", 4997 4965 "log", ··· 5004 4972 "shared_child", 5005 4973 "tauri", 5006 4974 "tauri-plugin", 5007 - "thiserror 2.0.14", 4975 + "thiserror 2.0.17", 5008 4976 "tokio", 5009 4977 ] 5010 4978 5011 4979 [[package]] 5012 4980 name = "tauri-plugin-single-instance" 5013 - version = "2.3.2" 4981 + version = "2.3.6" 5014 4982 source = "registry+https://github.com/rust-lang/crates.io-index" 5015 - checksum = "50a0e5a4ce43cb3a733c3aef85e8478bc769dac743c615e26639cbf5d953faf7" 4983 + checksum = "dd707f8c86b4e3004e2c141fa24351f1909ba40ce1b8437e30d5ed5277dd3710" 5016 4984 dependencies = [ 5017 4985 "serde", 5018 4986 "serde_json", 5019 4987 "tauri", 5020 4988 "tauri-plugin-deep-link", 5021 - "thiserror 2.0.14", 4989 + "thiserror 2.0.17", 5022 4990 "tracing", 5023 4991 "windows-sys 0.60.2", 5024 4992 "zbus", ··· 5026 4994 5027 4995 [[package]] 5028 4996 name = "tauri-runtime" 5029 - version = "2.7.1" 4997 + version = "2.9.1" 5030 4998 source = "registry+https://github.com/rust-lang/crates.io-index" 5031 - checksum = "2b1cc885be806ea15ff7b0eb47098a7b16323d9228876afda329e34e2d6c4676" 4999 + checksum = "9368f09358496f2229313fccb37682ad116b7f46fa76981efe116994a0628926" 5032 5000 dependencies = [ 5033 5001 "cookie", 5034 5002 "dpi", 5035 5003 "gtk", 5036 5004 "http", 5037 5005 "jni", 5038 - "objc2 0.6.2", 5006 + "objc2 0.6.3", 5039 5007 "objc2-ui-kit", 5008 + "objc2-web-kit", 5040 5009 "raw-window-handle", 5041 5010 "serde", 5042 5011 "serde_json", 5043 5012 "tauri-utils", 5044 - "thiserror 2.0.14", 5013 + "thiserror 2.0.17", 5045 5014 "url", 5015 + "webkit2gtk", 5016 + "webview2-com", 5046 5017 "windows", 5047 5018 ] 5048 5019 5049 5020 [[package]] 5050 5021 name = "tauri-runtime-wry" 5051 - version = "2.7.2" 5022 + version = "2.9.1" 5052 5023 source = "registry+https://github.com/rust-lang/crates.io-index" 5053 - checksum = "fe653a2fbbef19fe898efc774bc52c8742576342a33d3d028c189b57eb1d2439" 5024 + checksum = "929f5df216f5c02a9e894554401bcdab6eec3e39ec6a4a7731c7067fc8688a93" 5054 5025 dependencies = [ 5055 5026 "gtk", 5056 5027 "http", 5057 5028 "jni", 5058 5029 "log", 5059 - "objc2 0.6.2", 5030 + "objc2 0.6.3", 5060 5031 "objc2-app-kit", 5061 - "objc2-foundation 0.3.1", 5032 + "objc2-foundation 0.3.2", 5062 5033 "once_cell", 5063 5034 "percent-encoding", 5064 5035 "raw-window-handle", ··· 5075 5046 5076 5047 [[package]] 5077 5048 name = "tauri-utils" 5078 - version = "2.6.0" 5049 + version = "2.8.0" 5079 5050 source = "registry+https://github.com/rust-lang/crates.io-index" 5080 - checksum = "9330c15cabfe1d9f213478c9e8ec2b0c76dab26bb6f314b8ad1c8a568c1d186e" 5051 + checksum = "f6b8bbe426abdbf52d050e52ed693130dbd68375b9ad82a3fb17efb4c8d85673" 5081 5052 dependencies = [ 5082 5053 "anyhow", 5083 5054 "brotli", ··· 5103 5074 "serde_json", 5104 5075 "serde_with", 5105 5076 "swift-rs", 5106 - "thiserror 2.0.14", 5107 - "toml 0.8.2", 5077 + "thiserror 2.0.17", 5078 + "toml 0.9.8", 5108 5079 "url", 5109 5080 "urlpattern", 5110 5081 "uuid", ··· 5118 5089 checksum = "fd21509dd1fa9bd355dc29894a6ff10635880732396aa38c0066c1e6c1ab8074" 5119 5090 dependencies = [ 5120 5091 "embed-resource", 5121 - "toml 0.9.5", 5092 + "toml 0.9.8", 5122 5093 ] 5123 5094 5124 5095 [[package]] 5125 5096 name = "tempfile" 5126 - version = "3.20.0" 5097 + version = "3.23.0" 5127 5098 source = "registry+https://github.com/rust-lang/crates.io-index" 5128 - checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" 5099 + checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" 5129 5100 dependencies = [ 5130 5101 "fastrand", 5131 - "getrandom 0.3.3", 5102 + "getrandom 0.3.4", 5132 5103 "once_cell", 5133 - "rustix 1.0.8", 5134 - "windows-sys 0.59.0", 5104 + "rustix", 5105 + "windows-sys 0.61.2", 5135 5106 ] 5136 5107 5137 5108 [[package]] ··· 5156 5127 5157 5128 [[package]] 5158 5129 name = "thiserror" 5159 - version = "2.0.14" 5130 + version = "2.0.17" 5160 5131 source = "registry+https://github.com/rust-lang/crates.io-index" 5161 - checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" 5132 + checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8" 5162 5133 dependencies = [ 5163 - "thiserror-impl 2.0.14", 5134 + "thiserror-impl 2.0.17", 5164 5135 ] 5165 5136 5166 5137 [[package]] ··· 5171 5142 dependencies = [ 5172 5143 "proc-macro2", 5173 5144 "quote", 5174 - "syn 2.0.105", 5145 + "syn 2.0.109", 5175 5146 ] 5176 5147 5177 5148 [[package]] 5178 5149 name = "thiserror-impl" 5179 - version = "2.0.14" 5150 + version = "2.0.17" 5180 5151 source = "registry+https://github.com/rust-lang/crates.io-index" 5181 - checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" 5152 + checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" 5182 5153 dependencies = [ 5183 5154 "proc-macro2", 5184 5155 "quote", 5185 - "syn 2.0.105", 5156 + "syn 2.0.109", 5186 5157 ] 5187 5158 5188 5159 [[package]] 5189 5160 name = "tiff" 5190 - version = "0.9.1" 5161 + version = "0.10.3" 5191 5162 source = "registry+https://github.com/rust-lang/crates.io-index" 5192 - checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e" 5163 + checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" 5193 5164 dependencies = [ 5165 + "fax", 5194 5166 "flate2", 5195 - "jpeg-decoder", 5167 + "half", 5168 + "quick-error", 5196 5169 "weezl", 5170 + "zune-jpeg", 5197 5171 ] 5198 5172 5199 5173 [[package]] 5200 5174 name = "time" 5201 - version = "0.3.41" 5175 + version = "0.3.44" 5202 5176 source = "registry+https://github.com/rust-lang/crates.io-index" 5203 - checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" 5177 + checksum = "91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d" 5204 5178 dependencies = [ 5205 5179 "deranged", 5206 5180 "itoa", ··· 5213 5187 5214 5188 [[package]] 5215 5189 name = "time-core" 5216 - version = "0.1.4" 5190 + version = "0.1.6" 5217 5191 source = "registry+https://github.com/rust-lang/crates.io-index" 5218 - checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" 5192 + checksum = "40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b" 5219 5193 5220 5194 [[package]] 5221 5195 name = "time-macros" 5222 - version = "0.2.22" 5196 + version = "0.2.24" 5223 5197 source = "registry+https://github.com/rust-lang/crates.io-index" 5224 - checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" 5198 + checksum = "30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3" 5225 5199 dependencies = [ 5226 5200 "num-conv", 5227 5201 "time-core", ··· 5238 5212 5239 5213 [[package]] 5240 5214 name = "tinystr" 5241 - version = "0.8.1" 5215 + version = "0.8.2" 5242 5216 source = "registry+https://github.com/rust-lang/crates.io-index" 5243 - checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 5217 + checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" 5244 5218 dependencies = [ 5245 5219 "displaydoc", 5246 5220 "zerovec", ··· 5248 5222 5249 5223 [[package]] 5250 5224 name = "tinyvec" 5251 - version = "1.9.0" 5225 + version = "1.10.0" 5252 5226 source = "registry+https://github.com/rust-lang/crates.io-index" 5253 - checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" 5227 + checksum = "bfa5fdc3bce6191a1dbc8c02d5c8bffcf557bafa17c124c5264a458f1b0613fa" 5254 5228 dependencies = [ 5255 5229 "tinyvec_macros", 5256 5230 ] ··· 5263 5237 5264 5238 [[package]] 5265 5239 name = "tokio" 5266 - version = "1.47.1" 5240 + version = "1.48.0" 5267 5241 source = "registry+https://github.com/rust-lang/crates.io-index" 5268 - checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" 5242 + checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" 5269 5243 dependencies = [ 5270 - "backtrace", 5271 5244 "bytes", 5272 - "io-uring", 5273 5245 "libc", 5274 - "mio 1.0.4", 5246 + "mio", 5275 5247 "pin-project-lite", 5276 - "slab", 5277 - "socket2 0.6.0", 5248 + "socket2", 5278 5249 "tokio-macros", 5279 - "windows-sys 0.59.0", 5250 + "windows-sys 0.61.2", 5280 5251 ] 5281 5252 5282 5253 [[package]] 5283 5254 name = "tokio-macros" 5284 - version = "2.5.0" 5255 + version = "2.6.0" 5285 5256 source = "registry+https://github.com/rust-lang/crates.io-index" 5286 - checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 5257 + checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" 5287 5258 dependencies = [ 5288 5259 "proc-macro2", 5289 5260 "quote", 5290 - "syn 2.0.105", 5261 + "syn 2.0.109", 5291 5262 ] 5292 5263 5293 5264 [[package]] ··· 5302 5273 5303 5274 [[package]] 5304 5275 name = "tokio-rustls" 5305 - version = "0.26.2" 5276 + version = "0.26.4" 5306 5277 source = "registry+https://github.com/rust-lang/crates.io-index" 5307 - checksum = "8e727b36a1a0e8b74c376ac2211e40c2c8af09fb4013c60d910495810f008e9b" 5278 + checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 5308 5279 dependencies = [ 5309 5280 "rustls", 5310 5281 "tokio", ··· 5312 5283 5313 5284 [[package]] 5314 5285 name = "tokio-util" 5315 - version = "0.7.16" 5286 + version = "0.7.17" 5316 5287 source = "registry+https://github.com/rust-lang/crates.io-index" 5317 - checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" 5288 + checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" 5318 5289 dependencies = [ 5319 5290 "bytes", 5320 5291 "futures-core", ··· 5331 5302 dependencies = [ 5332 5303 "serde", 5333 5304 "serde_spanned 0.6.9", 5334 - "toml_datetime 0.6.11", 5305 + "toml_datetime 0.6.3", 5335 5306 "toml_edit 0.20.2", 5336 5307 ] 5337 5308 5338 5309 [[package]] 5339 5310 name = "toml" 5340 - version = "0.9.5" 5311 + version = "0.9.8" 5341 5312 source = "registry+https://github.com/rust-lang/crates.io-index" 5342 - checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" 5313 + checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" 5343 5314 dependencies = [ 5344 - "indexmap 2.10.0", 5345 - "serde", 5346 - "serde_spanned 1.0.0", 5347 - "toml_datetime 0.7.0", 5315 + "indexmap 2.12.0", 5316 + "serde_core", 5317 + "serde_spanned 1.0.3", 5318 + "toml_datetime 0.7.3", 5348 5319 "toml_parser", 5349 5320 "toml_writer", 5350 - "winnow 0.7.12", 5321 + "winnow 0.7.13", 5351 5322 ] 5352 5323 5353 5324 [[package]] 5354 5325 name = "toml_datetime" 5355 - version = "0.6.11" 5326 + version = "0.6.3" 5356 5327 source = "registry+https://github.com/rust-lang/crates.io-index" 5357 - checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" 5328 + checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 5358 5329 dependencies = [ 5359 5330 "serde", 5360 5331 ] 5361 5332 5362 5333 [[package]] 5363 5334 name = "toml_datetime" 5364 - version = "0.7.0" 5335 + version = "0.7.3" 5365 5336 source = "registry+https://github.com/rust-lang/crates.io-index" 5366 - checksum = "bade1c3e902f58d73d3f294cd7f20391c1cb2fbcb643b73566bc773971df91e3" 5337 + checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" 5367 5338 dependencies = [ 5368 - "serde", 5339 + "serde_core", 5369 5340 ] 5370 5341 5371 5342 [[package]] ··· 5374 5345 source = "registry+https://github.com/rust-lang/crates.io-index" 5375 5346 checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 5376 5347 dependencies = [ 5377 - "indexmap 2.10.0", 5378 - "toml_datetime 0.6.11", 5348 + "indexmap 2.12.0", 5349 + "toml_datetime 0.6.3", 5379 5350 "winnow 0.5.40", 5380 5351 ] 5381 5352 ··· 5385 5356 source = "registry+https://github.com/rust-lang/crates.io-index" 5386 5357 checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" 5387 5358 dependencies = [ 5388 - "indexmap 2.10.0", 5359 + "indexmap 2.12.0", 5389 5360 "serde", 5390 5361 "serde_spanned 0.6.9", 5391 - "toml_datetime 0.6.11", 5362 + "toml_datetime 0.6.3", 5392 5363 "winnow 0.5.40", 5393 5364 ] 5394 5365 5395 5366 [[package]] 5396 5367 name = "toml_edit" 5397 - version = "0.22.27" 5368 + version = "0.23.7" 5398 5369 source = "registry+https://github.com/rust-lang/crates.io-index" 5399 - checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" 5370 + checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" 5400 5371 dependencies = [ 5401 - "indexmap 2.10.0", 5402 - "toml_datetime 0.6.11", 5403 - "winnow 0.7.12", 5372 + "indexmap 2.12.0", 5373 + "toml_datetime 0.7.3", 5374 + "toml_parser", 5375 + "winnow 0.7.13", 5404 5376 ] 5405 5377 5406 5378 [[package]] 5407 5379 name = "toml_parser" 5408 - version = "1.0.2" 5380 + version = "1.0.4" 5409 5381 source = "registry+https://github.com/rust-lang/crates.io-index" 5410 - checksum = "b551886f449aa90d4fe2bdaa9f4a2577ad2dde302c61ecf262d80b116db95c10" 5382 + checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" 5411 5383 dependencies = [ 5412 - "winnow 0.7.12", 5384 + "winnow 0.7.13", 5413 5385 ] 5414 5386 5415 5387 [[package]] 5416 5388 name = "toml_writer" 5417 - version = "1.0.2" 5389 + version = "1.0.4" 5418 5390 source = "registry+https://github.com/rust-lang/crates.io-index" 5419 - checksum = "fcc842091f2def52017664b53082ecbbeb5c7731092bad69d2c63050401dfd64" 5391 + checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" 5420 5392 5421 5393 [[package]] 5422 5394 name = "tower" ··· 5439 5411 source = "registry+https://github.com/rust-lang/crates.io-index" 5440 5412 checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" 5441 5413 dependencies = [ 5442 - "bitflags 2.9.1", 5414 + "bitflags 2.10.0", 5443 5415 "bytes", 5444 5416 "futures-util", 5445 5417 "http", ··· 5482 5454 dependencies = [ 5483 5455 "proc-macro2", 5484 5456 "quote", 5485 - "syn 2.0.105", 5457 + "syn 2.0.109", 5486 5458 ] 5487 5459 5488 5460 [[package]] ··· 5496 5468 5497 5469 [[package]] 5498 5470 name = "tray-icon" 5499 - version = "0.21.1" 5471 + version = "0.21.2" 5500 5472 source = "registry+https://github.com/rust-lang/crates.io-index" 5501 - checksum = "a0d92153331e7d02ec09137538996a7786fe679c629c279e82a6be762b7e6fe2" 5473 + checksum = "e3d5572781bee8e3f994d7467084e1b1fd7a93ce66bd480f8156ba89dee55a2b" 5502 5474 dependencies = [ 5503 5475 "crossbeam-channel", 5504 - "dirs 6.0.0", 5476 + "dirs", 5505 5477 "libappindicator", 5506 5478 "muda", 5507 - "objc2 0.6.2", 5479 + "objc2 0.6.3", 5508 5480 "objc2-app-kit", 5509 5481 "objc2-core-foundation", 5510 5482 "objc2-core-graphics", 5511 - "objc2-foundation 0.3.1", 5483 + "objc2-foundation 0.3.2", 5512 5484 "once_cell", 5513 - "png", 5485 + "png 0.17.16", 5514 5486 "serde", 5515 - "thiserror 2.0.14", 5516 - "windows-sys 0.59.0", 5487 + "thiserror 2.0.17", 5488 + "windows-sys 0.60.2", 5517 5489 ] 5518 5490 5519 5491 [[package]] ··· 5530 5502 5531 5503 [[package]] 5532 5504 name = "typenum" 5533 - version = "1.18.0" 5505 + version = "1.19.0" 5534 5506 source = "registry+https://github.com/rust-lang/crates.io-index" 5535 - checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 5507 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 5536 5508 5537 5509 [[package]] 5538 5510 name = "uds_windows" ··· 5588 5560 5589 5561 [[package]] 5590 5562 name = "unicode-ident" 5591 - version = "1.0.18" 5563 + version = "1.0.22" 5592 5564 source = "registry+https://github.com/rust-lang/crates.io-index" 5593 - checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 5565 + checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 5594 5566 5595 5567 [[package]] 5596 5568 name = "unicode-segmentation" ··· 5606 5578 5607 5579 [[package]] 5608 5580 name = "url" 5609 - version = "2.5.4" 5581 + version = "2.5.7" 5610 5582 source = "registry+https://github.com/rust-lang/crates.io-index" 5611 - checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 5583 + checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" 5612 5584 dependencies = [ 5613 5585 "form_urlencoded", 5614 5586 "idna", ··· 5642 5614 5643 5615 [[package]] 5644 5616 name = "uuid" 5645 - version = "1.18.0" 5617 + version = "1.18.1" 5646 5618 source = "registry+https://github.com/rust-lang/crates.io-index" 5647 - checksum = "f33196643e165781c20a5ead5582283a7dacbb87855d867fbc2df3f81eddc1be" 5619 + checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" 5648 5620 dependencies = [ 5649 - "getrandom 0.3.3", 5621 + "getrandom 0.3.4", 5650 5622 "js-sys", 5651 5623 "serde", 5652 5624 "wasm-bindgen", ··· 5671 5643 5672 5644 [[package]] 5673 5645 name = "version-compare" 5674 - version = "0.2.0" 5646 + version = "0.2.1" 5675 5647 source = "registry+https://github.com/rust-lang/crates.io-index" 5676 - checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" 5648 + checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" 5677 5649 5678 5650 [[package]] 5679 5651 name = "version_check" ··· 5733 5705 checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 5734 5706 5735 5707 [[package]] 5736 - name = "wasi" 5737 - version = "0.14.2+wasi-0.2.4" 5708 + name = "wasip2" 5709 + version = "1.0.1+wasi-0.2.4" 5738 5710 source = "registry+https://github.com/rust-lang/crates.io-index" 5739 - checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 5711 + checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" 5740 5712 dependencies = [ 5741 - "wit-bindgen-rt", 5713 + "wit-bindgen", 5742 5714 ] 5743 5715 5744 5716 [[package]] 5745 5717 name = "wasm-bindgen" 5746 - version = "0.2.100" 5718 + version = "0.2.105" 5747 5719 source = "registry+https://github.com/rust-lang/crates.io-index" 5748 - checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 5720 + checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" 5749 5721 dependencies = [ 5750 5722 "cfg-if", 5751 5723 "once_cell", 5752 5724 "rustversion", 5753 5725 "wasm-bindgen-macro", 5754 - ] 5755 - 5756 - [[package]] 5757 - name = "wasm-bindgen-backend" 5758 - version = "0.2.100" 5759 - source = "registry+https://github.com/rust-lang/crates.io-index" 5760 - checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 5761 - dependencies = [ 5762 - "bumpalo", 5763 - "log", 5764 - "proc-macro2", 5765 - "quote", 5766 - "syn 2.0.105", 5767 5726 "wasm-bindgen-shared", 5768 5727 ] 5769 5728 5770 5729 [[package]] 5771 5730 name = "wasm-bindgen-futures" 5772 - version = "0.4.50" 5731 + version = "0.4.55" 5773 5732 source = "registry+https://github.com/rust-lang/crates.io-index" 5774 - checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 5733 + checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" 5775 5734 dependencies = [ 5776 5735 "cfg-if", 5777 5736 "js-sys", ··· 5782 5741 5783 5742 [[package]] 5784 5743 name = "wasm-bindgen-macro" 5785 - version = "0.2.100" 5744 + version = "0.2.105" 5786 5745 source = "registry+https://github.com/rust-lang/crates.io-index" 5787 - checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 5746 + checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" 5788 5747 dependencies = [ 5789 5748 "quote", 5790 5749 "wasm-bindgen-macro-support", ··· 5792 5751 5793 5752 [[package]] 5794 5753 name = "wasm-bindgen-macro-support" 5795 - version = "0.2.100" 5754 + version = "0.2.105" 5796 5755 source = "registry+https://github.com/rust-lang/crates.io-index" 5797 - checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 5756 + checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" 5798 5757 dependencies = [ 5758 + "bumpalo", 5799 5759 "proc-macro2", 5800 5760 "quote", 5801 - "syn 2.0.105", 5802 - "wasm-bindgen-backend", 5761 + "syn 2.0.109", 5803 5762 "wasm-bindgen-shared", 5804 5763 ] 5805 5764 5806 5765 [[package]] 5807 5766 name = "wasm-bindgen-shared" 5808 - version = "0.2.100" 5767 + version = "0.2.105" 5809 5768 source = "registry+https://github.com/rust-lang/crates.io-index" 5810 - checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 5769 + checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" 5811 5770 dependencies = [ 5812 5771 "unicode-ident", 5813 5772 ] ··· 5827 5786 5828 5787 [[package]] 5829 5788 name = "web-sys" 5830 - version = "0.3.77" 5789 + version = "0.3.82" 5831 5790 source = "registry+https://github.com/rust-lang/crates.io-index" 5832 - checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 5791 + checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" 5833 5792 dependencies = [ 5834 5793 "js-sys", 5835 5794 "wasm-bindgen", ··· 5891 5850 5892 5851 [[package]] 5893 5852 name = "webpki-roots" 5894 - version = "1.0.2" 5853 + version = "1.0.4" 5895 5854 source = "registry+https://github.com/rust-lang/crates.io-index" 5896 - checksum = "7e8983c3ab33d6fb807cfcdad2491c4ea8cbc8ed839181c7dfd9c67c83e261b2" 5855 + checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" 5897 5856 dependencies = [ 5898 5857 "rustls-pki-types", 5899 5858 ] ··· 5907 5866 "webview2-com-macros", 5908 5867 "webview2-com-sys", 5909 5868 "windows", 5910 - "windows-core", 5869 + "windows-core 0.61.2", 5911 5870 "windows-implement", 5912 5871 "windows-interface", 5913 5872 ] ··· 5920 5879 dependencies = [ 5921 5880 "proc-macro2", 5922 5881 "quote", 5923 - "syn 2.0.105", 5882 + "syn 2.0.109", 5924 5883 ] 5925 5884 5926 5885 [[package]] ··· 5929 5888 source = "registry+https://github.com/rust-lang/crates.io-index" 5930 5889 checksum = "36695906a1b53a3bf5c4289621efedac12b73eeb0b89e7e1a89b517302d5d75c" 5931 5890 dependencies = [ 5932 - "thiserror 2.0.14", 5891 + "thiserror 2.0.17", 5933 5892 "windows", 5934 - "windows-core", 5893 + "windows-core 0.61.2", 5935 5894 ] 5936 5895 5937 5896 [[package]] ··· 5958 5917 5959 5918 [[package]] 5960 5919 name = "winapi-util" 5961 - version = "0.1.9" 5920 + version = "0.1.11" 5962 5921 source = "registry+https://github.com/rust-lang/crates.io-index" 5963 - checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 5922 + checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" 5964 5923 dependencies = [ 5965 - "windows-sys 0.59.0", 5924 + "windows-sys 0.61.2", 5966 5925 ] 5967 5926 5968 5927 [[package]] ··· 5977 5936 source = "registry+https://github.com/rust-lang/crates.io-index" 5978 5937 checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" 5979 5938 dependencies = [ 5980 - "objc2 0.6.2", 5939 + "objc2 0.6.3", 5981 5940 "objc2-app-kit", 5982 5941 "objc2-core-foundation", 5983 - "objc2-foundation 0.3.1", 5942 + "objc2-foundation 0.3.2", 5984 5943 "raw-window-handle", 5985 5944 "windows-sys 0.59.0", 5986 5945 "windows-version", ··· 5993 5952 checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" 5994 5953 dependencies = [ 5995 5954 "windows-collections", 5996 - "windows-core", 5955 + "windows-core 0.61.2", 5997 5956 "windows-future", 5998 - "windows-link", 5957 + "windows-link 0.1.3", 5999 5958 "windows-numerics", 6000 5959 ] 6001 5960 ··· 6005 5964 source = "registry+https://github.com/rust-lang/crates.io-index" 6006 5965 checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" 6007 5966 dependencies = [ 6008 - "windows-core", 5967 + "windows-core 0.61.2", 6009 5968 ] 6010 5969 6011 5970 [[package]] ··· 6016 5975 dependencies = [ 6017 5976 "windows-implement", 6018 5977 "windows-interface", 6019 - "windows-link", 6020 - "windows-result", 6021 - "windows-strings", 5978 + "windows-link 0.1.3", 5979 + "windows-result 0.3.4", 5980 + "windows-strings 0.4.2", 5981 + ] 5982 + 5983 + [[package]] 5984 + name = "windows-core" 5985 + version = "0.62.2" 5986 + source = "registry+https://github.com/rust-lang/crates.io-index" 5987 + checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" 5988 + dependencies = [ 5989 + "windows-implement", 5990 + "windows-interface", 5991 + "windows-link 0.2.1", 5992 + "windows-result 0.4.1", 5993 + "windows-strings 0.5.1", 6022 5994 ] 6023 5995 6024 5996 [[package]] ··· 6027 5999 source = "registry+https://github.com/rust-lang/crates.io-index" 6028 6000 checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" 6029 6001 dependencies = [ 6030 - "windows-core", 6031 - "windows-link", 6002 + "windows-core 0.61.2", 6003 + "windows-link 0.1.3", 6032 6004 "windows-threading", 6033 6005 ] 6034 6006 6035 6007 [[package]] 6036 6008 name = "windows-implement" 6037 - version = "0.60.0" 6009 + version = "0.60.2" 6038 6010 source = "registry+https://github.com/rust-lang/crates.io-index" 6039 - checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" 6011 + checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" 6040 6012 dependencies = [ 6041 6013 "proc-macro2", 6042 6014 "quote", 6043 - "syn 2.0.105", 6015 + "syn 2.0.109", 6044 6016 ] 6045 6017 6046 6018 [[package]] 6047 6019 name = "windows-interface" 6048 - version = "0.59.1" 6020 + version = "0.59.3" 6049 6021 source = "registry+https://github.com/rust-lang/crates.io-index" 6050 - checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" 6022 + checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" 6051 6023 dependencies = [ 6052 6024 "proc-macro2", 6053 6025 "quote", 6054 - "syn 2.0.105", 6026 + "syn 2.0.109", 6055 6027 ] 6056 6028 6057 6029 [[package]] ··· 6059 6031 version = "0.1.3" 6060 6032 source = "registry+https://github.com/rust-lang/crates.io-index" 6061 6033 checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" 6034 + 6035 + [[package]] 6036 + name = "windows-link" 6037 + version = "0.2.1" 6038 + source = "registry+https://github.com/rust-lang/crates.io-index" 6039 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 6062 6040 6063 6041 [[package]] 6064 6042 name = "windows-numerics" ··· 6066 6044 source = "registry+https://github.com/rust-lang/crates.io-index" 6067 6045 checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" 6068 6046 dependencies = [ 6069 - "windows-core", 6070 - "windows-link", 6047 + "windows-core 0.61.2", 6048 + "windows-link 0.1.3", 6071 6049 ] 6072 6050 6073 6051 [[package]] ··· 6076 6054 source = "registry+https://github.com/rust-lang/crates.io-index" 6077 6055 checksum = "5b8a9ed28765efc97bbc954883f4e6796c33a06546ebafacbabee9696967499e" 6078 6056 dependencies = [ 6079 - "windows-link", 6080 - "windows-result", 6081 - "windows-strings", 6057 + "windows-link 0.1.3", 6058 + "windows-result 0.3.4", 6059 + "windows-strings 0.4.2", 6082 6060 ] 6083 6061 6084 6062 [[package]] ··· 6087 6065 source = "registry+https://github.com/rust-lang/crates.io-index" 6088 6066 checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" 6089 6067 dependencies = [ 6090 - "windows-link", 6068 + "windows-link 0.1.3", 6069 + ] 6070 + 6071 + [[package]] 6072 + name = "windows-result" 6073 + version = "0.4.1" 6074 + source = "registry+https://github.com/rust-lang/crates.io-index" 6075 + checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" 6076 + dependencies = [ 6077 + "windows-link 0.2.1", 6091 6078 ] 6092 6079 6093 6080 [[package]] ··· 6096 6083 source = "registry+https://github.com/rust-lang/crates.io-index" 6097 6084 checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" 6098 6085 dependencies = [ 6099 - "windows-link", 6086 + "windows-link 0.1.3", 6100 6087 ] 6101 6088 6102 6089 [[package]] 6103 - name = "windows-sys" 6104 - version = "0.45.0" 6090 + name = "windows-strings" 6091 + version = "0.5.1" 6105 6092 source = "registry+https://github.com/rust-lang/crates.io-index" 6106 - checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 6093 + checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" 6107 6094 dependencies = [ 6108 - "windows-targets 0.42.2", 6095 + "windows-link 0.2.1", 6109 6096 ] 6110 6097 6111 6098 [[package]] 6112 6099 name = "windows-sys" 6113 - version = "0.48.0" 6100 + version = "0.45.0" 6114 6101 source = "registry+https://github.com/rust-lang/crates.io-index" 6115 - checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 6102 + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 6116 6103 dependencies = [ 6117 - "windows-targets 0.48.5", 6104 + "windows-targets 0.42.2", 6118 6105 ] 6119 6106 6120 6107 [[package]] ··· 6141 6128 source = "registry+https://github.com/rust-lang/crates.io-index" 6142 6129 checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 6143 6130 dependencies = [ 6144 - "windows-targets 0.53.3", 6131 + "windows-targets 0.53.5", 6132 + ] 6133 + 6134 + [[package]] 6135 + name = "windows-sys" 6136 + version = "0.61.2" 6137 + source = "registry+https://github.com/rust-lang/crates.io-index" 6138 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 6139 + dependencies = [ 6140 + "windows-link 0.2.1", 6145 6141 ] 6146 6142 6147 6143 [[package]] ··· 6161 6157 6162 6158 [[package]] 6163 6159 name = "windows-targets" 6164 - version = "0.48.5" 6165 - source = "registry+https://github.com/rust-lang/crates.io-index" 6166 - checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 6167 - dependencies = [ 6168 - "windows_aarch64_gnullvm 0.48.5", 6169 - "windows_aarch64_msvc 0.48.5", 6170 - "windows_i686_gnu 0.48.5", 6171 - "windows_i686_msvc 0.48.5", 6172 - "windows_x86_64_gnu 0.48.5", 6173 - "windows_x86_64_gnullvm 0.48.5", 6174 - "windows_x86_64_msvc 0.48.5", 6175 - ] 6176 - 6177 - [[package]] 6178 - name = "windows-targets" 6179 6160 version = "0.52.6" 6180 6161 source = "registry+https://github.com/rust-lang/crates.io-index" 6181 6162 checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" ··· 6192 6173 6193 6174 [[package]] 6194 6175 name = "windows-targets" 6195 - version = "0.53.3" 6176 + version = "0.53.5" 6196 6177 source = "registry+https://github.com/rust-lang/crates.io-index" 6197 - checksum = "d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91" 6178 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 6198 6179 dependencies = [ 6199 - "windows-link", 6200 - "windows_aarch64_gnullvm 0.53.0", 6201 - "windows_aarch64_msvc 0.53.0", 6202 - "windows_i686_gnu 0.53.0", 6203 - "windows_i686_gnullvm 0.53.0", 6204 - "windows_i686_msvc 0.53.0", 6205 - "windows_x86_64_gnu 0.53.0", 6206 - "windows_x86_64_gnullvm 0.53.0", 6207 - "windows_x86_64_msvc 0.53.0", 6180 + "windows-link 0.2.1", 6181 + "windows_aarch64_gnullvm 0.53.1", 6182 + "windows_aarch64_msvc 0.53.1", 6183 + "windows_i686_gnu 0.53.1", 6184 + "windows_i686_gnullvm 0.53.1", 6185 + "windows_i686_msvc 0.53.1", 6186 + "windows_x86_64_gnu 0.53.1", 6187 + "windows_x86_64_gnullvm 0.53.1", 6188 + "windows_x86_64_msvc 0.53.1", 6208 6189 ] 6209 6190 6210 6191 [[package]] ··· 6213 6194 source = "registry+https://github.com/rust-lang/crates.io-index" 6214 6195 checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" 6215 6196 dependencies = [ 6216 - "windows-link", 6197 + "windows-link 0.1.3", 6217 6198 ] 6218 6199 6219 6200 [[package]] 6220 6201 name = "windows-version" 6221 - version = "0.1.4" 6202 + version = "0.1.7" 6222 6203 source = "registry+https://github.com/rust-lang/crates.io-index" 6223 - checksum = "e04a5c6627e310a23ad2358483286c7df260c964eb2d003d8efd6d0f4e79265c" 6204 + checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" 6224 6205 dependencies = [ 6225 - "windows-link", 6206 + "windows-link 0.2.1", 6226 6207 ] 6227 6208 6228 6209 [[package]] ··· 6230 6211 version = "0.42.2" 6231 6212 source = "registry+https://github.com/rust-lang/crates.io-index" 6232 6213 checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 6233 - 6234 - [[package]] 6235 - name = "windows_aarch64_gnullvm" 6236 - version = "0.48.5" 6237 - source = "registry+https://github.com/rust-lang/crates.io-index" 6238 - checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 6239 6214 6240 6215 [[package]] 6241 6216 name = "windows_aarch64_gnullvm" ··· 6245 6220 6246 6221 [[package]] 6247 6222 name = "windows_aarch64_gnullvm" 6248 - version = "0.53.0" 6223 + version = "0.53.1" 6249 6224 source = "registry+https://github.com/rust-lang/crates.io-index" 6250 - checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" 6225 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 6251 6226 6252 6227 [[package]] 6253 6228 name = "windows_aarch64_msvc" ··· 6257 6232 6258 6233 [[package]] 6259 6234 name = "windows_aarch64_msvc" 6260 - version = "0.48.5" 6261 - source = "registry+https://github.com/rust-lang/crates.io-index" 6262 - checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 6263 - 6264 - [[package]] 6265 - name = "windows_aarch64_msvc" 6266 6235 version = "0.52.6" 6267 6236 source = "registry+https://github.com/rust-lang/crates.io-index" 6268 6237 checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 6269 6238 6270 6239 [[package]] 6271 6240 name = "windows_aarch64_msvc" 6272 - version = "0.53.0" 6241 + version = "0.53.1" 6273 6242 source = "registry+https://github.com/rust-lang/crates.io-index" 6274 - checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" 6243 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 6275 6244 6276 6245 [[package]] 6277 6246 name = "windows_i686_gnu" ··· 6281 6250 6282 6251 [[package]] 6283 6252 name = "windows_i686_gnu" 6284 - version = "0.48.5" 6285 - source = "registry+https://github.com/rust-lang/crates.io-index" 6286 - checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 6287 - 6288 - [[package]] 6289 - name = "windows_i686_gnu" 6290 6253 version = "0.52.6" 6291 6254 source = "registry+https://github.com/rust-lang/crates.io-index" 6292 6255 checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 6293 6256 6294 6257 [[package]] 6295 6258 name = "windows_i686_gnu" 6296 - version = "0.53.0" 6259 + version = "0.53.1" 6297 6260 source = "registry+https://github.com/rust-lang/crates.io-index" 6298 - checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" 6261 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 6299 6262 6300 6263 [[package]] 6301 6264 name = "windows_i686_gnullvm" ··· 6305 6268 6306 6269 [[package]] 6307 6270 name = "windows_i686_gnullvm" 6308 - version = "0.53.0" 6271 + version = "0.53.1" 6309 6272 source = "registry+https://github.com/rust-lang/crates.io-index" 6310 - checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" 6273 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 6311 6274 6312 6275 [[package]] 6313 6276 name = "windows_i686_msvc" ··· 6317 6280 6318 6281 [[package]] 6319 6282 name = "windows_i686_msvc" 6320 - version = "0.48.5" 6321 - source = "registry+https://github.com/rust-lang/crates.io-index" 6322 - checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 6323 - 6324 - [[package]] 6325 - name = "windows_i686_msvc" 6326 6283 version = "0.52.6" 6327 6284 source = "registry+https://github.com/rust-lang/crates.io-index" 6328 6285 checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 6329 6286 6330 6287 [[package]] 6331 6288 name = "windows_i686_msvc" 6332 - version = "0.53.0" 6289 + version = "0.53.1" 6333 6290 source = "registry+https://github.com/rust-lang/crates.io-index" 6334 - checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" 6291 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 6335 6292 6336 6293 [[package]] 6337 6294 name = "windows_x86_64_gnu" ··· 6341 6298 6342 6299 [[package]] 6343 6300 name = "windows_x86_64_gnu" 6344 - version = "0.48.5" 6345 - source = "registry+https://github.com/rust-lang/crates.io-index" 6346 - checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 6347 - 6348 - [[package]] 6349 - name = "windows_x86_64_gnu" 6350 6301 version = "0.52.6" 6351 6302 source = "registry+https://github.com/rust-lang/crates.io-index" 6352 6303 checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 6353 6304 6354 6305 [[package]] 6355 6306 name = "windows_x86_64_gnu" 6356 - version = "0.53.0" 6307 + version = "0.53.1" 6357 6308 source = "registry+https://github.com/rust-lang/crates.io-index" 6358 - checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" 6309 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 6359 6310 6360 6311 [[package]] 6361 6312 name = "windows_x86_64_gnullvm" ··· 6365 6316 6366 6317 [[package]] 6367 6318 name = "windows_x86_64_gnullvm" 6368 - version = "0.48.5" 6369 - source = "registry+https://github.com/rust-lang/crates.io-index" 6370 - checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 6371 - 6372 - [[package]] 6373 - name = "windows_x86_64_gnullvm" 6374 6319 version = "0.52.6" 6375 6320 source = "registry+https://github.com/rust-lang/crates.io-index" 6376 6321 checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 6377 6322 6378 6323 [[package]] 6379 6324 name = "windows_x86_64_gnullvm" 6380 - version = "0.53.0" 6325 + version = "0.53.1" 6381 6326 source = "registry+https://github.com/rust-lang/crates.io-index" 6382 - checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" 6327 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 6383 6328 6384 6329 [[package]] 6385 6330 name = "windows_x86_64_msvc" ··· 6389 6334 6390 6335 [[package]] 6391 6336 name = "windows_x86_64_msvc" 6392 - version = "0.48.5" 6393 - source = "registry+https://github.com/rust-lang/crates.io-index" 6394 - checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 6395 - 6396 - [[package]] 6397 - name = "windows_x86_64_msvc" 6398 6337 version = "0.52.6" 6399 6338 source = "registry+https://github.com/rust-lang/crates.io-index" 6400 6339 checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 6401 6340 6402 6341 [[package]] 6403 6342 name = "windows_x86_64_msvc" 6404 - version = "0.53.0" 6343 + version = "0.53.1" 6405 6344 source = "registry+https://github.com/rust-lang/crates.io-index" 6406 - checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" 6345 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 6407 6346 6408 6347 [[package]] 6409 6348 name = "winnow" ··· 6416 6355 6417 6356 [[package]] 6418 6357 name = "winnow" 6419 - version = "0.7.12" 6358 + version = "0.7.13" 6420 6359 source = "registry+https://github.com/rust-lang/crates.io-index" 6421 - checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95" 6360 + checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" 6422 6361 dependencies = [ 6423 6362 "memchr", 6424 6363 ] ··· 6434 6373 ] 6435 6374 6436 6375 [[package]] 6437 - name = "wit-bindgen-rt" 6438 - version = "0.39.0" 6376 + name = "wit-bindgen" 6377 + version = "0.46.0" 6439 6378 source = "registry+https://github.com/rust-lang/crates.io-index" 6440 - checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 6441 - dependencies = [ 6442 - "bitflags 2.9.1", 6443 - ] 6379 + checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" 6444 6380 6445 6381 [[package]] 6446 6382 name = "writeable" 6447 - version = "0.6.1" 6383 + version = "0.6.2" 6448 6384 source = "registry+https://github.com/rust-lang/crates.io-index" 6449 - checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 6385 + checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" 6450 6386 6451 6387 [[package]] 6452 6388 name = "wry" 6453 - version = "0.52.1" 6389 + version = "0.53.5" 6454 6390 source = "registry+https://github.com/rust-lang/crates.io-index" 6455 - checksum = "12a714d9ba7075aae04a6e50229d6109e3d584774b99a6a8c60de1698ca111b9" 6391 + checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" 6456 6392 dependencies = [ 6457 6393 "base64 0.22.1", 6458 - "block2 0.6.1", 6394 + "block2 0.6.2", 6459 6395 "cookie", 6460 6396 "crossbeam-channel", 6397 + "dirs", 6461 6398 "dpi", 6462 6399 "dunce", 6463 6400 "gdkx11", ··· 6469 6406 "kuchikiki", 6470 6407 "libc", 6471 6408 "ndk", 6472 - "objc2 0.6.2", 6409 + "objc2 0.6.3", 6473 6410 "objc2-app-kit", 6474 6411 "objc2-core-foundation", 6475 - "objc2-foundation 0.3.1", 6412 + "objc2-foundation 0.3.2", 6476 6413 "objc2-ui-kit", 6477 6414 "objc2-web-kit", 6478 6415 "once_cell", ··· 6481 6418 "sha2", 6482 6419 "soup3", 6483 6420 "tao-macros", 6484 - "thiserror 2.0.14", 6421 + "thiserror 2.0.17", 6485 6422 "url", 6486 6423 "webkit2gtk", 6487 6424 "webkit2gtk-sys", 6488 6425 "webview2-com", 6489 6426 "windows", 6490 - "windows-core", 6427 + "windows-core 0.61.2", 6491 6428 "windows-version", 6492 6429 "x11-dl", 6493 6430 ] ··· 6515 6452 6516 6453 [[package]] 6517 6454 name = "x11rb" 6518 - version = "0.13.1" 6455 + version = "0.13.2" 6519 6456 source = "registry+https://github.com/rust-lang/crates.io-index" 6520 - checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" 6457 + checksum = "9993aa5be5a26815fe2c3eacfc1fde061fc1a1f094bf1ad2a18bf9c495dd7414" 6521 6458 dependencies = [ 6522 6459 "gethostname", 6523 - "rustix 0.38.44", 6460 + "rustix", 6524 6461 "x11rb-protocol", 6525 6462 ] 6526 6463 6527 6464 [[package]] 6528 6465 name = "x11rb-protocol" 6529 - version = "0.13.1" 6466 + version = "0.13.2" 6530 6467 source = "registry+https://github.com/rust-lang/crates.io-index" 6531 - checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" 6468 + checksum = "ea6fc2961e4ef194dcbfe56bb845534d0dc8098940c7e5c012a258bfec6701bd" 6532 6469 6533 6470 [[package]] 6534 6471 name = "yoke" 6535 - version = "0.8.0" 6472 + version = "0.8.1" 6536 6473 source = "registry+https://github.com/rust-lang/crates.io-index" 6537 - checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 6474 + checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" 6538 6475 dependencies = [ 6539 - "serde", 6540 6476 "stable_deref_trait", 6541 6477 "yoke-derive", 6542 6478 "zerofrom", ··· 6544 6480 6545 6481 [[package]] 6546 6482 name = "yoke-derive" 6547 - version = "0.8.0" 6483 + version = "0.8.1" 6548 6484 source = "registry+https://github.com/rust-lang/crates.io-index" 6549 - checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 6485 + checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" 6550 6486 dependencies = [ 6551 6487 "proc-macro2", 6552 6488 "quote", 6553 - "syn 2.0.105", 6489 + "syn 2.0.109", 6554 6490 "synstructure", 6555 6491 ] 6556 6492 6557 6493 [[package]] 6558 6494 name = "zbus" 6559 - version = "5.9.0" 6495 + version = "5.12.0" 6560 6496 source = "registry+https://github.com/rust-lang/crates.io-index" 6561 - checksum = "4bb4f9a464286d42851d18a605f7193b8febaf5b0919d71c6399b7b26e5b0aad" 6497 + checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" 6562 6498 dependencies = [ 6563 6499 "async-broadcast", 6564 6500 "async-executor", ··· 6580 6516 "serde_repr", 6581 6517 "tracing", 6582 6518 "uds_windows", 6583 - "windows-sys 0.59.0", 6584 - "winnow 0.7.12", 6519 + "uuid", 6520 + "windows-sys 0.61.2", 6521 + "winnow 0.7.13", 6585 6522 "zbus_macros", 6586 6523 "zbus_names", 6587 6524 "zvariant", ··· 6589 6526 6590 6527 [[package]] 6591 6528 name = "zbus_macros" 6592 - version = "5.9.0" 6529 + version = "5.12.0" 6593 6530 source = "registry+https://github.com/rust-lang/crates.io-index" 6594 - checksum = "ef9859f68ee0c4ee2e8cde84737c78e3f4c54f946f2a38645d0d4c7a95327659" 6531 + checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" 6595 6532 dependencies = [ 6596 - "proc-macro-crate 3.3.0", 6533 + "proc-macro-crate 3.4.0", 6597 6534 "proc-macro2", 6598 6535 "quote", 6599 - "syn 2.0.105", 6536 + "syn 2.0.109", 6600 6537 "zbus_names", 6601 6538 "zvariant", 6602 6539 "zvariant_utils", ··· 6610 6547 dependencies = [ 6611 6548 "serde", 6612 6549 "static_assertions", 6613 - "winnow 0.7.12", 6550 + "winnow 0.7.13", 6614 6551 "zvariant", 6615 6552 ] 6616 6553 6617 6554 [[package]] 6618 6555 name = "zerocopy" 6619 - version = "0.8.26" 6556 + version = "0.8.27" 6620 6557 source = "registry+https://github.com/rust-lang/crates.io-index" 6621 - checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" 6558 + checksum = "0894878a5fa3edfd6da3f88c4805f4c8558e2b996227a3d864f47fe11e38282c" 6622 6559 dependencies = [ 6623 6560 "zerocopy-derive", 6624 6561 ] 6625 6562 6626 6563 [[package]] 6627 6564 name = "zerocopy-derive" 6628 - version = "0.8.26" 6565 + version = "0.8.27" 6629 6566 source = "registry+https://github.com/rust-lang/crates.io-index" 6630 - checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" 6567 + checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" 6631 6568 dependencies = [ 6632 6569 "proc-macro2", 6633 6570 "quote", 6634 - "syn 2.0.105", 6571 + "syn 2.0.109", 6635 6572 ] 6636 6573 6637 6574 [[package]] ··· 6651 6588 dependencies = [ 6652 6589 "proc-macro2", 6653 6590 "quote", 6654 - "syn 2.0.105", 6591 + "syn 2.0.109", 6655 6592 "synstructure", 6656 6593 ] 6657 6594 6658 6595 [[package]] 6659 6596 name = "zeroize" 6660 - version = "1.8.1" 6597 + version = "1.8.2" 6661 6598 source = "registry+https://github.com/rust-lang/crates.io-index" 6662 - checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" 6599 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 6663 6600 6664 6601 [[package]] 6665 6602 name = "zerotrie" 6666 - version = "0.2.2" 6603 + version = "0.2.3" 6667 6604 source = "registry+https://github.com/rust-lang/crates.io-index" 6668 - checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 6605 + checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" 6669 6606 dependencies = [ 6670 6607 "displaydoc", 6671 6608 "yoke", ··· 6674 6611 6675 6612 [[package]] 6676 6613 name = "zerovec" 6677 - version = "0.11.4" 6614 + version = "0.11.5" 6678 6615 source = "registry+https://github.com/rust-lang/crates.io-index" 6679 - checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" 6616 + checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" 6680 6617 dependencies = [ 6681 6618 "yoke", 6682 6619 "zerofrom", ··· 6685 6622 6686 6623 [[package]] 6687 6624 name = "zerovec-derive" 6688 - version = "0.11.1" 6625 + version = "0.11.2" 6689 6626 source = "registry+https://github.com/rust-lang/crates.io-index" 6690 - checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 6627 + checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" 6691 6628 dependencies = [ 6692 6629 "proc-macro2", 6693 6630 "quote", 6694 - "syn 2.0.105", 6631 + "syn 2.0.109", 6695 6632 ] 6696 6633 6697 6634 [[package]] ··· 6711 6648 6712 6649 [[package]] 6713 6650 name = "zune-jpeg" 6714 - version = "0.4.20" 6651 + version = "0.4.21" 6715 6652 source = "registry+https://github.com/rust-lang/crates.io-index" 6716 - checksum = "fc1f7e205ce79eb2da3cd71c5f55f3589785cb7c79f6a03d1c8d1491bda5d089" 6653 + checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713" 6717 6654 dependencies = [ 6718 6655 "zune-core", 6719 6656 ] 6720 6657 6721 6658 [[package]] 6722 6659 name = "zvariant" 6723 - version = "5.6.0" 6660 + version = "5.8.0" 6724 6661 source = "registry+https://github.com/rust-lang/crates.io-index" 6725 - checksum = "d91b3680bb339216abd84714172b5138a4edac677e641ef17e1d8cb1b3ca6e6f" 6662 + checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" 6726 6663 dependencies = [ 6727 6664 "endi", 6728 6665 "enumflags2", 6729 6666 "serde", 6730 - "winnow 0.7.12", 6667 + "winnow 0.7.13", 6731 6668 "zvariant_derive", 6732 6669 "zvariant_utils", 6733 6670 ] 6734 6671 6735 6672 [[package]] 6736 6673 name = "zvariant_derive" 6737 - version = "5.6.0" 6674 + version = "5.8.0" 6738 6675 source = "registry+https://github.com/rust-lang/crates.io-index" 6739 - checksum = "3a8c68501be459a8dbfffbe5d792acdd23b4959940fc87785fb013b32edbc208" 6676 + checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" 6740 6677 dependencies = [ 6741 - "proc-macro-crate 3.3.0", 6678 + "proc-macro-crate 3.4.0", 6742 6679 "proc-macro2", 6743 6680 "quote", 6744 - "syn 2.0.105", 6681 + "syn 2.0.109", 6745 6682 "zvariant_utils", 6746 6683 ] 6747 6684 6748 6685 [[package]] 6749 6686 name = "zvariant_utils" 6750 - version = "3.2.0" 6687 + version = "3.2.1" 6751 6688 source = "registry+https://github.com/rust-lang/crates.io-index" 6752 - checksum = "e16edfee43e5d7b553b77872d99bc36afdda75c223ca7ad5e3fbecd82ca5fc34" 6689 + checksum = "c6949d142f89f6916deca2232cf26a8afacf2b9fdc35ce766105e104478be599" 6753 6690 dependencies = [ 6754 6691 "proc-macro2", 6755 6692 "quote", 6756 6693 "serde", 6757 - "static_assertions", 6758 - "syn 2.0.105", 6759 - "winnow 0.7.12", 6694 + "syn 2.0.109", 6695 + "winnow 0.7.13", 6760 6696 ]
+14 -15
src-tauri/Cargo.toml
··· 1 1 [package] 2 2 name = "VRChatPhotoManager" 3 - version = "0.2.6" 3 + version = "0.2.7-hot1" 4 4 description = "VRChat Photo Manager" 5 5 authors = ["_phaz"] 6 6 edition = "2021" ··· 11 11 tauri-build = { version = "2.0.0-rc", features = [] } 12 12 13 13 [dependencies] 14 - tauri = { version = "2.7.0", features = [ "tray-icon", "image-png", "devtools" ] } 14 + tauri = { version = "2.9", features = [ "tray-icon", "image-png", "devtools" ] } 15 15 serde = { version = "1.0", features = ["derive"] } 16 16 serde_json = "1.0" 17 - open = "5.1.2" 18 - tauri-plugin-deep-link = "2.0.1" 19 - dirs = "5.0.1" 20 - notify = "6.1.1" 21 - regex = "1.10.4" 17 + open = "5.3" 18 + dirs = "6.0" 19 + notify = "8.2" 20 + regex = "1.12" 22 21 reqwest = { version = "0.12", features = ["blocking"] } 23 - image = "0.25.2" 24 - fast_image_resize = { version = "4.2.1", features = [ "image" ] } 25 - arboard = "3.6.0" 26 - tauri-plugin-single-instance = { version = "2.3.2", features = ["deep-link"] } 27 - tauri-plugin-shell = "2.3.0" 28 - tauri-plugin-http = "2.5.1" 29 - tauri-plugin-process = "2.3.0" 22 + image = "0.25" 23 + fast_image_resize = { version = "5.3", features = [ "image" ] } 24 + arboard = "3.6" 25 + tauri-plugin-single-instance = { version = "2.3", features = ["deep-link"] } 26 + tauri-plugin-shell = "2.3" 27 + tauri-plugin-http = "2.5" 28 + tauri-plugin-process = "2.3" 30 29 [target.'cfg(windows)'.dependencies] 31 - mslnk = { version = "0.1.8" } 30 + mslnk = { version = "0.1" } 32 31 33 32 [features] 34 33 # this feature is used for production builds or when `devPath` points to the filesystem
+1 -1
src-tauri/gen/schemas/acl-manifests.json
··· 1 - {"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version","allow-identifier","allow-bundle-type"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"deny":[]}},"allow-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"deny":[]}},"allow-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"deny-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"deny-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"core:event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"core:image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-is-enabled","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-is-always-on-top","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"deep-link":{"default_permission":{"identifier":"default","description":"Allows reading the opened deep link via the get_current command","permissions":["allow-get-current"]},"permissions":{"allow-get-current":{"identifier":"allow-get-current","description":"Enables the get_current command without any pre-configured scope.","commands":{"allow":["get_current"],"deny":[]}},"allow-is-registered":{"identifier":"allow-is-registered","description":"Enables the is_registered command without any pre-configured scope.","commands":{"allow":["is_registered"],"deny":[]}},"allow-register":{"identifier":"allow-register","description":"Enables the register command without any pre-configured scope.","commands":{"allow":["register"],"deny":[]}},"allow-unregister":{"identifier":"allow-unregister","description":"Enables the unregister command without any pre-configured scope.","commands":{"allow":["unregister"],"deny":[]}},"deny-get-current":{"identifier":"deny-get-current","description":"Denies the get_current command without any pre-configured scope.","commands":{"allow":[],"deny":["get_current"]}},"deny-is-registered":{"identifier":"deny-is-registered","description":"Denies the is_registered command without any pre-configured scope.","commands":{"allow":[],"deny":["is_registered"]}},"deny-register":{"identifier":"deny-register","description":"Denies the register command without any pre-configured scope.","commands":{"allow":[],"deny":["register"]}},"deny-unregister":{"identifier":"deny-unregister","description":"Denies the unregister command without any pre-configured scope.","commands":{"allow":[],"deny":["unregister"]}}},"permission_sets":{},"global_scope_schema":null},"http":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-read-body","allow-fetch-send"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]}},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]}},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]}},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]}},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]}},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]}},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]}},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"},{"properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"}],"description":"HTTP scope entry.","title":"HttpScopeEntry"}},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n","permissions":["allow-exit","allow-restart"]},"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-spawn":{"identifier":"allow-spawn","description":"Enables the spawn command without any pre-configured scope.","commands":{"allow":["spawn"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-spawn":{"identifier":"deny-spawn","description":"Denies the spawn command without any pre-configured scope.","commands":{"allow":[],"deny":["spawn"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"}},"required":["cmd","name"],"type":"object"},{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["name","sidecar"],"type":"object"}],"definitions":{"ShellScopeEntryAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellScopeEntryAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellScopeEntryAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"Shell scope entry.","title":"ShellScopeEntry"}}} 1 + {"core":{"default_permission":{"identifier":"default","description":"Default core plugins set.","permissions":["core:path:default","core:event:default","core:window:default","core:webview:default","core:app:default","core:image:default","core:resources:default","core:menu:default","core:tray:default"]},"permissions":{},"permission_sets":{},"global_scope_schema":null},"core:app":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-version","allow-name","allow-tauri-version","allow-identifier","allow-bundle-type","allow-register-listener","allow-remove-listener"]},"permissions":{"allow-app-hide":{"identifier":"allow-app-hide","description":"Enables the app_hide command without any pre-configured scope.","commands":{"allow":["app_hide"],"deny":[]}},"allow-app-show":{"identifier":"allow-app-show","description":"Enables the app_show command without any pre-configured scope.","commands":{"allow":["app_show"],"deny":[]}},"allow-bundle-type":{"identifier":"allow-bundle-type","description":"Enables the bundle_type command without any pre-configured scope.","commands":{"allow":["bundle_type"],"deny":[]}},"allow-default-window-icon":{"identifier":"allow-default-window-icon","description":"Enables the default_window_icon command without any pre-configured scope.","commands":{"allow":["default_window_icon"],"deny":[]}},"allow-fetch-data-store-identifiers":{"identifier":"allow-fetch-data-store-identifiers","description":"Enables the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":["fetch_data_store_identifiers"],"deny":[]}},"allow-identifier":{"identifier":"allow-identifier","description":"Enables the identifier command without any pre-configured scope.","commands":{"allow":["identifier"],"deny":[]}},"allow-name":{"identifier":"allow-name","description":"Enables the name command without any pre-configured scope.","commands":{"allow":["name"],"deny":[]}},"allow-register-listener":{"identifier":"allow-register-listener","description":"Enables the register_listener command without any pre-configured scope.","commands":{"allow":["register_listener"],"deny":[]}},"allow-remove-data-store":{"identifier":"allow-remove-data-store","description":"Enables the remove_data_store command without any pre-configured scope.","commands":{"allow":["remove_data_store"],"deny":[]}},"allow-remove-listener":{"identifier":"allow-remove-listener","description":"Enables the remove_listener command without any pre-configured scope.","commands":{"allow":["remove_listener"],"deny":[]}},"allow-set-app-theme":{"identifier":"allow-set-app-theme","description":"Enables the set_app_theme command without any pre-configured scope.","commands":{"allow":["set_app_theme"],"deny":[]}},"allow-set-dock-visibility":{"identifier":"allow-set-dock-visibility","description":"Enables the set_dock_visibility command without any pre-configured scope.","commands":{"allow":["set_dock_visibility"],"deny":[]}},"allow-tauri-version":{"identifier":"allow-tauri-version","description":"Enables the tauri_version command without any pre-configured scope.","commands":{"allow":["tauri_version"],"deny":[]}},"allow-version":{"identifier":"allow-version","description":"Enables the version command without any pre-configured scope.","commands":{"allow":["version"],"deny":[]}},"deny-app-hide":{"identifier":"deny-app-hide","description":"Denies the app_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["app_hide"]}},"deny-app-show":{"identifier":"deny-app-show","description":"Denies the app_show command without any pre-configured scope.","commands":{"allow":[],"deny":["app_show"]}},"deny-bundle-type":{"identifier":"deny-bundle-type","description":"Denies the bundle_type command without any pre-configured scope.","commands":{"allow":[],"deny":["bundle_type"]}},"deny-default-window-icon":{"identifier":"deny-default-window-icon","description":"Denies the default_window_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["default_window_icon"]}},"deny-fetch-data-store-identifiers":{"identifier":"deny-fetch-data-store-identifiers","description":"Denies the fetch_data_store_identifiers command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_data_store_identifiers"]}},"deny-identifier":{"identifier":"deny-identifier","description":"Denies the identifier command without any pre-configured scope.","commands":{"allow":[],"deny":["identifier"]}},"deny-name":{"identifier":"deny-name","description":"Denies the name command without any pre-configured scope.","commands":{"allow":[],"deny":["name"]}},"deny-register-listener":{"identifier":"deny-register-listener","description":"Denies the register_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["register_listener"]}},"deny-remove-data-store":{"identifier":"deny-remove-data-store","description":"Denies the remove_data_store command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_data_store"]}},"deny-remove-listener":{"identifier":"deny-remove-listener","description":"Denies the remove_listener command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_listener"]}},"deny-set-app-theme":{"identifier":"deny-set-app-theme","description":"Denies the set_app_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_app_theme"]}},"deny-set-dock-visibility":{"identifier":"deny-set-dock-visibility","description":"Denies the set_dock_visibility command without any pre-configured scope.","commands":{"allow":[],"deny":["set_dock_visibility"]}},"deny-tauri-version":{"identifier":"deny-tauri-version","description":"Denies the tauri_version command without any pre-configured scope.","commands":{"allow":[],"deny":["tauri_version"]}},"deny-version":{"identifier":"deny-version","description":"Denies the version command without any pre-configured scope.","commands":{"allow":[],"deny":["version"]}}},"permission_sets":{},"global_scope_schema":null},"core:event":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-listen","allow-unlisten","allow-emit","allow-emit-to"]},"permissions":{"allow-emit":{"identifier":"allow-emit","description":"Enables the emit command without any pre-configured scope.","commands":{"allow":["emit"],"deny":[]}},"allow-emit-to":{"identifier":"allow-emit-to","description":"Enables the emit_to command without any pre-configured scope.","commands":{"allow":["emit_to"],"deny":[]}},"allow-listen":{"identifier":"allow-listen","description":"Enables the listen command without any pre-configured scope.","commands":{"allow":["listen"],"deny":[]}},"allow-unlisten":{"identifier":"allow-unlisten","description":"Enables the unlisten command without any pre-configured scope.","commands":{"allow":["unlisten"],"deny":[]}},"deny-emit":{"identifier":"deny-emit","description":"Denies the emit command without any pre-configured scope.","commands":{"allow":[],"deny":["emit"]}},"deny-emit-to":{"identifier":"deny-emit-to","description":"Denies the emit_to command without any pre-configured scope.","commands":{"allow":[],"deny":["emit_to"]}},"deny-listen":{"identifier":"deny-listen","description":"Denies the listen command without any pre-configured scope.","commands":{"allow":[],"deny":["listen"]}},"deny-unlisten":{"identifier":"deny-unlisten","description":"Denies the unlisten command without any pre-configured scope.","commands":{"allow":[],"deny":["unlisten"]}}},"permission_sets":{},"global_scope_schema":null},"core:image":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-from-bytes","allow-from-path","allow-rgba","allow-size"]},"permissions":{"allow-from-bytes":{"identifier":"allow-from-bytes","description":"Enables the from_bytes command without any pre-configured scope.","commands":{"allow":["from_bytes"],"deny":[]}},"allow-from-path":{"identifier":"allow-from-path","description":"Enables the from_path command without any pre-configured scope.","commands":{"allow":["from_path"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-rgba":{"identifier":"allow-rgba","description":"Enables the rgba command without any pre-configured scope.","commands":{"allow":["rgba"],"deny":[]}},"allow-size":{"identifier":"allow-size","description":"Enables the size command without any pre-configured scope.","commands":{"allow":["size"],"deny":[]}},"deny-from-bytes":{"identifier":"deny-from-bytes","description":"Denies the from_bytes command without any pre-configured scope.","commands":{"allow":[],"deny":["from_bytes"]}},"deny-from-path":{"identifier":"deny-from-path","description":"Denies the from_path command without any pre-configured scope.","commands":{"allow":[],"deny":["from_path"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-rgba":{"identifier":"deny-rgba","description":"Denies the rgba command without any pre-configured scope.","commands":{"allow":[],"deny":["rgba"]}},"deny-size":{"identifier":"deny-size","description":"Denies the size command without any pre-configured scope.","commands":{"allow":[],"deny":["size"]}}},"permission_sets":{},"global_scope_schema":null},"core:menu":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-append","allow-prepend","allow-insert","allow-remove","allow-remove-at","allow-items","allow-get","allow-popup","allow-create-default","allow-set-as-app-menu","allow-set-as-window-menu","allow-text","allow-set-text","allow-is-enabled","allow-set-enabled","allow-set-accelerator","allow-set-as-windows-menu-for-nsapp","allow-set-as-help-menu-for-nsapp","allow-is-checked","allow-set-checked","allow-set-icon"]},"permissions":{"allow-append":{"identifier":"allow-append","description":"Enables the append command without any pre-configured scope.","commands":{"allow":["append"],"deny":[]}},"allow-create-default":{"identifier":"allow-create-default","description":"Enables the create_default command without any pre-configured scope.","commands":{"allow":["create_default"],"deny":[]}},"allow-get":{"identifier":"allow-get","description":"Enables the get command without any pre-configured scope.","commands":{"allow":["get"],"deny":[]}},"allow-insert":{"identifier":"allow-insert","description":"Enables the insert command without any pre-configured scope.","commands":{"allow":["insert"],"deny":[]}},"allow-is-checked":{"identifier":"allow-is-checked","description":"Enables the is_checked command without any pre-configured scope.","commands":{"allow":["is_checked"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-items":{"identifier":"allow-items","description":"Enables the items command without any pre-configured scope.","commands":{"allow":["items"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-popup":{"identifier":"allow-popup","description":"Enables the popup command without any pre-configured scope.","commands":{"allow":["popup"],"deny":[]}},"allow-prepend":{"identifier":"allow-prepend","description":"Enables the prepend command without any pre-configured scope.","commands":{"allow":["prepend"],"deny":[]}},"allow-remove":{"identifier":"allow-remove","description":"Enables the remove command without any pre-configured scope.","commands":{"allow":["remove"],"deny":[]}},"allow-remove-at":{"identifier":"allow-remove-at","description":"Enables the remove_at command without any pre-configured scope.","commands":{"allow":["remove_at"],"deny":[]}},"allow-set-accelerator":{"identifier":"allow-set-accelerator","description":"Enables the set_accelerator command without any pre-configured scope.","commands":{"allow":["set_accelerator"],"deny":[]}},"allow-set-as-app-menu":{"identifier":"allow-set-as-app-menu","description":"Enables the set_as_app_menu command without any pre-configured scope.","commands":{"allow":["set_as_app_menu"],"deny":[]}},"allow-set-as-help-menu-for-nsapp":{"identifier":"allow-set-as-help-menu-for-nsapp","description":"Enables the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_help_menu_for_nsapp"],"deny":[]}},"allow-set-as-window-menu":{"identifier":"allow-set-as-window-menu","description":"Enables the set_as_window_menu command without any pre-configured scope.","commands":{"allow":["set_as_window_menu"],"deny":[]}},"allow-set-as-windows-menu-for-nsapp":{"identifier":"allow-set-as-windows-menu-for-nsapp","description":"Enables the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":["set_as_windows_menu_for_nsapp"],"deny":[]}},"allow-set-checked":{"identifier":"allow-set-checked","description":"Enables the set_checked command without any pre-configured scope.","commands":{"allow":["set_checked"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-text":{"identifier":"allow-set-text","description":"Enables the set_text command without any pre-configured scope.","commands":{"allow":["set_text"],"deny":[]}},"allow-text":{"identifier":"allow-text","description":"Enables the text command without any pre-configured scope.","commands":{"allow":["text"],"deny":[]}},"deny-append":{"identifier":"deny-append","description":"Denies the append command without any pre-configured scope.","commands":{"allow":[],"deny":["append"]}},"deny-create-default":{"identifier":"deny-create-default","description":"Denies the create_default command without any pre-configured scope.","commands":{"allow":[],"deny":["create_default"]}},"deny-get":{"identifier":"deny-get","description":"Denies the get command without any pre-configured scope.","commands":{"allow":[],"deny":["get"]}},"deny-insert":{"identifier":"deny-insert","description":"Denies the insert command without any pre-configured scope.","commands":{"allow":[],"deny":["insert"]}},"deny-is-checked":{"identifier":"deny-is-checked","description":"Denies the is_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["is_checked"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-items":{"identifier":"deny-items","description":"Denies the items command without any pre-configured scope.","commands":{"allow":[],"deny":["items"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-popup":{"identifier":"deny-popup","description":"Denies the popup command without any pre-configured scope.","commands":{"allow":[],"deny":["popup"]}},"deny-prepend":{"identifier":"deny-prepend","description":"Denies the prepend command without any pre-configured scope.","commands":{"allow":[],"deny":["prepend"]}},"deny-remove":{"identifier":"deny-remove","description":"Denies the remove command without any pre-configured scope.","commands":{"allow":[],"deny":["remove"]}},"deny-remove-at":{"identifier":"deny-remove-at","description":"Denies the remove_at command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_at"]}},"deny-set-accelerator":{"identifier":"deny-set-accelerator","description":"Denies the set_accelerator command without any pre-configured scope.","commands":{"allow":[],"deny":["set_accelerator"]}},"deny-set-as-app-menu":{"identifier":"deny-set-as-app-menu","description":"Denies the set_as_app_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_app_menu"]}},"deny-set-as-help-menu-for-nsapp":{"identifier":"deny-set-as-help-menu-for-nsapp","description":"Denies the set_as_help_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_help_menu_for_nsapp"]}},"deny-set-as-window-menu":{"identifier":"deny-set-as-window-menu","description":"Denies the set_as_window_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_window_menu"]}},"deny-set-as-windows-menu-for-nsapp":{"identifier":"deny-set-as-windows-menu-for-nsapp","description":"Denies the set_as_windows_menu_for_nsapp command without any pre-configured scope.","commands":{"allow":[],"deny":["set_as_windows_menu_for_nsapp"]}},"deny-set-checked":{"identifier":"deny-set-checked","description":"Denies the set_checked command without any pre-configured scope.","commands":{"allow":[],"deny":["set_checked"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-text":{"identifier":"deny-set-text","description":"Denies the set_text command without any pre-configured scope.","commands":{"allow":[],"deny":["set_text"]}},"deny-text":{"identifier":"deny-text","description":"Denies the text command without any pre-configured scope.","commands":{"allow":[],"deny":["text"]}}},"permission_sets":{},"global_scope_schema":null},"core:path":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-resolve-directory","allow-resolve","allow-normalize","allow-join","allow-dirname","allow-extname","allow-basename","allow-is-absolute"]},"permissions":{"allow-basename":{"identifier":"allow-basename","description":"Enables the basename command without any pre-configured scope.","commands":{"allow":["basename"],"deny":[]}},"allow-dirname":{"identifier":"allow-dirname","description":"Enables the dirname command without any pre-configured scope.","commands":{"allow":["dirname"],"deny":[]}},"allow-extname":{"identifier":"allow-extname","description":"Enables the extname command without any pre-configured scope.","commands":{"allow":["extname"],"deny":[]}},"allow-is-absolute":{"identifier":"allow-is-absolute","description":"Enables the is_absolute command without any pre-configured scope.","commands":{"allow":["is_absolute"],"deny":[]}},"allow-join":{"identifier":"allow-join","description":"Enables the join command without any pre-configured scope.","commands":{"allow":["join"],"deny":[]}},"allow-normalize":{"identifier":"allow-normalize","description":"Enables the normalize command without any pre-configured scope.","commands":{"allow":["normalize"],"deny":[]}},"allow-resolve":{"identifier":"allow-resolve","description":"Enables the resolve command without any pre-configured scope.","commands":{"allow":["resolve"],"deny":[]}},"allow-resolve-directory":{"identifier":"allow-resolve-directory","description":"Enables the resolve_directory command without any pre-configured scope.","commands":{"allow":["resolve_directory"],"deny":[]}},"deny-basename":{"identifier":"deny-basename","description":"Denies the basename command without any pre-configured scope.","commands":{"allow":[],"deny":["basename"]}},"deny-dirname":{"identifier":"deny-dirname","description":"Denies the dirname command without any pre-configured scope.","commands":{"allow":[],"deny":["dirname"]}},"deny-extname":{"identifier":"deny-extname","description":"Denies the extname command without any pre-configured scope.","commands":{"allow":[],"deny":["extname"]}},"deny-is-absolute":{"identifier":"deny-is-absolute","description":"Denies the is_absolute command without any pre-configured scope.","commands":{"allow":[],"deny":["is_absolute"]}},"deny-join":{"identifier":"deny-join","description":"Denies the join command without any pre-configured scope.","commands":{"allow":[],"deny":["join"]}},"deny-normalize":{"identifier":"deny-normalize","description":"Denies the normalize command without any pre-configured scope.","commands":{"allow":[],"deny":["normalize"]}},"deny-resolve":{"identifier":"deny-resolve","description":"Denies the resolve command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve"]}},"deny-resolve-directory":{"identifier":"deny-resolve-directory","description":"Denies the resolve_directory command without any pre-configured scope.","commands":{"allow":[],"deny":["resolve_directory"]}}},"permission_sets":{},"global_scope_schema":null},"core:resources":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-close"]},"permissions":{"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}}},"permission_sets":{},"global_scope_schema":null},"core:tray":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin, which enables all commands.","permissions":["allow-new","allow-get-by-id","allow-remove-by-id","allow-set-icon","allow-set-menu","allow-set-tooltip","allow-set-title","allow-set-visible","allow-set-temp-dir-path","allow-set-icon-as-template","allow-set-show-menu-on-left-click"]},"permissions":{"allow-get-by-id":{"identifier":"allow-get-by-id","description":"Enables the get_by_id command without any pre-configured scope.","commands":{"allow":["get_by_id"],"deny":[]}},"allow-new":{"identifier":"allow-new","description":"Enables the new command without any pre-configured scope.","commands":{"allow":["new"],"deny":[]}},"allow-remove-by-id":{"identifier":"allow-remove-by-id","description":"Enables the remove_by_id command without any pre-configured scope.","commands":{"allow":["remove_by_id"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-icon-as-template":{"identifier":"allow-set-icon-as-template","description":"Enables the set_icon_as_template command without any pre-configured scope.","commands":{"allow":["set_icon_as_template"],"deny":[]}},"allow-set-menu":{"identifier":"allow-set-menu","description":"Enables the set_menu command without any pre-configured scope.","commands":{"allow":["set_menu"],"deny":[]}},"allow-set-show-menu-on-left-click":{"identifier":"allow-set-show-menu-on-left-click","description":"Enables the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":["set_show_menu_on_left_click"],"deny":[]}},"allow-set-temp-dir-path":{"identifier":"allow-set-temp-dir-path","description":"Enables the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":["set_temp_dir_path"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-tooltip":{"identifier":"allow-set-tooltip","description":"Enables the set_tooltip command without any pre-configured scope.","commands":{"allow":["set_tooltip"],"deny":[]}},"allow-set-visible":{"identifier":"allow-set-visible","description":"Enables the set_visible command without any pre-configured scope.","commands":{"allow":["set_visible"],"deny":[]}},"deny-get-by-id":{"identifier":"deny-get-by-id","description":"Denies the get_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["get_by_id"]}},"deny-new":{"identifier":"deny-new","description":"Denies the new command without any pre-configured scope.","commands":{"allow":[],"deny":["new"]}},"deny-remove-by-id":{"identifier":"deny-remove-by-id","description":"Denies the remove_by_id command without any pre-configured scope.","commands":{"allow":[],"deny":["remove_by_id"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-icon-as-template":{"identifier":"deny-set-icon-as-template","description":"Denies the set_icon_as_template command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon_as_template"]}},"deny-set-menu":{"identifier":"deny-set-menu","description":"Denies the set_menu command without any pre-configured scope.","commands":{"allow":[],"deny":["set_menu"]}},"deny-set-show-menu-on-left-click":{"identifier":"deny-set-show-menu-on-left-click","description":"Denies the set_show_menu_on_left_click command without any pre-configured scope.","commands":{"allow":[],"deny":["set_show_menu_on_left_click"]}},"deny-set-temp-dir-path":{"identifier":"deny-set-temp-dir-path","description":"Denies the set_temp_dir_path command without any pre-configured scope.","commands":{"allow":[],"deny":["set_temp_dir_path"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-tooltip":{"identifier":"deny-set-tooltip","description":"Denies the set_tooltip command without any pre-configured scope.","commands":{"allow":[],"deny":["set_tooltip"]}},"deny-set-visible":{"identifier":"deny-set-visible","description":"Denies the set_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible"]}}},"permission_sets":{},"global_scope_schema":null},"core:webview":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-webviews","allow-webview-position","allow-webview-size","allow-internal-toggle-devtools"]},"permissions":{"allow-clear-all-browsing-data":{"identifier":"allow-clear-all-browsing-data","description":"Enables the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":["clear_all_browsing_data"],"deny":[]}},"allow-create-webview":{"identifier":"allow-create-webview","description":"Enables the create_webview command without any pre-configured scope.","commands":{"allow":["create_webview"],"deny":[]}},"allow-create-webview-window":{"identifier":"allow-create-webview-window","description":"Enables the create_webview_window command without any pre-configured scope.","commands":{"allow":["create_webview_window"],"deny":[]}},"allow-get-all-webviews":{"identifier":"allow-get-all-webviews","description":"Enables the get_all_webviews command without any pre-configured scope.","commands":{"allow":["get_all_webviews"],"deny":[]}},"allow-internal-toggle-devtools":{"identifier":"allow-internal-toggle-devtools","description":"Enables the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":["internal_toggle_devtools"],"deny":[]}},"allow-print":{"identifier":"allow-print","description":"Enables the print command without any pre-configured scope.","commands":{"allow":["print"],"deny":[]}},"allow-reparent":{"identifier":"allow-reparent","description":"Enables the reparent command without any pre-configured scope.","commands":{"allow":["reparent"],"deny":[]}},"allow-set-webview-auto-resize":{"identifier":"allow-set-webview-auto-resize","description":"Enables the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":["set_webview_auto_resize"],"deny":[]}},"allow-set-webview-background-color":{"identifier":"allow-set-webview-background-color","description":"Enables the set_webview_background_color command without any pre-configured scope.","commands":{"allow":["set_webview_background_color"],"deny":[]}},"allow-set-webview-focus":{"identifier":"allow-set-webview-focus","description":"Enables the set_webview_focus command without any pre-configured scope.","commands":{"allow":["set_webview_focus"],"deny":[]}},"allow-set-webview-position":{"identifier":"allow-set-webview-position","description":"Enables the set_webview_position command without any pre-configured scope.","commands":{"allow":["set_webview_position"],"deny":[]}},"allow-set-webview-size":{"identifier":"allow-set-webview-size","description":"Enables the set_webview_size command without any pre-configured scope.","commands":{"allow":["set_webview_size"],"deny":[]}},"allow-set-webview-zoom":{"identifier":"allow-set-webview-zoom","description":"Enables the set_webview_zoom command without any pre-configured scope.","commands":{"allow":["set_webview_zoom"],"deny":[]}},"allow-webview-close":{"identifier":"allow-webview-close","description":"Enables the webview_close command without any pre-configured scope.","commands":{"allow":["webview_close"],"deny":[]}},"allow-webview-hide":{"identifier":"allow-webview-hide","description":"Enables the webview_hide command without any pre-configured scope.","commands":{"allow":["webview_hide"],"deny":[]}},"allow-webview-position":{"identifier":"allow-webview-position","description":"Enables the webview_position command without any pre-configured scope.","commands":{"allow":["webview_position"],"deny":[]}},"allow-webview-show":{"identifier":"allow-webview-show","description":"Enables the webview_show command without any pre-configured scope.","commands":{"allow":["webview_show"],"deny":[]}},"allow-webview-size":{"identifier":"allow-webview-size","description":"Enables the webview_size command without any pre-configured scope.","commands":{"allow":["webview_size"],"deny":[]}},"deny-clear-all-browsing-data":{"identifier":"deny-clear-all-browsing-data","description":"Denies the clear_all_browsing_data command without any pre-configured scope.","commands":{"allow":[],"deny":["clear_all_browsing_data"]}},"deny-create-webview":{"identifier":"deny-create-webview","description":"Denies the create_webview command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview"]}},"deny-create-webview-window":{"identifier":"deny-create-webview-window","description":"Denies the create_webview_window command without any pre-configured scope.","commands":{"allow":[],"deny":["create_webview_window"]}},"deny-get-all-webviews":{"identifier":"deny-get-all-webviews","description":"Denies the get_all_webviews command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_webviews"]}},"deny-internal-toggle-devtools":{"identifier":"deny-internal-toggle-devtools","description":"Denies the internal_toggle_devtools command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_devtools"]}},"deny-print":{"identifier":"deny-print","description":"Denies the print command without any pre-configured scope.","commands":{"allow":[],"deny":["print"]}},"deny-reparent":{"identifier":"deny-reparent","description":"Denies the reparent command without any pre-configured scope.","commands":{"allow":[],"deny":["reparent"]}},"deny-set-webview-auto-resize":{"identifier":"deny-set-webview-auto-resize","description":"Denies the set_webview_auto_resize command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_auto_resize"]}},"deny-set-webview-background-color":{"identifier":"deny-set-webview-background-color","description":"Denies the set_webview_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_background_color"]}},"deny-set-webview-focus":{"identifier":"deny-set-webview-focus","description":"Denies the set_webview_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_focus"]}},"deny-set-webview-position":{"identifier":"deny-set-webview-position","description":"Denies the set_webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_position"]}},"deny-set-webview-size":{"identifier":"deny-set-webview-size","description":"Denies the set_webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_size"]}},"deny-set-webview-zoom":{"identifier":"deny-set-webview-zoom","description":"Denies the set_webview_zoom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_webview_zoom"]}},"deny-webview-close":{"identifier":"deny-webview-close","description":"Denies the webview_close command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_close"]}},"deny-webview-hide":{"identifier":"deny-webview-hide","description":"Denies the webview_hide command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_hide"]}},"deny-webview-position":{"identifier":"deny-webview-position","description":"Denies the webview_position command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_position"]}},"deny-webview-show":{"identifier":"deny-webview-show","description":"Denies the webview_show command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_show"]}},"deny-webview-size":{"identifier":"deny-webview-size","description":"Denies the webview_size command without any pre-configured scope.","commands":{"allow":[],"deny":["webview_size"]}}},"permission_sets":{},"global_scope_schema":null},"core:window":{"default_permission":{"identifier":"default","description":"Default permissions for the plugin.","permissions":["allow-get-all-windows","allow-scale-factor","allow-inner-position","allow-outer-position","allow-inner-size","allow-outer-size","allow-is-fullscreen","allow-is-minimized","allow-is-maximized","allow-is-focused","allow-is-decorated","allow-is-resizable","allow-is-maximizable","allow-is-minimizable","allow-is-closable","allow-is-visible","allow-is-enabled","allow-title","allow-current-monitor","allow-primary-monitor","allow-monitor-from-point","allow-available-monitors","allow-cursor-position","allow-theme","allow-is-always-on-top","allow-internal-toggle-maximize"]},"permissions":{"allow-available-monitors":{"identifier":"allow-available-monitors","description":"Enables the available_monitors command without any pre-configured scope.","commands":{"allow":["available_monitors"],"deny":[]}},"allow-center":{"identifier":"allow-center","description":"Enables the center command without any pre-configured scope.","commands":{"allow":["center"],"deny":[]}},"allow-close":{"identifier":"allow-close","description":"Enables the close command without any pre-configured scope.","commands":{"allow":["close"],"deny":[]}},"allow-create":{"identifier":"allow-create","description":"Enables the create command without any pre-configured scope.","commands":{"allow":["create"],"deny":[]}},"allow-current-monitor":{"identifier":"allow-current-monitor","description":"Enables the current_monitor command without any pre-configured scope.","commands":{"allow":["current_monitor"],"deny":[]}},"allow-cursor-position":{"identifier":"allow-cursor-position","description":"Enables the cursor_position command without any pre-configured scope.","commands":{"allow":["cursor_position"],"deny":[]}},"allow-destroy":{"identifier":"allow-destroy","description":"Enables the destroy command without any pre-configured scope.","commands":{"allow":["destroy"],"deny":[]}},"allow-get-all-windows":{"identifier":"allow-get-all-windows","description":"Enables the get_all_windows command without any pre-configured scope.","commands":{"allow":["get_all_windows"],"deny":[]}},"allow-hide":{"identifier":"allow-hide","description":"Enables the hide command without any pre-configured scope.","commands":{"allow":["hide"],"deny":[]}},"allow-inner-position":{"identifier":"allow-inner-position","description":"Enables the inner_position command without any pre-configured scope.","commands":{"allow":["inner_position"],"deny":[]}},"allow-inner-size":{"identifier":"allow-inner-size","description":"Enables the inner_size command without any pre-configured scope.","commands":{"allow":["inner_size"],"deny":[]}},"allow-internal-toggle-maximize":{"identifier":"allow-internal-toggle-maximize","description":"Enables the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":["internal_toggle_maximize"],"deny":[]}},"allow-is-always-on-top":{"identifier":"allow-is-always-on-top","description":"Enables the is_always_on_top command without any pre-configured scope.","commands":{"allow":["is_always_on_top"],"deny":[]}},"allow-is-closable":{"identifier":"allow-is-closable","description":"Enables the is_closable command without any pre-configured scope.","commands":{"allow":["is_closable"],"deny":[]}},"allow-is-decorated":{"identifier":"allow-is-decorated","description":"Enables the is_decorated command without any pre-configured scope.","commands":{"allow":["is_decorated"],"deny":[]}},"allow-is-enabled":{"identifier":"allow-is-enabled","description":"Enables the is_enabled command without any pre-configured scope.","commands":{"allow":["is_enabled"],"deny":[]}},"allow-is-focused":{"identifier":"allow-is-focused","description":"Enables the is_focused command without any pre-configured scope.","commands":{"allow":["is_focused"],"deny":[]}},"allow-is-fullscreen":{"identifier":"allow-is-fullscreen","description":"Enables the is_fullscreen command without any pre-configured scope.","commands":{"allow":["is_fullscreen"],"deny":[]}},"allow-is-maximizable":{"identifier":"allow-is-maximizable","description":"Enables the is_maximizable command without any pre-configured scope.","commands":{"allow":["is_maximizable"],"deny":[]}},"allow-is-maximized":{"identifier":"allow-is-maximized","description":"Enables the is_maximized command without any pre-configured scope.","commands":{"allow":["is_maximized"],"deny":[]}},"allow-is-minimizable":{"identifier":"allow-is-minimizable","description":"Enables the is_minimizable command without any pre-configured scope.","commands":{"allow":["is_minimizable"],"deny":[]}},"allow-is-minimized":{"identifier":"allow-is-minimized","description":"Enables the is_minimized command without any pre-configured scope.","commands":{"allow":["is_minimized"],"deny":[]}},"allow-is-resizable":{"identifier":"allow-is-resizable","description":"Enables the is_resizable command without any pre-configured scope.","commands":{"allow":["is_resizable"],"deny":[]}},"allow-is-visible":{"identifier":"allow-is-visible","description":"Enables the is_visible command without any pre-configured scope.","commands":{"allow":["is_visible"],"deny":[]}},"allow-maximize":{"identifier":"allow-maximize","description":"Enables the maximize command without any pre-configured scope.","commands":{"allow":["maximize"],"deny":[]}},"allow-minimize":{"identifier":"allow-minimize","description":"Enables the minimize command without any pre-configured scope.","commands":{"allow":["minimize"],"deny":[]}},"allow-monitor-from-point":{"identifier":"allow-monitor-from-point","description":"Enables the monitor_from_point command without any pre-configured scope.","commands":{"allow":["monitor_from_point"],"deny":[]}},"allow-outer-position":{"identifier":"allow-outer-position","description":"Enables the outer_position command without any pre-configured scope.","commands":{"allow":["outer_position"],"deny":[]}},"allow-outer-size":{"identifier":"allow-outer-size","description":"Enables the outer_size command without any pre-configured scope.","commands":{"allow":["outer_size"],"deny":[]}},"allow-primary-monitor":{"identifier":"allow-primary-monitor","description":"Enables the primary_monitor command without any pre-configured scope.","commands":{"allow":["primary_monitor"],"deny":[]}},"allow-request-user-attention":{"identifier":"allow-request-user-attention","description":"Enables the request_user_attention command without any pre-configured scope.","commands":{"allow":["request_user_attention"],"deny":[]}},"allow-scale-factor":{"identifier":"allow-scale-factor","description":"Enables the scale_factor command without any pre-configured scope.","commands":{"allow":["scale_factor"],"deny":[]}},"allow-set-always-on-bottom":{"identifier":"allow-set-always-on-bottom","description":"Enables the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":["set_always_on_bottom"],"deny":[]}},"allow-set-always-on-top":{"identifier":"allow-set-always-on-top","description":"Enables the set_always_on_top command without any pre-configured scope.","commands":{"allow":["set_always_on_top"],"deny":[]}},"allow-set-background-color":{"identifier":"allow-set-background-color","description":"Enables the set_background_color command without any pre-configured scope.","commands":{"allow":["set_background_color"],"deny":[]}},"allow-set-badge-count":{"identifier":"allow-set-badge-count","description":"Enables the set_badge_count command without any pre-configured scope.","commands":{"allow":["set_badge_count"],"deny":[]}},"allow-set-badge-label":{"identifier":"allow-set-badge-label","description":"Enables the set_badge_label command without any pre-configured scope.","commands":{"allow":["set_badge_label"],"deny":[]}},"allow-set-closable":{"identifier":"allow-set-closable","description":"Enables the set_closable command without any pre-configured scope.","commands":{"allow":["set_closable"],"deny":[]}},"allow-set-content-protected":{"identifier":"allow-set-content-protected","description":"Enables the set_content_protected command without any pre-configured scope.","commands":{"allow":["set_content_protected"],"deny":[]}},"allow-set-cursor-grab":{"identifier":"allow-set-cursor-grab","description":"Enables the set_cursor_grab command without any pre-configured scope.","commands":{"allow":["set_cursor_grab"],"deny":[]}},"allow-set-cursor-icon":{"identifier":"allow-set-cursor-icon","description":"Enables the set_cursor_icon command without any pre-configured scope.","commands":{"allow":["set_cursor_icon"],"deny":[]}},"allow-set-cursor-position":{"identifier":"allow-set-cursor-position","description":"Enables the set_cursor_position command without any pre-configured scope.","commands":{"allow":["set_cursor_position"],"deny":[]}},"allow-set-cursor-visible":{"identifier":"allow-set-cursor-visible","description":"Enables the set_cursor_visible command without any pre-configured scope.","commands":{"allow":["set_cursor_visible"],"deny":[]}},"allow-set-decorations":{"identifier":"allow-set-decorations","description":"Enables the set_decorations command without any pre-configured scope.","commands":{"allow":["set_decorations"],"deny":[]}},"allow-set-effects":{"identifier":"allow-set-effects","description":"Enables the set_effects command without any pre-configured scope.","commands":{"allow":["set_effects"],"deny":[]}},"allow-set-enabled":{"identifier":"allow-set-enabled","description":"Enables the set_enabled command without any pre-configured scope.","commands":{"allow":["set_enabled"],"deny":[]}},"allow-set-focus":{"identifier":"allow-set-focus","description":"Enables the set_focus command without any pre-configured scope.","commands":{"allow":["set_focus"],"deny":[]}},"allow-set-focusable":{"identifier":"allow-set-focusable","description":"Enables the set_focusable command without any pre-configured scope.","commands":{"allow":["set_focusable"],"deny":[]}},"allow-set-fullscreen":{"identifier":"allow-set-fullscreen","description":"Enables the set_fullscreen command without any pre-configured scope.","commands":{"allow":["set_fullscreen"],"deny":[]}},"allow-set-icon":{"identifier":"allow-set-icon","description":"Enables the set_icon command without any pre-configured scope.","commands":{"allow":["set_icon"],"deny":[]}},"allow-set-ignore-cursor-events":{"identifier":"allow-set-ignore-cursor-events","description":"Enables the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":["set_ignore_cursor_events"],"deny":[]}},"allow-set-max-size":{"identifier":"allow-set-max-size","description":"Enables the set_max_size command without any pre-configured scope.","commands":{"allow":["set_max_size"],"deny":[]}},"allow-set-maximizable":{"identifier":"allow-set-maximizable","description":"Enables the set_maximizable command without any pre-configured scope.","commands":{"allow":["set_maximizable"],"deny":[]}},"allow-set-min-size":{"identifier":"allow-set-min-size","description":"Enables the set_min_size command without any pre-configured scope.","commands":{"allow":["set_min_size"],"deny":[]}},"allow-set-minimizable":{"identifier":"allow-set-minimizable","description":"Enables the set_minimizable command without any pre-configured scope.","commands":{"allow":["set_minimizable"],"deny":[]}},"allow-set-overlay-icon":{"identifier":"allow-set-overlay-icon","description":"Enables the set_overlay_icon command without any pre-configured scope.","commands":{"allow":["set_overlay_icon"],"deny":[]}},"allow-set-position":{"identifier":"allow-set-position","description":"Enables the set_position command without any pre-configured scope.","commands":{"allow":["set_position"],"deny":[]}},"allow-set-progress-bar":{"identifier":"allow-set-progress-bar","description":"Enables the set_progress_bar command without any pre-configured scope.","commands":{"allow":["set_progress_bar"],"deny":[]}},"allow-set-resizable":{"identifier":"allow-set-resizable","description":"Enables the set_resizable command without any pre-configured scope.","commands":{"allow":["set_resizable"],"deny":[]}},"allow-set-shadow":{"identifier":"allow-set-shadow","description":"Enables the set_shadow command without any pre-configured scope.","commands":{"allow":["set_shadow"],"deny":[]}},"allow-set-simple-fullscreen":{"identifier":"allow-set-simple-fullscreen","description":"Enables the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":["set_simple_fullscreen"],"deny":[]}},"allow-set-size":{"identifier":"allow-set-size","description":"Enables the set_size command without any pre-configured scope.","commands":{"allow":["set_size"],"deny":[]}},"allow-set-size-constraints":{"identifier":"allow-set-size-constraints","description":"Enables the set_size_constraints command without any pre-configured scope.","commands":{"allow":["set_size_constraints"],"deny":[]}},"allow-set-skip-taskbar":{"identifier":"allow-set-skip-taskbar","description":"Enables the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":["set_skip_taskbar"],"deny":[]}},"allow-set-theme":{"identifier":"allow-set-theme","description":"Enables the set_theme command without any pre-configured scope.","commands":{"allow":["set_theme"],"deny":[]}},"allow-set-title":{"identifier":"allow-set-title","description":"Enables the set_title command without any pre-configured scope.","commands":{"allow":["set_title"],"deny":[]}},"allow-set-title-bar-style":{"identifier":"allow-set-title-bar-style","description":"Enables the set_title_bar_style command without any pre-configured scope.","commands":{"allow":["set_title_bar_style"],"deny":[]}},"allow-set-visible-on-all-workspaces":{"identifier":"allow-set-visible-on-all-workspaces","description":"Enables the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":["set_visible_on_all_workspaces"],"deny":[]}},"allow-show":{"identifier":"allow-show","description":"Enables the show command without any pre-configured scope.","commands":{"allow":["show"],"deny":[]}},"allow-start-dragging":{"identifier":"allow-start-dragging","description":"Enables the start_dragging command without any pre-configured scope.","commands":{"allow":["start_dragging"],"deny":[]}},"allow-start-resize-dragging":{"identifier":"allow-start-resize-dragging","description":"Enables the start_resize_dragging command without any pre-configured scope.","commands":{"allow":["start_resize_dragging"],"deny":[]}},"allow-theme":{"identifier":"allow-theme","description":"Enables the theme command without any pre-configured scope.","commands":{"allow":["theme"],"deny":[]}},"allow-title":{"identifier":"allow-title","description":"Enables the title command without any pre-configured scope.","commands":{"allow":["title"],"deny":[]}},"allow-toggle-maximize":{"identifier":"allow-toggle-maximize","description":"Enables the toggle_maximize command without any pre-configured scope.","commands":{"allow":["toggle_maximize"],"deny":[]}},"allow-unmaximize":{"identifier":"allow-unmaximize","description":"Enables the unmaximize command without any pre-configured scope.","commands":{"allow":["unmaximize"],"deny":[]}},"allow-unminimize":{"identifier":"allow-unminimize","description":"Enables the unminimize command without any pre-configured scope.","commands":{"allow":["unminimize"],"deny":[]}},"deny-available-monitors":{"identifier":"deny-available-monitors","description":"Denies the available_monitors command without any pre-configured scope.","commands":{"allow":[],"deny":["available_monitors"]}},"deny-center":{"identifier":"deny-center","description":"Denies the center command without any pre-configured scope.","commands":{"allow":[],"deny":["center"]}},"deny-close":{"identifier":"deny-close","description":"Denies the close command without any pre-configured scope.","commands":{"allow":[],"deny":["close"]}},"deny-create":{"identifier":"deny-create","description":"Denies the create command without any pre-configured scope.","commands":{"allow":[],"deny":["create"]}},"deny-current-monitor":{"identifier":"deny-current-monitor","description":"Denies the current_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["current_monitor"]}},"deny-cursor-position":{"identifier":"deny-cursor-position","description":"Denies the cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["cursor_position"]}},"deny-destroy":{"identifier":"deny-destroy","description":"Denies the destroy command without any pre-configured scope.","commands":{"allow":[],"deny":["destroy"]}},"deny-get-all-windows":{"identifier":"deny-get-all-windows","description":"Denies the get_all_windows command without any pre-configured scope.","commands":{"allow":[],"deny":["get_all_windows"]}},"deny-hide":{"identifier":"deny-hide","description":"Denies the hide command without any pre-configured scope.","commands":{"allow":[],"deny":["hide"]}},"deny-inner-position":{"identifier":"deny-inner-position","description":"Denies the inner_position command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_position"]}},"deny-inner-size":{"identifier":"deny-inner-size","description":"Denies the inner_size command without any pre-configured scope.","commands":{"allow":[],"deny":["inner_size"]}},"deny-internal-toggle-maximize":{"identifier":"deny-internal-toggle-maximize","description":"Denies the internal_toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["internal_toggle_maximize"]}},"deny-is-always-on-top":{"identifier":"deny-is-always-on-top","description":"Denies the is_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["is_always_on_top"]}},"deny-is-closable":{"identifier":"deny-is-closable","description":"Denies the is_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_closable"]}},"deny-is-decorated":{"identifier":"deny-is-decorated","description":"Denies the is_decorated command without any pre-configured scope.","commands":{"allow":[],"deny":["is_decorated"]}},"deny-is-enabled":{"identifier":"deny-is-enabled","description":"Denies the is_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["is_enabled"]}},"deny-is-focused":{"identifier":"deny-is-focused","description":"Denies the is_focused command without any pre-configured scope.","commands":{"allow":[],"deny":["is_focused"]}},"deny-is-fullscreen":{"identifier":"deny-is-fullscreen","description":"Denies the is_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["is_fullscreen"]}},"deny-is-maximizable":{"identifier":"deny-is-maximizable","description":"Denies the is_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximizable"]}},"deny-is-maximized":{"identifier":"deny-is-maximized","description":"Denies the is_maximized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_maximized"]}},"deny-is-minimizable":{"identifier":"deny-is-minimizable","description":"Denies the is_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimizable"]}},"deny-is-minimized":{"identifier":"deny-is-minimized","description":"Denies the is_minimized command without any pre-configured scope.","commands":{"allow":[],"deny":["is_minimized"]}},"deny-is-resizable":{"identifier":"deny-is-resizable","description":"Denies the is_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["is_resizable"]}},"deny-is-visible":{"identifier":"deny-is-visible","description":"Denies the is_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["is_visible"]}},"deny-maximize":{"identifier":"deny-maximize","description":"Denies the maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["maximize"]}},"deny-minimize":{"identifier":"deny-minimize","description":"Denies the minimize command without any pre-configured scope.","commands":{"allow":[],"deny":["minimize"]}},"deny-monitor-from-point":{"identifier":"deny-monitor-from-point","description":"Denies the monitor_from_point command without any pre-configured scope.","commands":{"allow":[],"deny":["monitor_from_point"]}},"deny-outer-position":{"identifier":"deny-outer-position","description":"Denies the outer_position command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_position"]}},"deny-outer-size":{"identifier":"deny-outer-size","description":"Denies the outer_size command without any pre-configured scope.","commands":{"allow":[],"deny":["outer_size"]}},"deny-primary-monitor":{"identifier":"deny-primary-monitor","description":"Denies the primary_monitor command without any pre-configured scope.","commands":{"allow":[],"deny":["primary_monitor"]}},"deny-request-user-attention":{"identifier":"deny-request-user-attention","description":"Denies the request_user_attention command without any pre-configured scope.","commands":{"allow":[],"deny":["request_user_attention"]}},"deny-scale-factor":{"identifier":"deny-scale-factor","description":"Denies the scale_factor command without any pre-configured scope.","commands":{"allow":[],"deny":["scale_factor"]}},"deny-set-always-on-bottom":{"identifier":"deny-set-always-on-bottom","description":"Denies the set_always_on_bottom command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_bottom"]}},"deny-set-always-on-top":{"identifier":"deny-set-always-on-top","description":"Denies the set_always_on_top command without any pre-configured scope.","commands":{"allow":[],"deny":["set_always_on_top"]}},"deny-set-background-color":{"identifier":"deny-set-background-color","description":"Denies the set_background_color command without any pre-configured scope.","commands":{"allow":[],"deny":["set_background_color"]}},"deny-set-badge-count":{"identifier":"deny-set-badge-count","description":"Denies the set_badge_count command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_count"]}},"deny-set-badge-label":{"identifier":"deny-set-badge-label","description":"Denies the set_badge_label command without any pre-configured scope.","commands":{"allow":[],"deny":["set_badge_label"]}},"deny-set-closable":{"identifier":"deny-set-closable","description":"Denies the set_closable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_closable"]}},"deny-set-content-protected":{"identifier":"deny-set-content-protected","description":"Denies the set_content_protected command without any pre-configured scope.","commands":{"allow":[],"deny":["set_content_protected"]}},"deny-set-cursor-grab":{"identifier":"deny-set-cursor-grab","description":"Denies the set_cursor_grab command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_grab"]}},"deny-set-cursor-icon":{"identifier":"deny-set-cursor-icon","description":"Denies the set_cursor_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_icon"]}},"deny-set-cursor-position":{"identifier":"deny-set-cursor-position","description":"Denies the set_cursor_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_position"]}},"deny-set-cursor-visible":{"identifier":"deny-set-cursor-visible","description":"Denies the set_cursor_visible command without any pre-configured scope.","commands":{"allow":[],"deny":["set_cursor_visible"]}},"deny-set-decorations":{"identifier":"deny-set-decorations","description":"Denies the set_decorations command without any pre-configured scope.","commands":{"allow":[],"deny":["set_decorations"]}},"deny-set-effects":{"identifier":"deny-set-effects","description":"Denies the set_effects command without any pre-configured scope.","commands":{"allow":[],"deny":["set_effects"]}},"deny-set-enabled":{"identifier":"deny-set-enabled","description":"Denies the set_enabled command without any pre-configured scope.","commands":{"allow":[],"deny":["set_enabled"]}},"deny-set-focus":{"identifier":"deny-set-focus","description":"Denies the set_focus command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focus"]}},"deny-set-focusable":{"identifier":"deny-set-focusable","description":"Denies the set_focusable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_focusable"]}},"deny-set-fullscreen":{"identifier":"deny-set-fullscreen","description":"Denies the set_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_fullscreen"]}},"deny-set-icon":{"identifier":"deny-set-icon","description":"Denies the set_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_icon"]}},"deny-set-ignore-cursor-events":{"identifier":"deny-set-ignore-cursor-events","description":"Denies the set_ignore_cursor_events command without any pre-configured scope.","commands":{"allow":[],"deny":["set_ignore_cursor_events"]}},"deny-set-max-size":{"identifier":"deny-set-max-size","description":"Denies the set_max_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_max_size"]}},"deny-set-maximizable":{"identifier":"deny-set-maximizable","description":"Denies the set_maximizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_maximizable"]}},"deny-set-min-size":{"identifier":"deny-set-min-size","description":"Denies the set_min_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_min_size"]}},"deny-set-minimizable":{"identifier":"deny-set-minimizable","description":"Denies the set_minimizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_minimizable"]}},"deny-set-overlay-icon":{"identifier":"deny-set-overlay-icon","description":"Denies the set_overlay_icon command without any pre-configured scope.","commands":{"allow":[],"deny":["set_overlay_icon"]}},"deny-set-position":{"identifier":"deny-set-position","description":"Denies the set_position command without any pre-configured scope.","commands":{"allow":[],"deny":["set_position"]}},"deny-set-progress-bar":{"identifier":"deny-set-progress-bar","description":"Denies the set_progress_bar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_progress_bar"]}},"deny-set-resizable":{"identifier":"deny-set-resizable","description":"Denies the set_resizable command without any pre-configured scope.","commands":{"allow":[],"deny":["set_resizable"]}},"deny-set-shadow":{"identifier":"deny-set-shadow","description":"Denies the set_shadow command without any pre-configured scope.","commands":{"allow":[],"deny":["set_shadow"]}},"deny-set-simple-fullscreen":{"identifier":"deny-set-simple-fullscreen","description":"Denies the set_simple_fullscreen command without any pre-configured scope.","commands":{"allow":[],"deny":["set_simple_fullscreen"]}},"deny-set-size":{"identifier":"deny-set-size","description":"Denies the set_size command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size"]}},"deny-set-size-constraints":{"identifier":"deny-set-size-constraints","description":"Denies the set_size_constraints command without any pre-configured scope.","commands":{"allow":[],"deny":["set_size_constraints"]}},"deny-set-skip-taskbar":{"identifier":"deny-set-skip-taskbar","description":"Denies the set_skip_taskbar command without any pre-configured scope.","commands":{"allow":[],"deny":["set_skip_taskbar"]}},"deny-set-theme":{"identifier":"deny-set-theme","description":"Denies the set_theme command without any pre-configured scope.","commands":{"allow":[],"deny":["set_theme"]}},"deny-set-title":{"identifier":"deny-set-title","description":"Denies the set_title command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title"]}},"deny-set-title-bar-style":{"identifier":"deny-set-title-bar-style","description":"Denies the set_title_bar_style command without any pre-configured scope.","commands":{"allow":[],"deny":["set_title_bar_style"]}},"deny-set-visible-on-all-workspaces":{"identifier":"deny-set-visible-on-all-workspaces","description":"Denies the set_visible_on_all_workspaces command without any pre-configured scope.","commands":{"allow":[],"deny":["set_visible_on_all_workspaces"]}},"deny-show":{"identifier":"deny-show","description":"Denies the show command without any pre-configured scope.","commands":{"allow":[],"deny":["show"]}},"deny-start-dragging":{"identifier":"deny-start-dragging","description":"Denies the start_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_dragging"]}},"deny-start-resize-dragging":{"identifier":"deny-start-resize-dragging","description":"Denies the start_resize_dragging command without any pre-configured scope.","commands":{"allow":[],"deny":["start_resize_dragging"]}},"deny-theme":{"identifier":"deny-theme","description":"Denies the theme command without any pre-configured scope.","commands":{"allow":[],"deny":["theme"]}},"deny-title":{"identifier":"deny-title","description":"Denies the title command without any pre-configured scope.","commands":{"allow":[],"deny":["title"]}},"deny-toggle-maximize":{"identifier":"deny-toggle-maximize","description":"Denies the toggle_maximize command without any pre-configured scope.","commands":{"allow":[],"deny":["toggle_maximize"]}},"deny-unmaximize":{"identifier":"deny-unmaximize","description":"Denies the unmaximize command without any pre-configured scope.","commands":{"allow":[],"deny":["unmaximize"]}},"deny-unminimize":{"identifier":"deny-unminimize","description":"Denies the unminimize command without any pre-configured scope.","commands":{"allow":[],"deny":["unminimize"]}}},"permission_sets":{},"global_scope_schema":null},"http":{"default_permission":{"identifier":"default","description":"This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n","permissions":["allow-fetch","allow-fetch-cancel","allow-fetch-read-body","allow-fetch-send"]},"permissions":{"allow-fetch":{"identifier":"allow-fetch","description":"Enables the fetch command without any pre-configured scope.","commands":{"allow":["fetch"],"deny":[]}},"allow-fetch-cancel":{"identifier":"allow-fetch-cancel","description":"Enables the fetch_cancel command without any pre-configured scope.","commands":{"allow":["fetch_cancel"],"deny":[]}},"allow-fetch-read-body":{"identifier":"allow-fetch-read-body","description":"Enables the fetch_read_body command without any pre-configured scope.","commands":{"allow":["fetch_read_body"],"deny":[]}},"allow-fetch-send":{"identifier":"allow-fetch-send","description":"Enables the fetch_send command without any pre-configured scope.","commands":{"allow":["fetch_send"],"deny":[]}},"deny-fetch":{"identifier":"deny-fetch","description":"Denies the fetch command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch"]}},"deny-fetch-cancel":{"identifier":"deny-fetch-cancel","description":"Denies the fetch_cancel command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_cancel"]}},"deny-fetch-read-body":{"identifier":"deny-fetch-read-body","description":"Denies the fetch_read_body command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_read_body"]}},"deny-fetch-send":{"identifier":"deny-fetch-send","description":"Denies the fetch_send command without any pre-configured scope.","commands":{"allow":[],"deny":["fetch_send"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"},{"properties":{"url":{"description":"A URL that can be accessed by the webview when using the HTTP APIs. Wildcards can be used following the URL pattern standard.\n\nSee [the URL Pattern spec](https://urlpattern.spec.whatwg.org/) for more information.\n\nExamples:\n\n- \"https://*\" : allows all HTTPS origin on port 443\n\n- \"https://*:*\" : allows all HTTPS origin on any port\n\n- \"https://*.github.com/tauri-apps/tauri\": allows any subdomain of \"github.com\" with the \"tauri-apps/api\" path\n\n- \"https://myapi.service.com/users/*\": allows access to any URLs that begins with \"https://myapi.service.com/users/\"","type":"string"}},"required":["url"],"type":"object"}],"description":"HTTP scope entry.","title":"HttpScopeEntry"}},"process":{"default_permission":{"identifier":"default","description":"This permission set configures which\nprocess features are by default exposed.\n\n#### Granted Permissions\n\nThis enables to quit via `allow-exit` and restart via `allow-restart`\nthe application.\n","permissions":["allow-exit","allow-restart"]},"permissions":{"allow-exit":{"identifier":"allow-exit","description":"Enables the exit command without any pre-configured scope.","commands":{"allow":["exit"],"deny":[]}},"allow-restart":{"identifier":"allow-restart","description":"Enables the restart command without any pre-configured scope.","commands":{"allow":["restart"],"deny":[]}},"deny-exit":{"identifier":"deny-exit","description":"Denies the exit command without any pre-configured scope.","commands":{"allow":[],"deny":["exit"]}},"deny-restart":{"identifier":"deny-restart","description":"Denies the restart command without any pre-configured scope.","commands":{"allow":[],"deny":["restart"]}}},"permission_sets":{},"global_scope_schema":null},"shell":{"default_permission":{"identifier":"default","description":"This permission set configures which\nshell functionality is exposed by default.\n\n#### Granted Permissions\n\nIt allows to use the `open` functionality with a reasonable\nscope pre-configured. It will allow opening `http(s)://`,\n`tel:` and `mailto:` links.\n","permissions":["allow-open"]},"permissions":{"allow-execute":{"identifier":"allow-execute","description":"Enables the execute command without any pre-configured scope.","commands":{"allow":["execute"],"deny":[]}},"allow-kill":{"identifier":"allow-kill","description":"Enables the kill command without any pre-configured scope.","commands":{"allow":["kill"],"deny":[]}},"allow-open":{"identifier":"allow-open","description":"Enables the open command without any pre-configured scope.","commands":{"allow":["open"],"deny":[]}},"allow-spawn":{"identifier":"allow-spawn","description":"Enables the spawn command without any pre-configured scope.","commands":{"allow":["spawn"],"deny":[]}},"allow-stdin-write":{"identifier":"allow-stdin-write","description":"Enables the stdin_write command without any pre-configured scope.","commands":{"allow":["stdin_write"],"deny":[]}},"deny-execute":{"identifier":"deny-execute","description":"Denies the execute command without any pre-configured scope.","commands":{"allow":[],"deny":["execute"]}},"deny-kill":{"identifier":"deny-kill","description":"Denies the kill command without any pre-configured scope.","commands":{"allow":[],"deny":["kill"]}},"deny-open":{"identifier":"deny-open","description":"Denies the open command without any pre-configured scope.","commands":{"allow":[],"deny":["open"]}},"deny-spawn":{"identifier":"deny-spawn","description":"Denies the spawn command without any pre-configured scope.","commands":{"allow":[],"deny":["spawn"]}},"deny-stdin-write":{"identifier":"deny-stdin-write","description":"Denies the stdin_write command without any pre-configured scope.","commands":{"allow":[],"deny":["stdin_write"]}}},"permission_sets":{},"global_scope_schema":{"$schema":"http://json-schema.org/draft-07/schema#","anyOf":[{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"cmd":{"description":"The command name. It can start with a variable that resolves to a system base directory. The variables are: `$AUDIO`, `$CACHE`, `$CONFIG`, `$DATA`, `$LOCALDATA`, `$DESKTOP`, `$DOCUMENT`, `$DOWNLOAD`, `$EXE`, `$FONT`, `$HOME`, `$PICTURE`, `$PUBLIC`, `$RUNTIME`, `$TEMPLATE`, `$VIDEO`, `$RESOURCE`, `$LOG`, `$TEMP`, `$APPCONFIG`, `$APPDATA`, `$APPLOCALDATA`, `$APPCACHE`, `$APPLOG`.","type":"string"},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"}},"required":["cmd","name"],"type":"object"},{"additionalProperties":false,"properties":{"args":{"allOf":[{"$ref":"#/definitions/ShellScopeEntryAllowedArgs"}],"description":"The allowed arguments for the command execution."},"name":{"description":"The name for this allowed shell command configuration.\n\nThis name will be used inside of the webview API to call this command along with any specified arguments.","type":"string"},"sidecar":{"description":"If this command is a sidecar command.","type":"boolean"}},"required":["name","sidecar"],"type":"object"}],"definitions":{"ShellScopeEntryAllowedArg":{"anyOf":[{"description":"A non-configurable argument that is passed to the command in the order it was specified.","type":"string"},{"additionalProperties":false,"description":"A variable that is set while calling the command from the webview API.","properties":{"raw":{"default":false,"description":"Marks the validator as a raw regex, meaning the plugin should not make any modification at runtime.\n\nThis means the regex will not match on the entire string by default, which might be exploited if your regex allow unexpected input to be considered valid. When using this option, make sure your regex is correct.","type":"boolean"},"validator":{"description":"[regex] validator to require passed values to conform to an expected input.\n\nThis will require the argument value passed to this variable to match the `validator` regex before it will be executed.\n\nThe regex string is by default surrounded by `^...$` to match the full string. For example the `https?://\\w+` regex would be registered as `^https?://\\w+$`.\n\n[regex]: <https://docs.rs/regex/latest/regex/#syntax>","type":"string"}},"required":["validator"],"type":"object"}],"description":"A command argument allowed to be executed by the webview API."},"ShellScopeEntryAllowedArgs":{"anyOf":[{"description":"Use a simple boolean to allow all or disable all arguments to this command configuration.","type":"boolean"},{"description":"A specific set of [`ShellScopeEntryAllowedArg`] that are valid to call for the command configuration.","items":{"$ref":"#/definitions/ShellScopeEntryAllowedArg"},"type":"array"}],"description":"A set of command arguments allowed to be executed by the webview API.\n\nA value of `true` will allow any arguments to be passed to the command. `false` will disable all arguments. A list of [`ShellScopeEntryAllowedArg`] will set those arguments as the only valid arguments to be passed to the attached command configuration."}},"description":"Shell scope entry.","title":"ShellScopeEntry"}}}
+50 -56
src-tauri/gen/schemas/desktop-schema.json
··· 519 519 "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" 520 520 }, 521 521 { 522 - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`", 522 + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", 523 523 "type": "string", 524 524 "const": "core:app:default", 525 - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`" 525 + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" 526 526 }, 527 527 { 528 528 "description": "Enables the app_hide command without any pre-configured scope.", ··· 567 567 "markdownDescription": "Enables the name command without any pre-configured scope." 568 568 }, 569 569 { 570 + "description": "Enables the register_listener command without any pre-configured scope.", 571 + "type": "string", 572 + "const": "core:app:allow-register-listener", 573 + "markdownDescription": "Enables the register_listener command without any pre-configured scope." 574 + }, 575 + { 570 576 "description": "Enables the remove_data_store command without any pre-configured scope.", 571 577 "type": "string", 572 578 "const": "core:app:allow-remove-data-store", 573 579 "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." 574 580 }, 575 581 { 582 + "description": "Enables the remove_listener command without any pre-configured scope.", 583 + "type": "string", 584 + "const": "core:app:allow-remove-listener", 585 + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." 586 + }, 587 + { 576 588 "description": "Enables the set_app_theme command without any pre-configured scope.", 577 589 "type": "string", 578 590 "const": "core:app:allow-set-app-theme", ··· 639 651 "markdownDescription": "Denies the name command without any pre-configured scope." 640 652 }, 641 653 { 654 + "description": "Denies the register_listener command without any pre-configured scope.", 655 + "type": "string", 656 + "const": "core:app:deny-register-listener", 657 + "markdownDescription": "Denies the register_listener command without any pre-configured scope." 658 + }, 659 + { 642 660 "description": "Denies the remove_data_store command without any pre-configured scope.", 643 661 "type": "string", 644 662 "const": "core:app:deny-remove-data-store", 645 663 "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." 664 + }, 665 + { 666 + "description": "Denies the remove_listener command without any pre-configured scope.", 667 + "type": "string", 668 + "const": "core:app:deny-remove-listener", 669 + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." 646 670 }, 647 671 { 648 672 "description": "Denies the set_app_theme command without any pre-configured scope.", ··· 1827 1851 "markdownDescription": "Enables the set_focus command without any pre-configured scope." 1828 1852 }, 1829 1853 { 1854 + "description": "Enables the set_focusable command without any pre-configured scope.", 1855 + "type": "string", 1856 + "const": "core:window:allow-set-focusable", 1857 + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." 1858 + }, 1859 + { 1830 1860 "description": "Enables the set_fullscreen command without any pre-configured scope.", 1831 1861 "type": "string", 1832 1862 "const": "core:window:allow-set-fullscreen", ··· 1897 1927 "type": "string", 1898 1928 "const": "core:window:allow-set-shadow", 1899 1929 "markdownDescription": "Enables the set_shadow command without any pre-configured scope." 1930 + }, 1931 + { 1932 + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", 1933 + "type": "string", 1934 + "const": "core:window:allow-set-simple-fullscreen", 1935 + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." 1900 1936 }, 1901 1937 { 1902 1938 "description": "Enables the set_size command without any pre-configured scope.", ··· 2271 2307 "markdownDescription": "Denies the set_focus command without any pre-configured scope." 2272 2308 }, 2273 2309 { 2310 + "description": "Denies the set_focusable command without any pre-configured scope.", 2311 + "type": "string", 2312 + "const": "core:window:deny-set-focusable", 2313 + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." 2314 + }, 2315 + { 2274 2316 "description": "Denies the set_fullscreen command without any pre-configured scope.", 2275 2317 "type": "string", 2276 2318 "const": "core:window:deny-set-fullscreen", ··· 2341 2383 "type": "string", 2342 2384 "const": "core:window:deny-set-shadow", 2343 2385 "markdownDescription": "Denies the set_shadow command without any pre-configured scope." 2386 + }, 2387 + { 2388 + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", 2389 + "type": "string", 2390 + "const": "core:window:deny-set-simple-fullscreen", 2391 + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." 2344 2392 }, 2345 2393 { 2346 2394 "description": "Denies the set_size command without any pre-configured scope.", ··· 2431 2479 "type": "string", 2432 2480 "const": "core:window:deny-unminimize", 2433 2481 "markdownDescription": "Denies the unminimize command without any pre-configured scope." 2434 - }, 2435 - { 2436 - "description": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`", 2437 - "type": "string", 2438 - "const": "deep-link:default", 2439 - "markdownDescription": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`" 2440 - }, 2441 - { 2442 - "description": "Enables the get_current command without any pre-configured scope.", 2443 - "type": "string", 2444 - "const": "deep-link:allow-get-current", 2445 - "markdownDescription": "Enables the get_current command without any pre-configured scope." 2446 - }, 2447 - { 2448 - "description": "Enables the is_registered command without any pre-configured scope.", 2449 - "type": "string", 2450 - "const": "deep-link:allow-is-registered", 2451 - "markdownDescription": "Enables the is_registered command without any pre-configured scope." 2452 - }, 2453 - { 2454 - "description": "Enables the register command without any pre-configured scope.", 2455 - "type": "string", 2456 - "const": "deep-link:allow-register", 2457 - "markdownDescription": "Enables the register command without any pre-configured scope." 2458 - }, 2459 - { 2460 - "description": "Enables the unregister command without any pre-configured scope.", 2461 - "type": "string", 2462 - "const": "deep-link:allow-unregister", 2463 - "markdownDescription": "Enables the unregister command without any pre-configured scope." 2464 - }, 2465 - { 2466 - "description": "Denies the get_current command without any pre-configured scope.", 2467 - "type": "string", 2468 - "const": "deep-link:deny-get-current", 2469 - "markdownDescription": "Denies the get_current command without any pre-configured scope." 2470 - }, 2471 - { 2472 - "description": "Denies the is_registered command without any pre-configured scope.", 2473 - "type": "string", 2474 - "const": "deep-link:deny-is-registered", 2475 - "markdownDescription": "Denies the is_registered command without any pre-configured scope." 2476 - }, 2477 - { 2478 - "description": "Denies the register command without any pre-configured scope.", 2479 - "type": "string", 2480 - "const": "deep-link:deny-register", 2481 - "markdownDescription": "Denies the register command without any pre-configured scope." 2482 - }, 2483 - { 2484 - "description": "Denies the unregister command without any pre-configured scope.", 2485 - "type": "string", 2486 - "const": "deep-link:deny-unregister", 2487 - "markdownDescription": "Denies the unregister command without any pre-configured scope." 2488 2482 }, 2489 2483 { 2490 2484 "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-read-body`\n- `allow-fetch-send`",
+50 -56
src-tauri/gen/schemas/linux-schema.json
··· 519 519 "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" 520 520 }, 521 521 { 522 - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`", 522 + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", 523 523 "type": "string", 524 524 "const": "core:app:default", 525 - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`" 525 + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" 526 526 }, 527 527 { 528 528 "description": "Enables the app_hide command without any pre-configured scope.", ··· 567 567 "markdownDescription": "Enables the name command without any pre-configured scope." 568 568 }, 569 569 { 570 + "description": "Enables the register_listener command without any pre-configured scope.", 571 + "type": "string", 572 + "const": "core:app:allow-register-listener", 573 + "markdownDescription": "Enables the register_listener command without any pre-configured scope." 574 + }, 575 + { 570 576 "description": "Enables the remove_data_store command without any pre-configured scope.", 571 577 "type": "string", 572 578 "const": "core:app:allow-remove-data-store", 573 579 "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." 574 580 }, 575 581 { 582 + "description": "Enables the remove_listener command without any pre-configured scope.", 583 + "type": "string", 584 + "const": "core:app:allow-remove-listener", 585 + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." 586 + }, 587 + { 576 588 "description": "Enables the set_app_theme command without any pre-configured scope.", 577 589 "type": "string", 578 590 "const": "core:app:allow-set-app-theme", ··· 639 651 "markdownDescription": "Denies the name command without any pre-configured scope." 640 652 }, 641 653 { 654 + "description": "Denies the register_listener command without any pre-configured scope.", 655 + "type": "string", 656 + "const": "core:app:deny-register-listener", 657 + "markdownDescription": "Denies the register_listener command without any pre-configured scope." 658 + }, 659 + { 642 660 "description": "Denies the remove_data_store command without any pre-configured scope.", 643 661 "type": "string", 644 662 "const": "core:app:deny-remove-data-store", 645 663 "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." 664 + }, 665 + { 666 + "description": "Denies the remove_listener command without any pre-configured scope.", 667 + "type": "string", 668 + "const": "core:app:deny-remove-listener", 669 + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." 646 670 }, 647 671 { 648 672 "description": "Denies the set_app_theme command without any pre-configured scope.", ··· 1827 1851 "markdownDescription": "Enables the set_focus command without any pre-configured scope." 1828 1852 }, 1829 1853 { 1854 + "description": "Enables the set_focusable command without any pre-configured scope.", 1855 + "type": "string", 1856 + "const": "core:window:allow-set-focusable", 1857 + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." 1858 + }, 1859 + { 1830 1860 "description": "Enables the set_fullscreen command without any pre-configured scope.", 1831 1861 "type": "string", 1832 1862 "const": "core:window:allow-set-fullscreen", ··· 1897 1927 "type": "string", 1898 1928 "const": "core:window:allow-set-shadow", 1899 1929 "markdownDescription": "Enables the set_shadow command without any pre-configured scope." 1930 + }, 1931 + { 1932 + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", 1933 + "type": "string", 1934 + "const": "core:window:allow-set-simple-fullscreen", 1935 + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." 1900 1936 }, 1901 1937 { 1902 1938 "description": "Enables the set_size command without any pre-configured scope.", ··· 2271 2307 "markdownDescription": "Denies the set_focus command without any pre-configured scope." 2272 2308 }, 2273 2309 { 2310 + "description": "Denies the set_focusable command without any pre-configured scope.", 2311 + "type": "string", 2312 + "const": "core:window:deny-set-focusable", 2313 + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." 2314 + }, 2315 + { 2274 2316 "description": "Denies the set_fullscreen command without any pre-configured scope.", 2275 2317 "type": "string", 2276 2318 "const": "core:window:deny-set-fullscreen", ··· 2341 2383 "type": "string", 2342 2384 "const": "core:window:deny-set-shadow", 2343 2385 "markdownDescription": "Denies the set_shadow command without any pre-configured scope." 2386 + }, 2387 + { 2388 + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", 2389 + "type": "string", 2390 + "const": "core:window:deny-set-simple-fullscreen", 2391 + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." 2344 2392 }, 2345 2393 { 2346 2394 "description": "Denies the set_size command without any pre-configured scope.", ··· 2431 2479 "type": "string", 2432 2480 "const": "core:window:deny-unminimize", 2433 2481 "markdownDescription": "Denies the unminimize command without any pre-configured scope." 2434 - }, 2435 - { 2436 - "description": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`", 2437 - "type": "string", 2438 - "const": "deep-link:default", 2439 - "markdownDescription": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`" 2440 - }, 2441 - { 2442 - "description": "Enables the get_current command without any pre-configured scope.", 2443 - "type": "string", 2444 - "const": "deep-link:allow-get-current", 2445 - "markdownDescription": "Enables the get_current command without any pre-configured scope." 2446 - }, 2447 - { 2448 - "description": "Enables the is_registered command without any pre-configured scope.", 2449 - "type": "string", 2450 - "const": "deep-link:allow-is-registered", 2451 - "markdownDescription": "Enables the is_registered command without any pre-configured scope." 2452 - }, 2453 - { 2454 - "description": "Enables the register command without any pre-configured scope.", 2455 - "type": "string", 2456 - "const": "deep-link:allow-register", 2457 - "markdownDescription": "Enables the register command without any pre-configured scope." 2458 - }, 2459 - { 2460 - "description": "Enables the unregister command without any pre-configured scope.", 2461 - "type": "string", 2462 - "const": "deep-link:allow-unregister", 2463 - "markdownDescription": "Enables the unregister command without any pre-configured scope." 2464 - }, 2465 - { 2466 - "description": "Denies the get_current command without any pre-configured scope.", 2467 - "type": "string", 2468 - "const": "deep-link:deny-get-current", 2469 - "markdownDescription": "Denies the get_current command without any pre-configured scope." 2470 - }, 2471 - { 2472 - "description": "Denies the is_registered command without any pre-configured scope.", 2473 - "type": "string", 2474 - "const": "deep-link:deny-is-registered", 2475 - "markdownDescription": "Denies the is_registered command without any pre-configured scope." 2476 - }, 2477 - { 2478 - "description": "Denies the register command without any pre-configured scope.", 2479 - "type": "string", 2480 - "const": "deep-link:deny-register", 2481 - "markdownDescription": "Denies the register command without any pre-configured scope." 2482 - }, 2483 - { 2484 - "description": "Denies the unregister command without any pre-configured scope.", 2485 - "type": "string", 2486 - "const": "deep-link:deny-unregister", 2487 - "markdownDescription": "Denies the unregister command without any pre-configured scope." 2488 2482 }, 2489 2483 { 2490 2484 "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-read-body`\n- `allow-fetch-send`",
+50 -56
src-tauri/gen/schemas/windows-schema.json
··· 519 519 "markdownDescription": "Default core plugins set.\n#### This default permission set includes:\n\n- `core:path:default`\n- `core:event:default`\n- `core:window:default`\n- `core:webview:default`\n- `core:app:default`\n- `core:image:default`\n- `core:resources:default`\n- `core:menu:default`\n- `core:tray:default`" 520 520 }, 521 521 { 522 - "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`", 522 + "description": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`", 523 523 "type": "string", 524 524 "const": "core:app:default", 525 - "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`" 525 + "markdownDescription": "Default permissions for the plugin.\n#### This default permission set includes:\n\n- `allow-version`\n- `allow-name`\n- `allow-tauri-version`\n- `allow-identifier`\n- `allow-bundle-type`\n- `allow-register-listener`\n- `allow-remove-listener`" 526 526 }, 527 527 { 528 528 "description": "Enables the app_hide command without any pre-configured scope.", ··· 567 567 "markdownDescription": "Enables the name command without any pre-configured scope." 568 568 }, 569 569 { 570 + "description": "Enables the register_listener command without any pre-configured scope.", 571 + "type": "string", 572 + "const": "core:app:allow-register-listener", 573 + "markdownDescription": "Enables the register_listener command without any pre-configured scope." 574 + }, 575 + { 570 576 "description": "Enables the remove_data_store command without any pre-configured scope.", 571 577 "type": "string", 572 578 "const": "core:app:allow-remove-data-store", 573 579 "markdownDescription": "Enables the remove_data_store command without any pre-configured scope." 574 580 }, 575 581 { 582 + "description": "Enables the remove_listener command without any pre-configured scope.", 583 + "type": "string", 584 + "const": "core:app:allow-remove-listener", 585 + "markdownDescription": "Enables the remove_listener command without any pre-configured scope." 586 + }, 587 + { 576 588 "description": "Enables the set_app_theme command without any pre-configured scope.", 577 589 "type": "string", 578 590 "const": "core:app:allow-set-app-theme", ··· 639 651 "markdownDescription": "Denies the name command without any pre-configured scope." 640 652 }, 641 653 { 654 + "description": "Denies the register_listener command without any pre-configured scope.", 655 + "type": "string", 656 + "const": "core:app:deny-register-listener", 657 + "markdownDescription": "Denies the register_listener command without any pre-configured scope." 658 + }, 659 + { 642 660 "description": "Denies the remove_data_store command without any pre-configured scope.", 643 661 "type": "string", 644 662 "const": "core:app:deny-remove-data-store", 645 663 "markdownDescription": "Denies the remove_data_store command without any pre-configured scope." 664 + }, 665 + { 666 + "description": "Denies the remove_listener command without any pre-configured scope.", 667 + "type": "string", 668 + "const": "core:app:deny-remove-listener", 669 + "markdownDescription": "Denies the remove_listener command without any pre-configured scope." 646 670 }, 647 671 { 648 672 "description": "Denies the set_app_theme command without any pre-configured scope.", ··· 1827 1851 "markdownDescription": "Enables the set_focus command without any pre-configured scope." 1828 1852 }, 1829 1853 { 1854 + "description": "Enables the set_focusable command without any pre-configured scope.", 1855 + "type": "string", 1856 + "const": "core:window:allow-set-focusable", 1857 + "markdownDescription": "Enables the set_focusable command without any pre-configured scope." 1858 + }, 1859 + { 1830 1860 "description": "Enables the set_fullscreen command without any pre-configured scope.", 1831 1861 "type": "string", 1832 1862 "const": "core:window:allow-set-fullscreen", ··· 1897 1927 "type": "string", 1898 1928 "const": "core:window:allow-set-shadow", 1899 1929 "markdownDescription": "Enables the set_shadow command without any pre-configured scope." 1930 + }, 1931 + { 1932 + "description": "Enables the set_simple_fullscreen command without any pre-configured scope.", 1933 + "type": "string", 1934 + "const": "core:window:allow-set-simple-fullscreen", 1935 + "markdownDescription": "Enables the set_simple_fullscreen command without any pre-configured scope." 1900 1936 }, 1901 1937 { 1902 1938 "description": "Enables the set_size command without any pre-configured scope.", ··· 2271 2307 "markdownDescription": "Denies the set_focus command without any pre-configured scope." 2272 2308 }, 2273 2309 { 2310 + "description": "Denies the set_focusable command without any pre-configured scope.", 2311 + "type": "string", 2312 + "const": "core:window:deny-set-focusable", 2313 + "markdownDescription": "Denies the set_focusable command without any pre-configured scope." 2314 + }, 2315 + { 2274 2316 "description": "Denies the set_fullscreen command without any pre-configured scope.", 2275 2317 "type": "string", 2276 2318 "const": "core:window:deny-set-fullscreen", ··· 2341 2383 "type": "string", 2342 2384 "const": "core:window:deny-set-shadow", 2343 2385 "markdownDescription": "Denies the set_shadow command without any pre-configured scope." 2386 + }, 2387 + { 2388 + "description": "Denies the set_simple_fullscreen command without any pre-configured scope.", 2389 + "type": "string", 2390 + "const": "core:window:deny-set-simple-fullscreen", 2391 + "markdownDescription": "Denies the set_simple_fullscreen command without any pre-configured scope." 2344 2392 }, 2345 2393 { 2346 2394 "description": "Denies the set_size command without any pre-configured scope.", ··· 2431 2479 "type": "string", 2432 2480 "const": "core:window:deny-unminimize", 2433 2481 "markdownDescription": "Denies the unminimize command without any pre-configured scope." 2434 - }, 2435 - { 2436 - "description": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`", 2437 - "type": "string", 2438 - "const": "deep-link:default", 2439 - "markdownDescription": "Allows reading the opened deep link via the get_current command\n#### This default permission set includes:\n\n- `allow-get-current`" 2440 - }, 2441 - { 2442 - "description": "Enables the get_current command without any pre-configured scope.", 2443 - "type": "string", 2444 - "const": "deep-link:allow-get-current", 2445 - "markdownDescription": "Enables the get_current command without any pre-configured scope." 2446 - }, 2447 - { 2448 - "description": "Enables the is_registered command without any pre-configured scope.", 2449 - "type": "string", 2450 - "const": "deep-link:allow-is-registered", 2451 - "markdownDescription": "Enables the is_registered command without any pre-configured scope." 2452 - }, 2453 - { 2454 - "description": "Enables the register command without any pre-configured scope.", 2455 - "type": "string", 2456 - "const": "deep-link:allow-register", 2457 - "markdownDescription": "Enables the register command without any pre-configured scope." 2458 - }, 2459 - { 2460 - "description": "Enables the unregister command without any pre-configured scope.", 2461 - "type": "string", 2462 - "const": "deep-link:allow-unregister", 2463 - "markdownDescription": "Enables the unregister command without any pre-configured scope." 2464 - }, 2465 - { 2466 - "description": "Denies the get_current command without any pre-configured scope.", 2467 - "type": "string", 2468 - "const": "deep-link:deny-get-current", 2469 - "markdownDescription": "Denies the get_current command without any pre-configured scope." 2470 - }, 2471 - { 2472 - "description": "Denies the is_registered command without any pre-configured scope.", 2473 - "type": "string", 2474 - "const": "deep-link:deny-is-registered", 2475 - "markdownDescription": "Denies the is_registered command without any pre-configured scope." 2476 - }, 2477 - { 2478 - "description": "Denies the register command without any pre-configured scope.", 2479 - "type": "string", 2480 - "const": "deep-link:deny-register", 2481 - "markdownDescription": "Denies the register command without any pre-configured scope." 2482 - }, 2483 - { 2484 - "description": "Denies the unregister command without any pre-configured scope.", 2485 - "type": "string", 2486 - "const": "deep-link:deny-unregister", 2487 - "markdownDescription": "Denies the unregister command without any pre-configured scope." 2488 2482 }, 2489 2483 { 2490 2484 "description": "This permission set configures what kind of\nfetch operations are available from the http plugin.\n\nThis enables all fetch operations but does not\nallow explicitly any origins to be fetched. This needs to\nbe manually configured before usage.\n\n#### Granted Permissions\n\nAll fetch operations are enabled.\n\n\n#### This default permission set includes:\n\n- `allow-fetch`\n- `allow-fetch-cancel`\n- `allow-fetch-read-body`\n- `allow-fetch-send`",
+17 -9
src-tauri/src/frontend_calls/change_final_path.rs
··· 1 1 use std::fs; 2 2 3 - #[tauri::command] 4 - pub fn change_final_path(new_path: &str) { 5 - let config_path = dirs::config_dir() 6 - .unwrap() 7 - .join("PhazeDev/VRChatPhotoManager/.photos_path"); 3 + use tauri::{Emitter, State, Window}; 8 4 9 - fs::write(&config_path, new_path.as_bytes()).unwrap(); 5 + use crate::util::cache::Cache; 10 6 7 + #[tauri::command] 8 + pub fn change_final_path(new_path: &str, window: Window, cache: State<Cache>) -> bool { 11 9 match fs::metadata(&new_path) { 12 - Ok(_) => {} 10 + Ok(_) => { 11 + let config_path = dirs::config_dir() 12 + .unwrap() 13 + .join("PhazeDev/VRChatPhotoManager/.photos_path"); 14 + 15 + fs::write(&config_path, new_path.as_bytes()).unwrap(); 16 + cache.insert("photo-path".into(), new_path.to_owned()); 17 + 18 + true 19 + } 13 20 Err(_) => { 14 - fs::create_dir(&new_path).unwrap(); 21 + window.emit("vrcpm-error", "Error Changing Path: Path does not exist.").unwrap(); 22 + false 15 23 } 16 - }; 24 + } 17 25 }
+5 -3
src-tauri/src/frontend_calls/close_splashscreen.rs
··· 1 1 use std::env; 2 - use tauri::{ Emitter, Manager }; 2 + use tauri::{ Emitter, Manager, State }; 3 + 4 + use crate::frontend_calls::config::Config; 3 5 4 6 use super::config::get_config_value_string; 5 7 6 8 #[tauri::command] 7 - pub fn close_splashscreen( window: tauri::Window ) { 9 + pub fn close_splashscreen( window: tauri::Window, config: State<Config> ) { 8 10 let args: Vec<String> = env::args().collect(); 9 11 10 12 let mut show = true; ··· 14 16 } 15 17 } 16 18 17 - let value: String = match get_config_value_string("start-in-bg".to_owned()) { Some(val) => val, None => "false".to_owned() }; 19 + let value: String = match get_config_value_string("start-in-bg".to_owned(), config) { Some(val) => val, None => "false".to_owned() }; 18 20 if value == "true"{ 19 21 show = false; 20 22 }
+42 -23
src-tauri/src/frontend_calls/config.rs
··· 1 - use std::{fs, path::PathBuf}; 1 + use std::{fs, path::PathBuf, sync::Mutex}; 2 2 3 3 use serde_json::Value; 4 + use tauri::State; 4 5 5 6 pub fn get_config_path() -> PathBuf { 6 7 let path = dirs::config_dir() ··· 17 18 path 18 19 } 19 20 21 + pub struct Config{ 22 + config: Mutex<Value> 23 + } 20 24 21 - // TODO: Redo all of this just, stop please. 22 - #[tauri::command] 23 - pub fn set_config_value_string(key: String, value: String) { 24 - let path = get_config_path(); 25 + impl Config{ 26 + pub fn new() -> Config{ 27 + let path = get_config_path(); 28 + let config: Value = serde_json::from_str(&fs::read_to_string(&path).unwrap()).unwrap(); 29 + 30 + Config { 31 + config: Mutex::new(config) 32 + } 33 + } 34 + 35 + pub fn set( &self, key: String, value: Value ){ 36 + let mut lock = self.config.lock().unwrap(); 37 + lock[key] = value; 38 + } 39 + 40 + pub fn get( &self, key: String ) -> Value{ 41 + let lock = self.config.lock().unwrap(); 42 + lock[key].clone() 43 + } 44 + 45 + pub fn save( &self ){ 46 + let path = get_config_path(); 47 + let string = serde_json::to_string(&self.config).unwrap(); 25 48 26 - let mut config: Value = serde_json::from_str(&fs::read_to_string(&path).unwrap()).unwrap(); 27 - config[key] = Value::from(value); 49 + fs::write(path, string).unwrap(); 50 + } 51 + } 28 52 29 - fs::write(path, config.to_string()).unwrap(); 53 + #[tauri::command] 54 + pub fn set_config_value_string( key: String, value: String, config: State<Config> ) { 55 + config.set(key, Value::from(value)); 30 56 } 31 57 32 58 #[tauri::command] 33 - pub fn get_config_value_string(key: String) -> Option<String> { 34 - let config: Value = 35 - serde_json::from_str(&fs::read_to_string(get_config_path()).unwrap()).unwrap(); 36 - let string = config[key].as_str(); 59 + pub fn get_config_value_string( key: String, config: State<Config> ) -> Option<String> { 60 + let string = config.get(key); 61 + let string = string.as_str(); 37 62 38 63 if string.is_some() { 39 64 Some(string.unwrap().to_owned()) ··· 43 68 } 44 69 45 70 #[tauri::command] 46 - pub fn set_config_value_int(key: String, value: i64) { 47 - let path = get_config_path(); 48 - 49 - let mut config: Value = serde_json::from_str(&fs::read_to_string(&path).unwrap()).unwrap(); 50 - config[key] = Value::from(value); 51 - 52 - fs::write(path, config.to_string()).unwrap(); 71 + pub fn set_config_value_int( key: String, value: i64, config: State<Config> ) { 72 + config.set(key, Value::from(value)); 53 73 } 54 74 55 75 #[tauri::command] 56 - pub fn get_config_value_int(key: String) -> Option<i64> { 57 - let config: Value = 58 - serde_json::from_str(&fs::read_to_string(get_config_path()).unwrap()).unwrap(); 59 - config[key].as_i64() 76 + pub fn get_config_value_int( key: String, config: State<Config> ) -> Option<i64> { 77 + let string = config.get(key); 78 + string.as_i64() 60 79 }
+21 -3
src-tauri/src/frontend_calls/load_photo_meta.rs
··· 20 20 let mut buffer = Vec::new(); 21 21 22 22 let _out = file.read_to_end(&mut buffer); 23 - window 24 - .emit("photo_meta_loaded", PNGImage::new(buffer, photo)) 25 - .unwrap(); 23 + let png = PNGImage::new(buffer, photo.clone()); 24 + 25 + if png.is_err(){ 26 + println!("Failed to load: {} => {}", base_dir, png.unwrap_err()); 27 + 28 + window.emit("photo_meta_loaded", PNGImage { 29 + width: 1920, 30 + height: 1080, 31 + bit_depth: 0, 32 + colour_type: 0, 33 + compression_method: 0, 34 + filter_method: 0, 35 + interlace_method: 0, 36 + metadata: "".into(), 37 + error: true, 38 + path: photo 39 + }).unwrap(); 40 + } else{ 41 + println!("Loaded: {}", base_dir); 42 + window.emit("photo_meta_loaded", png.unwrap()).unwrap(); 43 + } 26 44 } 27 45 Err(_) => { 28 46 println!("Cannot read image file: {:?}", base_dir);
+8 -17
src-tauri/src/frontend_calls/load_photos.rs
··· 11 11 size: usize, 12 12 } 13 13 14 - // TODO: Multi-layer photos 15 - 16 14 #[tauri::command] 17 15 pub fn load_photos(window: tauri::Window, cache: State<Cache> ) { 18 16 let base_dir = cache.get("photo-path".into()).unwrap(); 19 17 20 18 thread::spawn(move || { 21 - 22 19 let mut photos: Vec<path::PathBuf> = Vec::new(); 23 20 let mut size: usize = 0; 24 21 22 + let re = Regex::new(r"^[0-9]{4}-[0-9]{2}$").unwrap(); 23 + 25 24 for folder in fs::read_dir(&base_dir).unwrap() { 26 25 let f = folder.unwrap(); 26 + if !re.is_match(f.file_name().to_str().unwrap()){ continue; } 27 27 28 28 if f.metadata().unwrap().is_dir() { 29 29 for photo in fs::read_dir(f.path()).unwrap() { ··· 35 35 let name = p.file_name(); 36 36 let name = name.to_str().unwrap(); 37 37 38 - // I know this is janky 39 - // i'm sorry 40 - 41 - // All regex's are trippled up as some resolutions have shorter names 42 - 43 38 let re1_match = // This is the current format used by VRChat 44 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}.png").unwrap().is_match(name) || 45 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{3}.png").unwrap().is_match(name) || 46 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3}x[0-9]{3}.png").unwrap().is_match(name); 39 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}.png").unwrap().is_match(name) || 40 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Player.png").unwrap().is_match(name) || 41 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Environment.png").unwrap().is_match(name); 47 42 48 43 let re2_match = // This is the format VRCX uses if you enable renaming photos 49 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(name) || 50 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{3}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(name) || 51 - Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3}x[0-9]{3}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(name); 44 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(name); 52 45 53 46 let re3_match = // This is an old format VRChat used for naming photos 54 - Regex::new("VRChat_[0-9]{4}x[0-9]{4}_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}.png").unwrap().is_match(name) || 55 - Regex::new("VRChat_[0-9]{4}x[0-9]{3}_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}.png").unwrap().is_match(name) || 56 - Regex::new("VRChat_[0-9]{3}x[0-9]{3}_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}.png").unwrap().is_match(name); 47 + Regex::new(r"(?m)VRChat_[0-9]{3,4}x[0-9]{3,4}_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}.png").unwrap().is_match(name); 57 48 58 49 if re1_match || re2_match || re3_match { 59 50 let path = fname.to_path_buf().clone();
+26 -19
src-tauri/src/main.rs
··· 15 15 use util::{ cache::Cache, get_photo_path::get_photo_path }; 16 16 use std::{ env, fs, sync::Mutex, thread }; 17 17 use tauri::{ Emitter, Manager, State, WindowEvent }; 18 - use tauri_plugin_deep_link::DeepLinkExt; 19 18 20 - use crate::frontend_calls::config::get_config_value_string; 19 + use crate::frontend_calls::config::{get_config_value_string, Config}; 21 20 22 21 fn main() { 23 22 #[cfg(target_os = "linux")] ··· 78 77 79 78 println!("Loading App..."); 80 79 let photos_path = util::get_photo_path::get_photo_path(); 80 + println!("Loading photos from: {:#?}", &photos_path); 81 81 82 82 cache.insert("photo-path".into(), photos_path.to_str().unwrap().to_owned()); 83 83 ··· 98 98 let path = event.paths.first().unwrap(); 99 99 let name = path.file_name().unwrap().to_str().unwrap().to_owned(); 100 100 101 - let re1 = Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}.png").unwrap(); 102 - let re2 = Regex::new(r"(?m)/VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png/gm").unwrap(); 101 + let re1_match = // This is the current format used by VRChat 102 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}.png").unwrap().is_match(&name) || 103 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Player.png").unwrap().is_match(&name) || 104 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Environment.png").unwrap().is_match(&name); 103 105 104 - if 105 - re1.is_match(&name) || 106 - re2.is_match(&name) 107 - { 106 + let re2_match = // This is the format VRCX uses if you enable renaming photos 107 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(&name); 108 + 109 + if re1_match || re2_match{ 108 110 sender.send((2, path.strip_prefix(get_photo_path()).unwrap().to_str().unwrap().to_owned())).unwrap(); 109 111 } 110 112 }, ··· 112 114 let path = event.paths.first().unwrap(); 113 115 let name = path.file_name().unwrap().to_str().unwrap().to_owned(); 114 116 115 - let re1 = Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}.png").unwrap(); 116 - let re2 = Regex::new(r"(?m)/VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{4}x[0-9]{4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png/gm").unwrap(); 117 + let re1_match = // This is the current format used by VRChat 118 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}.png").unwrap().is_match(&name) || 119 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Player.png").unwrap().is_match(&name) || 120 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_Environment.png").unwrap().is_match(&name); 121 + 122 + let re2_match = // This is the format VRCX uses if you enable renaming photos 123 + Regex::new(r"(?m)VRChat_[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}-[0-9]{2}.[0-9]{3}_[0-9]{3,4}x[0-9]{3,4}_wrld_[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}.png").unwrap().is_match(&name); 117 124 118 - if 119 - re1.is_match(&name) || 120 - re2.is_match(&name) 121 - { 125 + if re1_match || re2_match{ 122 126 thread::sleep(time::Duration::from_millis(1000)); 123 127 sender.send((1, path.strip_prefix(get_photo_path()).unwrap().to_str().unwrap().to_owned())).unwrap(); 124 128 } ··· 144 148 .plugin(tauri_plugin_single_instance::init(| app, _argv, _cwd | { 145 149 app.get_webview_window("main").unwrap().show().unwrap(); 146 150 })) 147 - .plugin(tauri_plugin_deep_link::init()) 148 151 .plugin(tauri_plugin_process::init()) 149 152 .plugin(tauri_plugin_http::init()) 150 153 .plugin(tauri_plugin_shell::init()) ··· 154 157 }) 155 158 .on_window_event(|window, event| match event { 156 159 WindowEvent::CloseRequested { api, .. } => { 157 - let val = get_config_value_string("minimise-on-close".into()); 158 - if val.is_some() && val.unwrap() == "false"{ return; } 160 + let config: State<Config> = window.state(); 161 + 162 + let val = get_config_value_string("close-to-tray".into(), config.clone()); 163 + if val.is_none() || val.unwrap() != "true"{ 164 + config.save(); 165 + return; 166 + } 159 167 160 168 window.hide().unwrap(); 161 169 api.prevent_close(); 162 170 } 163 171 _ => {} 164 172 }) 173 + .manage(Config::new()) 165 174 .manage(cache) 166 175 .manage(Mutex::new(clipboard)) 167 176 .setup(|app| { 168 177 let handle = app.handle(); 169 - 170 - app.deep_link().register("vrcpm").unwrap(); 171 178 util::setup_traymenu::setup_traymenu(handle); 172 179 173 180 // reads the file update mpsc channel and sends the events to the frontend
+8 -24
src-tauri/src/pngmeta.rs
··· 1 - use serde::ser::{Serialize, SerializeStruct, Serializer}; 2 1 use std::str; 3 2 4 - #[derive(Clone)] 3 + use serde::Serialize; 4 + 5 + #[derive(Clone, Debug, Serialize)] 5 6 pub struct PNGImage { 6 7 pub width: u32, 7 8 pub height: u32, ··· 12 13 pub interlace_method: u8, 13 14 pub metadata: String, 14 15 pub path: String, 16 + pub error: bool 15 17 } 16 18 17 19 impl PNGImage { 18 - pub fn new(buff: Vec<u8>, path: String) -> PNGImage { 20 + pub fn new(buff: Vec<u8>, path: String) -> Result<PNGImage, &'static str> { 19 21 if buff[0] != 0x89 20 22 || buff[1] != 0x50 21 23 || buff[2] != 0x4E ··· 26 28 || buff[7] != 0x0A 27 29 { 28 30 dbg!(path); 29 - panic!("Image is not a PNG file"); 31 + return Err("Image is not a PNG file"); 30 32 } 31 33 32 34 let mut img = PNGImage { ··· 39 41 interlace_method: 0, 40 42 metadata: "".to_string(), 41 43 path: path, 44 + error: false 42 45 }; 43 46 44 47 img.read_png_chunk(8, buff); 45 - img 48 + Ok(img) 46 49 } 47 50 48 51 fn read_png_chunk(&mut self, start_byte: usize, buff: Vec<u8>) { ··· 82 85 } 83 86 } 84 87 } 85 - 86 - impl Serialize for PNGImage { 87 - fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error> 88 - where 89 - S: Serializer, 90 - { 91 - let mut s = serializer.serialize_struct("PNGImage", 7)?; 92 - s.serialize_field("width", &self.width)?; 93 - s.serialize_field("height", &self.height)?; 94 - s.serialize_field("bit_depth", &self.bit_depth)?; 95 - s.serialize_field("colour_type", &self.colour_type)?; 96 - s.serialize_field("compression_method", &self.compression_method)?; 97 - s.serialize_field("filter_method", &self.filter_method)?; 98 - s.serialize_field("interlace_method", &self.interlace_method)?; 99 - s.serialize_field("metadata", &self.metadata)?; 100 - s.serialize_field("path", &self.path)?; 101 - s.end() 102 - } 103 - }
+1 -1
src-tauri/src/util/cache.rs
··· 1 - use std::{collections::HashMap, sync::Mutex}; 1 + use std::{ collections::HashMap, sync::Mutex }; 2 2 3 3 pub struct Cache{ 4 4 store: Mutex<HashMap<String, String>>,
+7 -1
src-tauri/src/util/get_photo_path.rs
··· 7 7 8 8 match fs::read_to_string(config_path) { 9 9 Ok(path) => { 10 - path::PathBuf::from(path) 10 + let p = path::PathBuf::from(path); 11 + 12 + if fs::exists(&p).unwrap(){ 13 + p 14 + } else{ 15 + dirs::picture_dir().unwrap().join("VRChat") 16 + } 11 17 }, 12 18 Err(_) => { 13 19 let p = dirs::picture_dir().unwrap().join("VRChat");
+6 -1
src-tauri/src/util/setup_traymenu.rs
··· 1 1 use tauri::{ 2 2 menu::{MenuBuilder, MenuItemBuilder}, 3 3 tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}, 4 - AppHandle, Emitter, Manager, 4 + AppHandle, Emitter, Manager, State, 5 5 }; 6 + 7 + use crate::frontend_calls::config::Config; 6 8 7 9 #[derive(serde::Serialize, Clone)] 8 10 struct EmptyEvent {} ··· 31 33 .tooltip("VRChat Photo Manager") 32 34 .on_menu_event(move |app: &AppHandle, event| match event.id().as_ref() { 33 35 "quit" => { 36 + let config: State<Config> = app.state(); 37 + config.save(); 38 + 34 39 std::process::exit(0); 35 40 } 36 41 "hide" => {
+1 -1
src-tauri/tauri.conf.json
··· 23 23 }, 24 24 "app": { 25 25 "security": { 26 - "csp": "connect-src ipc: http://ipc.localhost" 26 + "csp": "connect-src https://api.github.com ipc: http://ipc.localhost" 27 27 }, 28 28 "windows": [ 29 29 {