diff --git a/Cargo.lock b/Cargo.lock index d2b4a84..3fc5630 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1231,7 +1231,7 @@ dependencies = [ [[package]] name = "collections" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "gpui_util", "indexmap", @@ -1715,7 +1715,7 @@ dependencies = [ [[package]] name = "derive_refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "proc-macro2", "quote", @@ -2611,7 +2611,7 @@ dependencies = [ [[package]] name = "gpui" version = "0.2.2" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "accesskit", "anyhow", @@ -2693,7 +2693,7 @@ dependencies = [ [[package]] name = "gpui_linux" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "accesskit", "accesskit_unix", @@ -2745,7 +2745,7 @@ dependencies = [ [[package]] name = "gpui_macos" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "accesskit", "accesskit_macos", @@ -2794,7 +2794,7 @@ dependencies = [ [[package]] name = "gpui_macros" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "heck 0.5.0", "proc-macro2", @@ -2805,7 +2805,7 @@ dependencies = [ [[package]] name = "gpui_platform" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "console_error_panic_hook", "gpui", @@ -2818,7 +2818,7 @@ dependencies = [ [[package]] name = "gpui_shared_string" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "schemars", "serde", @@ -2828,7 +2828,7 @@ dependencies = [ [[package]] name = "gpui_tokio" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "gpui", @@ -2839,7 +2839,7 @@ dependencies = [ [[package]] name = "gpui_util" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "log", @@ -2849,7 +2849,7 @@ dependencies = [ [[package]] name = "gpui_web" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "console_error_panic_hook", @@ -2872,7 +2872,7 @@ dependencies = [ [[package]] name = "gpui_wgpu" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "bytemuck", @@ -2902,7 +2902,7 @@ dependencies = [ [[package]] name = "gpui_windows" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "accesskit", "accesskit_windows", @@ -3192,7 +3192,7 @@ dependencies = [ [[package]] name = "http_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "async-compression", @@ -3212,7 +3212,7 @@ dependencies = [ [[package]] name = "http_client_tls" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "rustls", "rustls-platform-verifier", @@ -4019,7 +4019,7 @@ dependencies = [ [[package]] name = "media" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "bindgen", @@ -4922,7 +4922,7 @@ checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "perf" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "collections", "serde", @@ -5734,7 +5734,7 @@ dependencies = [ [[package]] name = "refineable" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "derive_refineable", ] @@ -5816,7 +5816,7 @@ dependencies = [ [[package]] name = "reqwest_client" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "bytes", @@ -6131,7 +6131,7 @@ dependencies = [ [[package]] name = "scheduler" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "async-task", "backtrace", @@ -6757,7 +6757,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sum_tree" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "heapless 0.9.3", "log", @@ -7758,7 +7758,7 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "util_macros" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "perf", "quote", @@ -9491,7 +9491,7 @@ dependencies = [ [[package]] name = "zlog" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "anyhow", "chrono", @@ -9508,7 +9508,7 @@ checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" [[package]] name = "ztracing" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" dependencies = [ "tracing", "tracing-subscriber", @@ -9519,7 +9519,7 @@ dependencies = [ [[package]] name = "ztracing_macro" version = "0.1.0" -source = "git+https://github.com/zed-industries/zed#b535bec7bf42bff5692f90022dc6c1049fdc1e91" +source = "git+https://github.com/zed-industries/zed#f851d82e880c152d0f41e4a60d363aa82b4b8114" [[package]] name = "zune-core" diff --git a/Cargo.toml b/Cargo.toml index 4dc06a4..980975d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,62 +1,62 @@ -[workspace] -resolver = "2" -members = ["crates/*", "desktop", "web"] -default-members = ["desktop"] - -[workspace.package] -version = "1.0.0-beta5" -edition = "2024" -publish = false - -[workspace.dependencies] -# GPUI -gpui = { git = "https://github.com/zed-industries/zed" } -gpui_platform = { git = "https://github.com/zed-industries/zed", features = ["font-kit", "x11", "wayland"] } -gpui_linux = { git = "https://github.com/zed-industries/zed" } -gpui_windows = { git = "https://github.com/zed-industries/zed" } -gpui_macos = { git = "https://github.com/zed-industries/zed" } -gpui_tokio = { git = "https://github.com/zed-industries/zed" } -reqwest_client = { git = "https://github.com/zed-industries/zed" } - -# Nostr -nostr-lmdb = { git = "https://github.com/rust-nostr/nostr" } -nostr-memory = { git = "https://github.com/rust-nostr/nostr" } -nostr-blossom = { git = "https://github.com/rust-nostr/nostr" } -nostr-gossip-memory = { git = "https://github.com/rust-nostr/nostr" } -nostr-connect = { git = "https://github.com/rust-nostr/nostr" } -nostr-sdk = { git = "https://github.com/rust-nostr/nostr" } -nostr = { git = "https://github.com/rust-nostr/nostr", features = [ "nip59", "nip49", "nip44" ] } - -# Others -anyhow = "1.0.44" -chrono = { version = "0.4.38", features = ["wasmbind"] } -futures = "0.3" -itertools = "0.13.0" -log = "0.4" -oneshot = "0.1.10" -flume = { version = "0.11.1", default-features = false, features = ["async", "select"] } -rust-embed = { version = "8.5", features = ["include-exclude"] } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -schemars = "1" -smallvec = "1.14.0" -smol = "2" -webbrowser = "1.0.4" -tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } -errno = { version = "0.3.14", default-features = false } -instant = "0.1" - -[patch.crates-io] -# Use stacker's psm version which may have better WASM support -psm = { git = "https://github.com/rust-lang/stacker", branch = "master" } - -[profile.release] -strip = true -opt-level = "z" -lto = true -codegen-units = 1 -panic = "abort" - -[profile.profiling] -inherits = "release" -debug = true +[workspace] +resolver = "2" +members = ["crates/*", "desktop", "web"] +default-members = ["desktop"] + +[workspace.package] +version = "1.0.0-beta5" +edition = "2024" +publish = false + +[workspace.dependencies] +# GPUI +gpui = { git = "https://github.com/zed-industries/zed" } +gpui_platform = { git = "https://github.com/zed-industries/zed", features = ["font-kit", "x11", "wayland"] } +gpui_linux = { git = "https://github.com/zed-industries/zed" } +gpui_windows = { git = "https://github.com/zed-industries/zed" } +gpui_macos = { git = "https://github.com/zed-industries/zed" } +gpui_tokio = { git = "https://github.com/zed-industries/zed" } +reqwest_client = { git = "https://github.com/zed-industries/zed" } + +# Nostr +nostr-lmdb = { git = "https://github.com/rust-nostr/nostr" } +nostr-memory = { git = "https://github.com/rust-nostr/nostr" } +nostr-blossom = { git = "https://github.com/rust-nostr/nostr" } +nostr-gossip-memory = { git = "https://github.com/rust-nostr/nostr" } +nostr-connect = { git = "https://github.com/rust-nostr/nostr" } +nostr-sdk = { git = "https://github.com/rust-nostr/nostr" } +nostr = { git = "https://github.com/rust-nostr/nostr", features = [ "nip59", "nip49", "nip44" ] } + +# Others +anyhow = "1.0.44" +chrono = { version = "0.4.38", features = ["wasmbind"] } +futures = "0.3" +itertools = "0.13.0" +log = "0.4" +oneshot = "0.1.10" +flume = { version = "0.11.1", default-features = false, features = ["async", "select"] } +rust-embed = { version = "8.5", features = ["include-exclude"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +schemars = "1" +smallvec = "1.14.0" +smol = "2" +webbrowser = "1.0.4" +tracing-subscriber = { version = "0.3.18", features = ["fmt", "env-filter"] } +errno = { version = "0.3.14", default-features = false } +instant = "0.1" + +[patch.crates-io] +# Use stacker's psm version which may have better WASM support +psm = { git = "https://github.com/rust-lang/stacker", branch = "master" } + +[profile.release] +strip = true +opt-level = "z" +lto = true +codegen-units = 1 +panic = "abort" + +[profile.profiling] +inherits = "release" +debug = true diff --git a/crates/chat/src/lib.rs b/crates/chat/src/lib.rs index 9ddd6b0..a6c9ec2 100644 --- a/crates/chat/src/lib.rs +++ b/crates/chat/src/lib.rs @@ -298,8 +298,11 @@ impl ChatRegistry { })?; } Signal::Eose => { - this.update(cx, |this, cx| { + this.update(cx, |this, _cx| { this.tracking.store(false, Ordering::Release); + })?; + + this.update(cx, |this, cx| { this.get_rooms(cx); })?; } diff --git a/crates/settings/src/lib.rs b/crates/settings/src/lib.rs index 89e6080..150ae19 100644 --- a/crates/settings/src/lib.rs +++ b/crates/settings/src/lib.rs @@ -1,4 +1,3 @@ -use std::fmt::Display; use std::rc::Rc; use anyhow::{Error, anyhow}; @@ -42,28 +41,10 @@ setting_accessors! { pub hide_avatar: bool, pub screening: bool, pub nip4e: bool, - pub auth_mode: AuthMode, pub trusted_relays: Vec, pub file_server: Url, } -/// Authentication mode -#[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)] -pub enum AuthMode { - #[default] - Auto, - Manual, -} - -impl Display for AuthMode { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - AuthMode::Auto => write!(f, "Auto"), - AuthMode::Manual => write!(f, "Ask every time"), - } - } -} - /// Signer kind #[derive(Debug, Clone, Default, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)] pub enum SignerKind { @@ -141,9 +122,6 @@ pub struct Settings { /// Enable decoupling encryption key pub nip4e: bool, - /// Authentication mode - pub auth_mode: AuthMode, - /// Trusted relays; Coop will automatically authenticate with these relays pub trusted_relays: Vec, @@ -159,7 +137,6 @@ impl Default for Settings { hide_avatar: false, screening: true, nip4e: false, - auth_mode: AuthMode::default(), trusted_relays: vec![], file_server: Url::parse("https://blossom.band/").unwrap(), } diff --git a/crates/workspace/src/dialogs/settings.rs b/crates/workspace/src/dialogs/settings.rs index 5bf9081..185c814 100644 --- a/crates/workspace/src/dialogs/settings.rs +++ b/crates/workspace/src/dialogs/settings.rs @@ -3,7 +3,7 @@ use gpui::{ App, AppContext, Context, Entity, IntoElement, ParentElement, Render, SharedString, Styled, Window, div, px, }; -use settings::{AppSettings, AuthMode}; +use settings::AppSettings; use theme::{ActiveTheme, Theme, ThemeMode}; use ui::button::{Button, ButtonVariants}; use ui::group_box::{GroupBox, GroupBoxVariants}; @@ -60,13 +60,11 @@ impl Render for Preferences { const AVATAR: &str = "Hide all avatar pictures to improve performance."; const MODE: &str = "Use the selected light or dark theme, or to follow the OS."; const NIP4E: &str = "Use a dedicated key to encrypt and decrypt messages."; - const AUTH: &str = "Choose the authentication behavior for relays."; const RESET: &str = "Reset the theme to the default one."; let screening = AppSettings::get_screening(cx); let hide_avatar = AppSettings::get_hide_avatar(cx); let nip4e = AppSettings::get_nip4e(cx); - let auth_mode = AppSettings::get_auth_mode(cx); let theme_mode = AppSettings::get_theme_mode(cx); v_flex() @@ -93,52 +91,6 @@ impl Render for Preferences { .on_click(move |_, _window, cx| { AppSettings::update_hide_avatar(!hide_avatar, cx); }), - ) - .child( - h_flex() - .gap_3() - .justify_between() - .child( - v_flex() - .child( - div() - .text_sm() - .child(SharedString::from("Relay authentication")), - ) - .child( - div() - .text_xs() - .text_color(cx.theme().text_muted) - .child(SharedString::from(AUTH)), - ), - ) - .child( - Button::new("auth") - .label(auth_mode.to_string()) - .ghost_alt() - .small() - .dropdown_menu(|this, _window, _cx| { - this.min_w(px(256.)) - .item( - PopupMenuItem::new("Auto authentication").on_click( - |_ev, _window, cx| { - AppSettings::update_auth_mode( - AuthMode::Auto, - cx, - ); - }, - ), - ) - .item(PopupMenuItem::new("Ask every time").on_click( - |_ev, _window, cx| { - AppSettings::update_auth_mode( - AuthMode::Manual, - cx, - ); - }, - )) - }), - ), ), ) .child(