.
Some checks failed
Rust / build (ubuntu-latest, stable) (push) Failing after 1m19s
Rust / build (ubuntu-latest, stable) (pull_request) Failing after 1m23s

This commit is contained in:
2026-01-26 12:59:25 +07:00
parent cb4b7ff36d
commit 6df08a9e48
11 changed files with 169 additions and 288 deletions

157
Cargo.lock generated
View File

@@ -102,11 +102,11 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
[[package]] [[package]]
name = "ar_archive_writer" name = "ar_archive_writer"
version = "0.2.0" version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a" checksum = "7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b"
dependencies = [ dependencies = [
"object 0.32.2", "object",
] ]
[[package]] [[package]]
@@ -567,9 +567,9 @@ dependencies = [
[[package]] [[package]]
name = "aws-lc-rs" name = "aws-lc-rs"
version = "1.15.3" version = "1.15.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e84ce723ab67259cfeb9877c6a639ee9eb7a27b28123abd71db7f0d5d0cc9d86" checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256"
dependencies = [ dependencies = [
"aws-lc-sys", "aws-lc-sys",
"zeroize", "zeroize",
@@ -577,9 +577,9 @@ dependencies = [
[[package]] [[package]]
name = "aws-lc-sys" name = "aws-lc-sys"
version = "0.36.0" version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a442ece363113bd4bd4c8b18977a7798dd4d3c3383f34fb61936960e8f4ad8" checksum = "5c34dda4df7017c8db52132f0f8a2e0f8161649d15723ed63fc00c82d0f2081a"
dependencies = [ dependencies = [
"cc", "cc",
"cmake", "cmake",
@@ -597,7 +597,7 @@ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"miniz_oxide", "miniz_oxide",
"object 0.37.3", "object",
"rustc-demangle", "rustc-demangle",
"windows-link 0.2.1", "windows-link 0.2.1",
] ]
@@ -934,9 +934,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.53" version = "1.2.54"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932" checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583"
dependencies = [ dependencies = [
"find-msvc-tools", "find-msvc-tools",
"jobserver", "jobserver",
@@ -1180,7 +1180,7 @@ dependencies = [
[[package]] [[package]]
name = "collections" name = "collections"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"rustc-hash 2.1.1", "rustc-hash 2.1.1",
@@ -1619,7 +1619,7 @@ dependencies = [
[[package]] [[package]]
name = "derive_refineable" name = "derive_refineable"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -1933,9 +1933,9 @@ dependencies = [
[[package]] [[package]]
name = "euclid" name = "euclid"
version = "0.22.11" version = "0.22.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad9cdb4b747e485a12abb0e6566612956c7a1bafa3bdb8d682c5b6d403589e48" checksum = "df61bf483e837f88d5c2291dcf55c67be7e676b3a51acc48db3a7b163b91ed63"
dependencies = [ dependencies = [
"num-traits", "num-traits",
] ]
@@ -2542,7 +2542,7 @@ dependencies = [
[[package]] [[package]]
name = "gpui" name = "gpui"
version = "0.2.2" version = "0.2.2"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"as-raw-xcb-connection", "as-raw-xcb-connection",
@@ -2644,7 +2644,7 @@ dependencies = [
[[package]] [[package]]
name = "gpui_macros" name = "gpui_macros"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"proc-macro2", "proc-macro2",
@@ -2655,7 +2655,7 @@ dependencies = [
[[package]] [[package]]
name = "gpui_tokio" name = "gpui_tokio"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"gpui", "gpui",
@@ -2877,7 +2877,7 @@ dependencies = [
[[package]] [[package]]
name = "http_client" name = "http_client"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-compression", "async-compression",
@@ -2902,7 +2902,7 @@ dependencies = [
[[package]] [[package]]
name = "http_client_tls" name = "http_client_tls"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"rustls", "rustls",
"rustls-platform-verifier", "rustls-platform-verifier",
@@ -3142,7 +3142,7 @@ dependencies = [
"rgb", "rgb",
"tiff", "tiff",
"zune-core 0.5.1", "zune-core 0.5.1",
"zune-jpeg 0.5.10", "zune-jpeg 0.5.11",
] ]
[[package]] [[package]]
@@ -3444,9 +3444,9 @@ dependencies = [
[[package]] [[package]]
name = "libm" name = "libm"
version = "0.2.15" version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]] [[package]]
name = "libredox" name = "libredox"
@@ -3663,7 +3663,7 @@ dependencies = [
[[package]] [[package]]
name = "media" name = "media"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bindgen", "bindgen",
@@ -3903,7 +3903,7 @@ checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8"
[[package]] [[package]]
name = "nostr" name = "nostr"
version = "0.44.1" version = "0.44.1"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"aes", "aes",
"base64", "base64",
@@ -3928,11 +3928,11 @@ dependencies = [
[[package]] [[package]]
name = "nostr-connect" name = "nostr-connect"
version = "0.44.0" version = "0.44.0"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"async-utility", "async-utility",
"nostr", "nostr",
"nostr-relay-pool", "nostr-sdk",
"tokio", "tokio",
"tracing", "tracing",
] ]
@@ -3940,7 +3940,7 @@ dependencies = [
[[package]] [[package]]
name = "nostr-database" name = "nostr-database"
version = "0.44.0" version = "0.44.0"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"btreecap", "btreecap",
"flatbuffers", "flatbuffers",
@@ -3952,7 +3952,7 @@ dependencies = [
[[package]] [[package]]
name = "nostr-gossip" name = "nostr-gossip"
version = "0.44.0" version = "0.44.0"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"nostr", "nostr",
] ]
@@ -3960,7 +3960,7 @@ dependencies = [
[[package]] [[package]]
name = "nostr-lmdb" name = "nostr-lmdb"
version = "0.44.0" version = "0.44.0"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"async-utility", "async-utility",
"flume", "flume",
@@ -3972,32 +3972,20 @@ dependencies = [
] ]
[[package]] [[package]]
name = "nostr-relay-pool" name = "nostr-sdk"
version = "0.44.0" version = "0.44.1"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59" source = "git+https://github.com/rust-nostr/nostr#07daf26c737a712b74c8edb9a9697929f4de8b21"
dependencies = [ dependencies = [
"async-utility", "async-utility",
"async-wsocket", "async-wsocket",
"atomic-destructor", "atomic-destructor",
"futures",
"hex", "hex",
"lru", "lru",
"negentropy", "negentropy",
"nostr", "nostr",
"nostr-database", "nostr-database",
"tokio",
"tracing",
]
[[package]]
name = "nostr-sdk"
version = "0.44.1"
source = "git+https://github.com/rust-nostr/nostr#6d776ad79052ec908ffdabfe4229281d917abb59"
dependencies = [
"async-utility",
"nostr",
"nostr-database",
"nostr-gossip", "nostr-gossip",
"nostr-relay-pool",
"tokio", "tokio",
"tracing", "tracing",
] ]
@@ -4259,15 +4247,6 @@ dependencies = [
"objc", "objc",
] ]
[[package]]
name = "object"
version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
dependencies = [
"memchr",
]
[[package]] [[package]]
name = "object" name = "object"
version = "0.37.3" version = "0.37.3"
@@ -4285,9 +4264,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]] [[package]]
name = "oneshot" name = "oneshot"
version = "0.1.11" version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4ce411919553d3f9fa53a0880544cda985a112117a0444d5ff1e870a893d6ea" checksum = "3ce66197e99546da6c6d991285f605192e794ceae69686c17163844a7bf8fcc2"
[[package]] [[package]]
name = "oo7" name = "oo7"
@@ -4375,9 +4354,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e"
[[package]] [[package]]
name = "openssl-probe" name = "openssl-probe"
version = "0.2.0" version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f50d9b3dabb09ecd771ad0aa242ca6894994c130308ca3d7684634df8037391" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
[[package]] [[package]]
name = "openssl-sys" name = "openssl-sys"
@@ -4523,7 +4502,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]] [[package]]
name = "perf" name = "perf"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"collections", "collections",
"serde", "serde",
@@ -4777,9 +4756,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.105" version = "1.0.106"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7" checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@@ -4805,9 +4784,9 @@ dependencies = [
[[package]] [[package]]
name = "psm" name = "psm"
version = "0.1.28" version = "0.1.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01" checksum = "1fa96cb91275ed31d6da3e983447320c4eb219ac180fa1679a0889ff32861e2d"
dependencies = [ dependencies = [
"ar_archive_writer", "ar_archive_writer",
"cc", "cc",
@@ -4921,9 +4900,9 @@ dependencies = [
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.43" version = "1.0.44"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a" checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@@ -5158,7 +5137,7 @@ dependencies = [
[[package]] [[package]]
name = "refineable" name = "refineable"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"derive_refineable", "derive_refineable",
] ]
@@ -5257,7 +5236,7 @@ dependencies = [
[[package]] [[package]]
name = "reqwest_client" name = "reqwest_client"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@@ -5311,7 +5290,7 @@ dependencies = [
[[package]] [[package]]
name = "rope" name = "rope"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"log", "log",
@@ -5449,7 +5428,7 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
dependencies = [ dependencies = [
"openssl-probe 0.2.0", "openssl-probe 0.2.1",
"rustls-pki-types", "rustls-pki-types",
"schannel", "schannel",
"security-framework 3.5.1", "security-framework 3.5.1",
@@ -5590,7 +5569,7 @@ dependencies = [
[[package]] [[package]]
name = "scheduler" name = "scheduler"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"async-task", "async-task",
"backtrace", "backtrace",
@@ -6023,9 +6002,9 @@ checksum = "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead"
[[package]] [[package]]
name = "socket2" name = "socket2"
version = "0.6.1" version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.60.2", "windows-sys 0.60.2",
@@ -6182,7 +6161,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]] [[package]]
name = "sum_tree" name = "sum_tree"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
"log", "log",
@@ -7123,7 +7102,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]] [[package]]
name = "util" name = "util"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"async-fs", "async-fs",
@@ -7140,6 +7119,7 @@ dependencies = [
"log", "log",
"mach2", "mach2",
"nix 0.29.0", "nix 0.29.0",
"percent-encoding",
"regex", "regex",
"rust-embed", "rust-embed",
"schemars", "schemars",
@@ -7152,6 +7132,7 @@ dependencies = [
"tempfile", "tempfile",
"tendril", "tendril",
"unicase", "unicase",
"url",
"walkdir", "walkdir",
"which", "which",
] ]
@@ -7159,7 +7140,7 @@ dependencies = [
[[package]] [[package]]
name = "util_macros" name = "util_macros"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"perf", "perf",
"quote", "quote",
@@ -7168,9 +7149,9 @@ dependencies = [
[[package]] [[package]]
name = "uuid" name = "uuid"
version = "1.19.0" version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a" checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f"
dependencies = [ dependencies = [
"getrandom 0.3.4", "getrandom 0.3.4",
"js-sys", "js-sys",
@@ -8366,9 +8347,9 @@ dependencies = [
[[package]] [[package]]
name = "zbus" name = "zbus"
version = "5.13.1" version = "5.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17f79257df967b6779afa536788657777a0001f5b42524fcaf5038d4344df40b" checksum = "1bfeff997a0aaa3eb20c4652baf788d2dfa6d2839a0ead0b3ff69ce2f9c4bdd1"
dependencies = [ dependencies = [
"async-broadcast", "async-broadcast",
"async-executor", "async-executor",
@@ -8401,9 +8382,9 @@ dependencies = [
[[package]] [[package]]
name = "zbus_macros" name = "zbus_macros"
version = "5.13.1" version = "5.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aad23e2d2f91cae771c7af7a630a49e755f1eb74f8a46e9f6d5f7a146edf5a37" checksum = "0bbd5a90dbe8feee5b13def448427ae314ccd26a49cac47905cafefb9ff846f1"
dependencies = [ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
@@ -8635,7 +8616,7 @@ dependencies = [
[[package]] [[package]]
name = "zlog" name = "zlog"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@@ -8645,14 +8626,14 @@ dependencies = [
[[package]] [[package]]
name = "zmij" name = "zmij"
version = "1.0.15" version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f63c051f4fe3c1509da62131a678643c5b6fbdc9273b2b79d4378ebda003d2" checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439"
[[package]] [[package]]
name = "ztracing" name = "ztracing"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
dependencies = [ dependencies = [
"tracing", "tracing",
"tracing-subscriber", "tracing-subscriber",
@@ -8663,7 +8644,7 @@ dependencies = [
[[package]] [[package]]
name = "ztracing_macro" name = "ztracing_macro"
version = "0.1.0" version = "0.1.0"
source = "git+https://github.com/zed-industries/zed#e476af6417576903700f8a7645a7de3315b5ff6c" source = "git+https://github.com/zed-industries/zed#aceff52f8a93a31009d6f5284253f0b334a043dc"
[[package]] [[package]]
name = "zune-core" name = "zune-core"
@@ -8697,9 +8678,9 @@ dependencies = [
[[package]] [[package]]
name = "zune-jpeg" name = "zune-jpeg"
version = "0.5.10" version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea2db9186c0a6ad1aa7012046f3fadc8db9001691b367c510f5867f17f975752" checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2"
dependencies = [ dependencies = [
"zune-core 0.5.1", "zune-core 0.5.1",
] ]

View File

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none">
<path d="M9.8007 10.25C8.74816 10.25 8.16683 11.4713 8.83056 12.2882L11.0301 14.9953C11.5303 15.611 12.4701 15.611 12.9704 14.9953L15.1699 12.2882C15.8336 11.4713 15.2523 10.25 14.1997 10.25H9.8007Z" fill="currentColor"/>
</svg>

After

Width:  |  Height:  |  Size: 302 B

0
assets/themes/.keep Normal file
View File

View File

@@ -302,6 +302,11 @@ impl ChatRegistry {
.map(|this| this.downgrade()) .map(|this| this.downgrade())
} }
/// Get all rooms.
pub fn rooms(&self, _cx: &App) -> &Vec<Entity<Room>> {
&self.rooms
}
/// Get all ongoing rooms. /// Get all ongoing rooms.
pub fn ongoing_rooms(&self, cx: &App) -> Vec<Entity<Room>> { pub fn ongoing_rooms(&self, cx: &App) -> Vec<Entity<Room>> {
self.rooms self.rooms

View File

@@ -2,12 +2,12 @@ use std::ops::Range;
use std::time::Duration; use std::time::Duration;
use anyhow::{anyhow, Error}; use anyhow::{anyhow, Error};
use chat::{ChatEvent, ChatRegistry, Room, RoomKind}; use chat::{ChatEvent, ChatRegistry, Room};
use common::{DebouncedDelay, RenderedTimestamp, TextUtils, BOOTSTRAP_RELAYS, SEARCH_RELAYS}; use common::{DebouncedDelay, RenderedTimestamp, TextUtils, BOOTSTRAP_RELAYS, SEARCH_RELAYS};
use dock::panel::{Panel, PanelEvent}; use dock::panel::{Panel, PanelEvent};
use gpui::prelude::FluentBuilder; use gpui::prelude::FluentBuilder;
use gpui::{ use gpui::{
deferred, div, relative, rems, uniform_list, App, AppContext, Context, Entity, EventEmitter, deferred, div, rems, uniform_list, App, AppContext, Context, Decorations, Entity, EventEmitter,
FocusHandle, Focusable, InteractiveElement, IntoElement, ParentElement, Render, FocusHandle, Focusable, InteractiveElement, IntoElement, ParentElement, Render,
RetainAllImageCache, SharedString, Styled, Subscription, Task, Window, RetainAllImageCache, SharedString, Styled, Subscription, Task, Window,
}; };
@@ -17,12 +17,11 @@ use nostr_sdk::prelude::*;
use person::PersonRegistry; use person::PersonRegistry;
use smallvec::{smallvec, SmallVec}; use smallvec::{smallvec, SmallVec};
use state::{NostrRegistry, GIFTWRAP_SUBSCRIPTION}; use state::{NostrRegistry, GIFTWRAP_SUBSCRIPTION};
use theme::{ActiveTheme, TITLEBAR_HEIGHT}; use theme::{ActiveTheme, CLIENT_SIDE_DECORATION_ROUNDING, TITLEBAR_HEIGHT};
use ui::avatar::Avatar; use ui::avatar::Avatar;
use ui::button::{Button, ButtonVariants}; use ui::button::{Button, ButtonVariants};
use ui::input::{InputEvent, InputState, TextInput}; use ui::input::{InputEvent, InputState, TextInput};
use ui::popup_menu::PopupMenuExt; use ui::{h_flex, v_flex, Icon, IconName, Sizable, StyledExt, WindowExtension};
use ui::{h_flex, v_flex, Icon, IconName, Selectable, Sizable, StyledExt, WindowExtension};
use crate::actions::{RelayStatus, Reload}; use crate::actions::{RelayStatus, Reload};
use crate::views::compose::compose_button; use crate::views::compose::compose_button;
@@ -64,16 +63,12 @@ pub struct Sidebar {
/// New request flag /// New request flag
new_request: bool, new_request: bool,
/// Current chat room filter
active_filter: Entity<RoomKind>,
/// Event subscriptions /// Event subscriptions
_subscriptions: SmallVec<[Subscription; 2]>, _subscriptions: SmallVec<[Subscription; 2]>,
} }
impl Sidebar { impl Sidebar {
fn new(window: &mut Window, cx: &mut Context<Self>) -> Self { fn new(window: &mut Window, cx: &mut Context<Self>) -> Self {
let active_filter = cx.new(|_| RoomKind::Ongoing);
let search_results = cx.new(|_| None); let search_results = cx.new(|_| None);
// Define the find input state // Define the find input state
@@ -131,7 +126,6 @@ impl Sidebar {
find_debouncer: DebouncedDelay::new(), find_debouncer: DebouncedDelay::new(),
finding: false, finding: false,
new_request: false, new_request: false,
active_filter,
find_input, find_input,
search_results, search_results,
search_task: None, search_task: None,
@@ -412,19 +406,6 @@ impl Sidebar {
}); });
} }
fn filter(&self, kind: &RoomKind, cx: &Context<Self>) -> bool {
self.active_filter.read(cx) == kind
}
fn set_filter(&mut self, kind: RoomKind, cx: &mut Context<Self>) {
self.active_filter.update(cx, |this, cx| {
*this = kind;
cx.notify();
});
self.new_request = false;
cx.notify();
}
fn open(&mut self, id: u64, window: &mut Window, cx: &mut Context<Self>) { fn open(&mut self, id: u64, window: &mut Window, cx: &mut Context<Self>) {
let chat = ChatRegistry::global(cx); let chat = ChatRegistry::global(cx);
@@ -536,43 +517,53 @@ impl Sidebar {
}); });
} }
fn list_items( fn render_list_items(
&self, &self,
rooms: &[Entity<Room>],
range: Range<usize>, range: Range<usize>,
_window: &Window,
cx: &Context<Self>, cx: &Context<Self>,
) -> Vec<impl IntoElement> { ) -> Vec<impl IntoElement> {
let mut items = Vec::with_capacity(range.end - range.start); let chat = ChatRegistry::global(cx);
for ix in range { // Get all rooms from search results or chat registry
let Some(room) = rooms.get(ix) else { let all_rooms = match self.search_results.read(cx).as_ref() {
items.push(RoomListItem::new(ix)); Some(results) => results,
continue; None => chat.read(cx).rooms(cx),
}; };
let this = room.read(cx); // If no rooms are found, return a placeholder element for each index in the range
let room_id = this.id; let Some(visible_rooms) = all_rooms.get(range.clone()) else {
let member = this.display_member(cx); return range
.into_iter()
.map(|ix| RoomListItem::new(ix).into_any_element())
.collect();
};
let handler = cx.listener({ visible_rooms
move |this, _, window, cx| { .iter()
this.open(room_id, window, cx); .enumerate()
} .map(|(ix, item)| {
}); let this = item.read(cx);
let room_id = this.id;
let member = this.display_member(cx);
items.push( let handler = cx.listener({
RoomListItem::new(ix) move |this, _ev, window, cx| {
this.open(room_id, window, cx);
}
});
RoomListItem::new(range.start + ix)
.room_id(room_id) .room_id(room_id)
.name(this.display_name(cx)) .name(this.display_name(cx))
.avatar(this.display_image(cx)) .avatar(this.display_image(cx))
.public_key(member.public_key()) .public_key(member.public_key())
.kind(this.kind) .kind(this.kind)
.created_at(this.created_at.to_ago()) .created_at(this.created_at.to_ago())
.on_click(handler), .on_click(handler)
) .into_any_element()
} })
.collect()
items
} }
} }
@@ -591,10 +582,8 @@ impl Focusable for Sidebar {
} }
impl Render for Sidebar { impl Render for Sidebar {
fn render(&mut self, _window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
const EMPTY_HELP: &str = "Start a conversation with someone to get started."; let decorations = window.window_decorations();
const REQUEST_HELP: &str =
"New message requests from people you don't know will appear here.";
let nostr = NostrRegistry::global(cx); let nostr = NostrRegistry::global(cx);
let identity = nostr.read(cx).identity(); let identity = nostr.read(cx).identity();
@@ -603,15 +592,9 @@ impl Render for Sidebar {
let loading = chat.read(cx).loading(); let loading = chat.read(cx).loading();
// Get rooms from either search results or the chat registry // Get rooms from either search results or the chat registry
let rooms = if let Some(results) = self.search_results.read(cx).as_ref() { let rooms = match self.search_results.read(cx).as_ref() {
results.to_owned() Some(results) => results,
} else { None => chat.read(cx).rooms(cx),
// Filter rooms based on the active filter
if self.active_filter.read(cx) == &RoomKind::Ongoing {
chat.read(cx).ongoing_rooms(cx)
} else {
chat.read(cx).request_rooms(cx)
}
}; };
// Get total rooms count // Get total rooms count
@@ -628,11 +611,18 @@ impl Render for Sidebar {
.image_cache(self.image_cache.clone()) .image_cache(self.image_cache.clone())
.size_full() .size_full()
.relative() .relative()
.gap_3() .gap_2()
.bg(cx.theme().surface_background) .bg(cx.theme().surface_background)
.map(|this| match decorations {
Decorations::Server => this,
Decorations::Client { .. } => this
.rounded_tl(CLIENT_SIDE_DECORATION_ROUNDING)
.rounded_bl(CLIENT_SIDE_DECORATION_ROUNDING),
})
// Titlebar // Titlebar
.child( .child(
h_flex() h_flex()
.px_2p5()
.child( .child(
h_flex() h_flex()
.w_full() .w_full()
@@ -643,14 +633,15 @@ impl Render for Sidebar {
let profile = persons.read(cx).get(&public_key, cx); let profile = persons.read(cx).get(&public_key, cx);
this.child( this.child(
Button::new("user") h_flex()
.label(profile.name()) .gap_1p5()
.reverse() .text_xs()
.transparent() .text_color(cx.theme().text_muted)
.child(Avatar::new(profile.avatar()).size(rems(1.6))), .child(Avatar::new(profile.avatar()).size(rems(1.25)))
.child(profile.name()),
) )
}) })
.child(div().pr_2p5().child(compose_button())), .child(compose_button()),
) )
.h(TITLEBAR_HEIGHT), .h(TITLEBAR_HEIGHT),
) )
@@ -678,132 +669,39 @@ impl Render for Sidebar {
}), }),
), ),
) )
.when(!loading && total_rooms == 0, |this| {
this.child(deferred(
v_flex()
.py_2()
.px_3()
.items_center()
.justify_center()
.text_center()
.child(
div()
.text_sm()
.font_semibold()
.child(SharedString::from("No conversations")),
)
.child(div().text_xs().text_color(cx.theme().text_muted).child(
SharedString::from("Start a conversation with someone to get started."),
)),
))
})
// Chat Rooms // Chat Rooms
.child( .child(
v_flex() v_flex()
.gap_1()
.flex_1()
.px_1p5() .px_1p5()
.w_full() .w_full()
.flex_1()
.gap_1()
.overflow_y_hidden() .overflow_y_hidden()
.child(
div()
.px_1()
.h_flex()
.gap_2()
.flex_none()
.child(
Button::new("all")
.label("All")
.tooltip("All ongoing conversations")
.small()
.cta()
.bold()
.secondary()
.rounded()
.selected(self.filter(&RoomKind::Ongoing, cx))
.on_click(cx.listener(|this, _, _, cx| {
this.set_filter(RoomKind::Ongoing, cx);
})),
)
.child(
Button::new("requests")
.label("Requests")
.tooltip("Incoming new conversations")
.when(self.new_request, |this| {
this.child(
div().size_1().rounded_full().bg(cx.theme().cursor),
)
})
.small()
.cta()
.bold()
.secondary()
.rounded()
.selected(!self.filter(&RoomKind::Ongoing, cx))
.on_click(cx.listener(|this, _, _, cx| {
this.set_filter(RoomKind::default(), cx);
})),
)
.child(
h_flex()
.flex_1()
.w_full()
.justify_end()
.items_center()
.text_xs()
.child(
Button::new("option")
.icon(IconName::Ellipsis)
.xsmall()
.ghost()
.rounded()
.popup_menu(move |this, _window, _cx| {
this.menu("Reload", Box::new(Reload))
.menu("Relay Status", Box::new(RelayStatus))
}),
),
),
)
.when(!loading && total_rooms == 0, |this| {
this.map(|this| {
if self.filter(&RoomKind::Ongoing, cx) {
this.child(deferred(
v_flex()
.py_2()
.px_1p5()
.gap_1p5()
.items_center()
.justify_center()
.text_center()
.child(
div()
.text_sm()
.font_semibold()
.line_height(relative(1.25))
.child(SharedString::from("No conversations")),
)
.child(
div()
.text_xs()
.text_color(cx.theme().text_muted)
.line_height(relative(1.25))
.child(SharedString::from(EMPTY_HELP)),
),
))
} else {
this.child(deferred(
v_flex()
.py_2()
.px_1p5()
.gap_1p5()
.items_center()
.justify_center()
.text_center()
.child(
div()
.text_sm()
.font_semibold()
.line_height(relative(1.25))
.child(SharedString::from("No message requests")),
)
.child(
div()
.text_xs()
.text_color(cx.theme().text_muted)
.line_height(relative(1.25))
.child(SharedString::from(REQUEST_HELP)),
),
))
}
})
})
.child( .child(
uniform_list( uniform_list(
"rooms", "rooms",
total_rooms, total_rooms,
cx.processor(move |this, range, _window, cx| { cx.processor(|this, range, window, cx| {
this.list_items(&rooms, range, cx) this.render_list_items(range, window, cx)
}), }),
) )
.h_full(), .h_full(),

View File

@@ -1,5 +1,6 @@
use std::time::Duration; use std::time::Duration;
use anyhow::Error;
use common::{nip05_verify, shorten_pubkey}; use common::{nip05_verify, shorten_pubkey};
use gpui::prelude::FluentBuilder; use gpui::prelude::FluentBuilder;
use gpui::{ use gpui::{

View File

@@ -1,5 +1,6 @@
use std::time::Duration; use std::time::Duration;
use anyhow::Error;
use common::{nip05_verify, shorten_pubkey, RenderedProfile, RenderedTimestamp, BOOTSTRAP_RELAYS}; use common::{nip05_verify, shorten_pubkey, RenderedProfile, RenderedTimestamp, BOOTSTRAP_RELAYS};
use gpui::prelude::FluentBuilder; use gpui::prelude::FluentBuilder;
use gpui::{ use gpui::{

View File

@@ -75,13 +75,7 @@ impl RenderOnce for WindowControl {
this.child( this.child(
svg() svg()
.external_path(path.into_os_string().into_string().unwrap()) .external_path(path.into_os_string().into_string().unwrap())
.map(|this| { .text_color(cx.theme().text)
if cx.theme().is_dark() {
this.text_color(gpui::white())
} else {
this.text_color(gpui::black())
}
})
.size_4(), .size_4(),
) )
} else { } else {

View File

@@ -8,13 +8,10 @@ use crate::scale::{ColorScale, ColorScaleSet, ColorScales};
pub struct ThemeColors { pub struct ThemeColors {
// Surface colors // Surface colors
pub background: Hsla, pub background: Hsla,
pub overlay: Hsla,
pub surface_background: Hsla, pub surface_background: Hsla,
pub elevated_surface_background: Hsla, pub elevated_surface_background: Hsla,
pub panel_background: Hsla, pub panel_background: Hsla,
pub overlay: Hsla,
pub title_bar: Hsla,
pub title_bar_inactive: Hsla,
pub window_border: Hsla,
// Border colors // Border colors
pub border: Hsla, pub border: Hsla,
@@ -108,9 +105,6 @@ impl ThemeColors {
elevated_surface_background: neutral().dark().step_3(), elevated_surface_background: neutral().dark().step_3(),
panel_background: neutral().dark().step_1(), panel_background: neutral().dark().step_1(),
overlay: neutral().dark_alpha().step_3(), overlay: neutral().dark_alpha().step_3(),
title_bar: gpui::transparent_black(),
title_bar_inactive: neutral().dark().step_1(),
window_border: hsl(240.0, 3.7, 28.0),
border: neutral().dark().step_6(), border: neutral().dark().step_6(),
border_variant: neutral().dark().step_5(), border_variant: neutral().dark().step_5(),

View File

@@ -12,6 +12,7 @@ pub enum IconName {
ArrowLeft, ArrowLeft,
ArrowRight, ArrowRight,
Boom, Boom,
ChevronDown,
CaretDown, CaretDown,
CaretRight, CaretRight,
CaretUp, CaretUp,
@@ -57,6 +58,7 @@ impl IconName {
Self::ArrowLeft => "icons/arrow-left.svg", Self::ArrowLeft => "icons/arrow-left.svg",
Self::ArrowRight => "icons/arrow-right.svg", Self::ArrowRight => "icons/arrow-right.svg",
Self::Boom => "icons/boom.svg", Self::Boom => "icons/boom.svg",
Self::ChevronDown => "icons/chevron-down.svg",
Self::CaretDown => "icons/caret-down.svg", Self::CaretDown => "icons/caret-down.svg",
Self::CaretRight => "icons/caret-right.svg", Self::CaretRight => "icons/caret-right.svg",
Self::CaretUp => "icons/caret-up.svg", Self::CaretUp => "icons/caret-up.svg",

View File

@@ -2,9 +2,9 @@ use std::rc::Rc;
use gpui::prelude::FluentBuilder; use gpui::prelude::FluentBuilder;
use gpui::{ use gpui::{
canvas, div, point, px, AnyView, App, AppContext, Bounds, Context, CursorStyle, Decorations, canvas, div, point, px, rgba, AnyView, App, AppContext, Bounds, Context, CursorStyle,
Edges, Entity, FocusHandle, HitboxBehavior, Hsla, InteractiveElement, IntoElement, MouseButton, Decorations, Edges, Entity, FocusHandle, HitboxBehavior, Hsla, InteractiveElement, IntoElement,
ParentElement as _, Pixels, Point, Render, ResizeEdge, SharedString, Size, Styled, MouseButton, ParentElement as _, Pixels, Point, Render, ResizeEdge, SharedString, Size, Styled,
WeakFocusHandle, Window, WeakFocusHandle, Window,
}; };
use theme::{ use theme::{
@@ -324,7 +324,9 @@ impl Render for Root {
.map(|div| match decorations { .map(|div| match decorations {
Decorations::Server => div, Decorations::Server => div,
Decorations::Client { tiling } => div Decorations::Client { tiling } => div
.border_color(cx.theme().window_border) .when(!cx.theme().platform.is_mac(), |div| {
div.border_color(rgba(0x64748b33))
})
.when(!(tiling.top || tiling.right), |div| { .when(!(tiling.top || tiling.right), |div| {
div.rounded_tr(CLIENT_SIDE_DECORATION_ROUNDING) div.rounded_tr(CLIENT_SIDE_DECORATION_ROUNDING)
}) })