fix: better handling of request results in the network applet

This commit is contained in:
Ashley Wulber 2024-03-18 21:25:51 -04:00 committed by Jeremy Soller
parent f36684d773
commit 4510e81f6f
No known key found for this signature in database
GPG key ID: D02FD439211AF56F
3 changed files with 121 additions and 123 deletions

149
Cargo.lock generated
View file

@ -227,7 +227,7 @@ dependencies = [
"async-task", "async-task",
"concurrent-queue", "concurrent-queue",
"fastrand 2.0.1", "fastrand 2.0.1",
"futures-lite 2.2.0", "futures-lite 2.3.0",
"slab", "slab",
] ]
@ -273,7 +273,7 @@ dependencies = [
"cfg-if", "cfg-if",
"concurrent-queue", "concurrent-queue",
"futures-io", "futures-io",
"futures-lite 2.2.0", "futures-lite 2.3.0",
"parking", "parking",
"polling 3.5.0", "polling 3.5.0",
"rustix 0.38.31", "rustix 0.38.31",
@ -321,13 +321,13 @@ dependencies = [
[[package]] [[package]]
name = "async-recursion" name = "async-recursion"
version = "1.0.5" version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -356,13 +356,13 @@ checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799"
[[package]] [[package]]
name = "async-trait" name = "async-trait"
version = "0.1.77" version = "0.1.78"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -530,7 +530,7 @@ dependencies = [
"async-task", "async-task",
"fastrand 2.0.1", "fastrand 2.0.1",
"futures-io", "futures-io",
"futures-lite 2.2.0", "futures-lite 2.3.0",
"piper", "piper",
"tracing", "tracing",
] ]
@ -587,7 +587,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -698,7 +698,7 @@ dependencies = [
[[package]] [[package]]
name = "clipboard_macos" name = "clipboard_macos"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#c3e9e794b94a2e79419517145424dc2035a572da" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea"
dependencies = [ dependencies = [
"objc", "objc",
"objc-foundation", "objc-foundation",
@ -708,7 +708,7 @@ dependencies = [
[[package]] [[package]]
name = "clipboard_wayland" name = "clipboard_wayland"
version = "0.2.2" version = "0.2.2"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#c3e9e794b94a2e79419517145424dc2035a572da" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea"
dependencies = [ dependencies = [
"mime 0.1.0", "mime 0.1.0",
"smithay-clipboard", "smithay-clipboard",
@ -717,7 +717,7 @@ dependencies = [
[[package]] [[package]]
name = "clipboard_x11" name = "clipboard_x11"
version = "0.4.2" version = "0.4.2"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#c3e9e794b94a2e79419517145424dc2035a572da" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea"
dependencies = [ dependencies = [
"thiserror", "thiserror",
"x11rb", "x11rb",
@ -1145,7 +1145,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config" name = "cosmic-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"atomicwrites", "atomicwrites",
"cosmic-config-derive", "cosmic-config-derive",
@ -1165,7 +1165,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-config-derive" name = "cosmic-config-derive"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"quote", "quote",
"syn 1.0.109", "syn 1.0.109",
@ -1218,7 +1218,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-panel-config" name = "cosmic-panel-config"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/cosmic-panel#f3fd857536bf8947a2ac765b01ed7078f452a767" source = "git+https://github.com/pop-os/cosmic-panel#3aad7907ee6b5506cf800c2a838176bacfcfa8ad"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cosmic-config", "cosmic-config",
@ -1254,7 +1254,7 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-text" name = "cosmic-text"
version = "0.11.2" version = "0.11.2"
source = "git+https://github.com/pop-os/cosmic-text.git#18c3d2acec5e7f64a670c6643ee3ab220bc92a89" source = "git+https://github.com/pop-os/cosmic-text.git#b08676909f882f553ab574601b35b58276a52458"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.4.2",
"fontdb", "fontdb",
@ -1276,15 +1276,17 @@ dependencies = [
[[package]] [[package]]
name = "cosmic-theme" name = "cosmic-theme"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"almost", "almost",
"cosmic-config", "cosmic-config",
"csscolorparser", "csscolorparser",
"dirs 5.0.1",
"lazy_static", "lazy_static",
"palette", "palette",
"ron", "ron",
"serde", "serde",
"thiserror",
] ]
[[package]] [[package]]
@ -1388,7 +1390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c"
dependencies = [ dependencies = [
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -1416,7 +1418,7 @@ dependencies = [
"itertools", "itertools",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
"synstructure", "synstructure",
] ]
@ -1475,7 +1477,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"strsim", "strsim",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -1497,7 +1499,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f"
dependencies = [ dependencies = [
"darling_core 0.20.8", "darling_core 0.20.8",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -1612,7 +1614,7 @@ dependencies = [
"darling 0.20.8", "darling 0.20.8",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -1680,7 +1682,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -1781,7 +1783,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -2092,7 +2094,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -2221,9 +2223,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-lite" name = "futures-lite"
version = "2.2.0" version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "445ba825b27408685aaecefd65178908c36c6e96aaf6d8599419d46e624192ba" checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5"
dependencies = [ dependencies = [
"fastrand 2.0.1", "fastrand 2.0.1",
"futures-core", "futures-core",
@ -2240,7 +2242,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -2618,7 +2620,7 @@ dependencies = [
"serde", "serde",
"serde_derive", "serde_derive",
"thiserror", "thiserror",
"toml 0.8.11", "toml 0.8.12",
"unic-langid", "unic-langid",
] ]
@ -2661,7 +2663,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"strsim", "strsim",
"syn 2.0.52", "syn 2.0.53",
"unic-langid", "unic-langid",
] ]
@ -2675,7 +2677,7 @@ dependencies = [
"i18n-config", "i18n-config",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -2704,7 +2706,7 @@ dependencies = [
[[package]] [[package]]
name = "iced" name = "iced"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"iced_accessibility", "iced_accessibility",
"iced_core", "iced_core",
@ -2714,12 +2716,13 @@ dependencies = [
"iced_widget", "iced_widget",
"image 0.24.9", "image 0.24.9",
"thiserror", "thiserror",
"window_clipboard",
] ]
[[package]] [[package]]
name = "iced_accessibility" name = "iced_accessibility"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"accesskit", "accesskit",
"accesskit_unix", "accesskit_unix",
@ -2728,7 +2731,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_core" name = "iced_core"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"iced_accessibility", "iced_accessibility",
@ -2748,7 +2751,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_futures" name = "iced_futures"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"futures", "futures",
"iced_core", "iced_core",
@ -2761,7 +2764,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_graphics" name = "iced_graphics"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"bytemuck", "bytemuck",
@ -2785,7 +2788,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_renderer" name = "iced_renderer"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"iced_graphics", "iced_graphics",
"iced_tiny_skia", "iced_tiny_skia",
@ -2797,7 +2800,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_runtime" name = "iced_runtime"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"iced_accessibility", "iced_accessibility",
"iced_core", "iced_core",
@ -2810,7 +2813,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_sctk" name = "iced_sctk"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"enum-repr", "enum-repr",
"float-cmp", "float-cmp",
@ -2836,7 +2839,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_style" name = "iced_style"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"iced_core", "iced_core",
"once_cell", "once_cell",
@ -2846,7 +2849,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_tiny_skia" name = "iced_tiny_skia"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"bytemuck", "bytemuck",
"cosmic-text", "cosmic-text",
@ -2863,7 +2866,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_wgpu" name = "iced_wgpu"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"bytemuck", "bytemuck",
@ -2882,7 +2885,7 @@ dependencies = [
[[package]] [[package]]
name = "iced_widget" name = "iced_widget"
version = "0.12.0" version = "0.12.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"iced_renderer", "iced_renderer",
"iced_runtime", "iced_runtime",
@ -3158,7 +3161,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]] [[package]]
name = "libcosmic" name = "libcosmic"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/libcosmic#5d600c70c2900ab8918d97f950c2af779636da0f" source = "git+https://github.com/pop-os/libcosmic#01d7e46feadccf70825c3a822a566fb266d3add6"
dependencies = [ dependencies = [
"apply", "apply",
"ashpd 0.7.0", "ashpd 0.7.0",
@ -3484,7 +3487,7 @@ dependencies = [
[[package]] [[package]]
name = "mime" name = "mime"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#c3e9e794b94a2e79419517145424dc2035a572da" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea"
dependencies = [ dependencies = [
"smithay-clipboard", "smithay-clipboard",
] ]
@ -3666,7 +3669,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -3822,7 +3825,7 @@ dependencies = [
"proc-macro-error", "proc-macro-error",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -3852,7 +3855,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -3963,7 +3966,7 @@ dependencies = [
"phf_shared", "phf_shared",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -3998,7 +4001,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -4446,7 +4449,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"rust-embed-utils", "rust-embed-utils",
"syn 2.0.52", "syn 2.0.53",
"walkdir", "walkdir",
] ]
@ -4591,7 +4594,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -4613,7 +4616,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -4895,7 +4898,7 @@ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"rustversion", "rustversion",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -4946,9 +4949,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.52" version = "2.0.53"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -4963,7 +4966,7 @@ checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -4984,7 +4987,7 @@ dependencies = [
"cfg-expr", "cfg-expr",
"heck", "heck",
"pkg-config", "pkg-config",
"toml 0.8.11", "toml 0.8.12",
"version-compare", "version-compare",
] ]
@ -5049,7 +5052,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -5202,7 +5205,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -5227,14 +5230,14 @@ dependencies = [
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.8.11" version = "0.8.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af06656561d28735e9c1cd63dfd57132c8155426aa6af24f36a00a351f88c48e" checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3"
dependencies = [ dependencies = [
"serde", "serde",
"serde_spanned", "serde_spanned",
"toml_datetime", "toml_datetime",
"toml_edit 0.22.7", "toml_edit 0.22.8",
] ]
[[package]] [[package]]
@ -5259,9 +5262,9 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.22.7" version = "0.22.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18769cd1cec395d70860ceb4d932812a0b4d06b1a4bb336745a4d21b9496e992" checksum = "c12219811e0c1ba077867254e5ad62ee2c9c190b0d957110750ac0cda1ae96cd"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"serde", "serde",
@ -5289,7 +5292,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]
@ -5550,9 +5553,9 @@ dependencies = [
[[package]] [[package]]
name = "uuid" name = "uuid"
version = "1.7.0" version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
dependencies = [ dependencies = [
"getrandom", "getrandom",
] ]
@ -5618,7 +5621,7 @@ dependencies = [
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -5652,7 +5655,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
@ -5958,7 +5961,7 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]] [[package]]
name = "window_clipboard" name = "window_clipboard"
version = "0.4.1" version = "0.4.1"
source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#c3e9e794b94a2e79419517145424dc2035a572da" source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea"
dependencies = [ dependencies = [
"clipboard-win", "clipboard-win",
"clipboard_macos", "clipboard_macos",
@ -6337,7 +6340,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.52", "syn 2.0.53",
] ]
[[package]] [[package]]

View file

@ -283,28 +283,26 @@ impl cosmic::Application for CosmicNetworkApplet {
success, success,
req, req,
} => { } => {
if let NetworkManagerRequest::SelectAccessPoint(ssid) if let NetworkManagerRequest::SelectAccessPoint(ssid) = &req {
| NetworkManagerRequest::Password(ssid, _)
| NetworkManagerRequest::Disconnect(ssid) = &req
{
if self if self
.new_connection .new_connection
.as_ref() .as_ref()
.map(|c| c.ssid() != ssid) .map(|c| c.ssid() == ssid)
.unwrap_or_default() .unwrap_or_default()
&& success
{ {
self.new_connection = None; self.new_connection = None;
} }
} }
if !success { if let NetworkManagerRequest::Password(ssid, _) = &req {
if let NetworkManagerRequest::Password(_, _) = req { if let Some(
if let Some( NewConnectionState::EnterPassword { access_point, .. }
NewConnectionState::EnterPassword { access_point, .. } | NewConnectionState::Waiting(access_point),
| NewConnectionState::Waiting(access_point), ) = self.new_connection.take()
) = self.new_connection.as_ref() {
{ if !success && ssid == &access_point.ssid {
self.new_connection self.new_connection =
.replace(NewConnectionState::Failure(access_point.clone())); Some(NewConnectionState::Failure(access_point.clone()));
} }
} }
} }
@ -315,6 +313,7 @@ impl cosmic::Application for CosmicNetworkApplet {
{ {
let mut browser = std::process::Command::new("xdg-open"); let mut browser = std::process::Command::new("xdg-open");
browser.arg("http://204.pop-os.org/"); browser.arg("http://204.pop-os.org/");
cosmic::process::spawn(browser); cosmic::process::spawn(browser);
} }
@ -332,14 +331,13 @@ impl cosmic::Application for CosmicNetworkApplet {
access_point.ssid.clone(), access_point.ssid.clone(),
)); ));
self.new_connection self.new_connection = Some(NewConnectionState::EnterPassword {
.replace(NewConnectionState::EnterPassword { access_point,
access_point, password: String::new(),
password: String::new(), });
});
} }
Message::ToggleVisibleNetworks => { Message::ToggleVisibleNetworks => {
self.new_connection.take(); self.new_connection = None;
self.show_visible_networks = !self.show_visible_networks; self.show_visible_networks = !self.show_visible_networks;
} }
Message::Password(entered_pw) => { Message::Password(entered_pw) => {
@ -387,9 +385,10 @@ impl cosmic::Application for CosmicNetworkApplet {
let _ = tx.unbounded_send(NetworkManagerRequest::SelectAccessPoint(ssid)); let _ = tx.unbounded_send(NetworkManagerRequest::SelectAccessPoint(ssid));
} }
Message::CancelNewConnection => { Message::CancelNewConnection => {
self.new_connection.take(); self.new_connection = None;
} }
Message::Disconnect(ssid) => { Message::Disconnect(ssid) => {
self.new_connection = None;
let tx = if let Some(tx) = self.nm_sender.as_ref() { let tx = if let Some(tx) = self.nm_sender.as_ref() {
if let Some(ActiveConnectionInfo::WiFi { state, .. }) = self if let Some(ActiveConnectionInfo::WiFi { state, .. }) = self
.nm_state .nm_state

View file

@ -243,10 +243,11 @@ async fn start_listening(
.build() .build()
.await .await
.unwrap(); .unwrap();
let state = enums::ActiveConnectionState::from( let mut state = enums::ActiveConnectionState::from(
active.state().await.unwrap_or_default(), active.state().await.unwrap_or_default(),
); );
let s = if let enums::ActiveConnectionState::Activating = state
while matches!(state, enums::ActiveConnectionState::Activating)
{ {
if let Ok(Some(s)) = timeout( if let Ok(Some(s)) = timeout(
Duration::from_secs(10), Duration::from_secs(10),
@ -254,14 +255,13 @@ async fn start_listening(
) )
.await .await
{ {
s.get().await.unwrap_or_default().into() state = s.get().await.unwrap_or_default().into();
} else { } else {
state break;
} }
} else { }
state
}; matches!(state, enums::ActiveConnectionState::Activated)
matches!(s, enums::ActiveConnectionState::Activated)
} else { } else {
false false
}; };
@ -331,10 +331,10 @@ async fn start_listening(
.build() .build()
.await .await
.unwrap(); .unwrap();
let state = enums::ActiveConnectionState::from( let mut state = enums::ActiveConnectionState::from(
active.state().await.unwrap_or_default(), active.state().await.unwrap_or_default(),
); );
let s = if let enums::ActiveConnectionState::Activating = state while matches!(state, enums::ActiveConnectionState::Activating)
{ {
if let Ok(Some(s)) = timeout( if let Ok(Some(s)) = timeout(
Duration::from_secs(10), Duration::from_secs(10),
@ -342,29 +342,25 @@ async fn start_listening(
) )
.await .await
{ {
s.get().await.unwrap_or_default().into() state = s.get().await.unwrap_or_default().into();
} else { } else {
state break;
} }
} else { }
state matches!(state, enums::ActiveConnectionState::Activated)
};
matches!(s, enums::ActiveConnectionState::Activated)
} else { } else {
false false
}; };
_ = output status = Some(NetworkManagerEvent::RequestResponse {
.send(NetworkManagerEvent::RequestResponse { req: NetworkManagerRequest::Password(
req: NetworkManagerRequest::Password( ssid.clone(),
ssid.clone(), password.clone(),
password.clone(), ),
), success,
success, state: NetworkManagerState::new(&conn)
state: NetworkManagerState::new(&conn) .await
.await .unwrap_or_default(),
.unwrap_or_default(), });
})
.await;
break; break;
} }
@ -454,7 +450,7 @@ async fn start_listening(
}) })
.await; .await;
break; return State::Waiting(conn, rx);
} }
_ = output _ = output
.send(NetworkManagerEvent::RequestResponse { .send(NetworkManagerEvent::RequestResponse {