Compare commits

...

2 Commits

Author SHA1 Message Date
1832d77e78 chore: Release
Some checks failed
Continuous integration / Check (push) Successful in 39s
Continuous integration / Test Suite (push) Successful in 41s
Continuous integration / Trunk (push) Failing after 35s
Continuous integration / build (push) Successful in 48s
Continuous integration / Rustfmt (push) Successful in 56s
Continuous integration / Disallow unused dependencies (push) Successful in 54s
2025-04-15 20:30:21 -07:00
aca6bce1ff web: connect to the correct ws endpoint in production 2025-04-15 20:30:02 -07:00
7 changed files with 20 additions and 18 deletions

10
Cargo.lock generated
View File

@ -2995,7 +2995,7 @@ dependencies = [
[[package]] [[package]]
name = "letterbox-notmuch" name = "letterbox-notmuch"
version = "0.15.4" version = "0.15.5"
dependencies = [ dependencies = [
"itertools", "itertools",
"log", "log",
@ -3010,14 +3010,14 @@ dependencies = [
[[package]] [[package]]
name = "letterbox-procmail2notmuch" name = "letterbox-procmail2notmuch"
version = "0.15.4" version = "0.15.5"
dependencies = [ dependencies = [
"anyhow", "anyhow",
] ]
[[package]] [[package]]
name = "letterbox-server" name = "letterbox-server"
version = "0.15.4" version = "0.15.5"
dependencies = [ dependencies = [
"ammonia", "ammonia",
"anyhow", "anyhow",
@ -3061,7 +3061,7 @@ dependencies = [
[[package]] [[package]]
name = "letterbox-shared" name = "letterbox-shared"
version = "0.15.4" version = "0.15.5"
dependencies = [ dependencies = [
"build-info", "build-info",
"letterbox-notmuch", "letterbox-notmuch",
@ -3071,7 +3071,7 @@ dependencies = [
[[package]] [[package]]
name = "letterbox-web" name = "letterbox-web"
version = "0.15.4" version = "0.15.5"
dependencies = [ dependencies = [
"build-info", "build-info",
"build-info-build", "build-info-build",

View File

@ -8,7 +8,7 @@ authors = ["Bill Thiede <git@xinu.tv>"]
edition = "2021" edition = "2021"
license = "UNLICENSED" license = "UNLICENSED"
publish = ["xinu"] publish = ["xinu"]
version = "0.15.4" version = "0.15.5"
repository = "https://git.z.xinu.tv/wathiede/letterbox" repository = "https://git.z.xinu.tv/wathiede/letterbox"
[profile.dev] [profile.dev]

View File

@ -27,8 +27,8 @@ css-inline = "0.14.0"
futures = "0.3.31" futures = "0.3.31"
headers = "0.4.0" headers = "0.4.0"
html-escape = "0.2.13" html-escape = "0.2.13"
letterbox-notmuch = { version = "0.15.4", path = "../notmuch", registry = "xinu" } letterbox-notmuch = { version = "0.15.5", path = "../notmuch", registry = "xinu" }
letterbox-shared = { version = "0.15.4", path = "../shared", registry = "xinu" } letterbox-shared = { version = "0.15.5", path = "../shared", registry = "xinu" }
linkify = "0.10.0" linkify = "0.10.0"
log = "0.4.17" log = "0.4.17"
lol_html = "2.0.0" lol_html = "2.0.0"

View File

@ -12,6 +12,6 @@ version.workspace = true
[dependencies] [dependencies]
build-info = "0.0.40" build-info = "0.0.40"
letterbox-notmuch = { version = "0.15.4", path = "../notmuch", registry = "xinu" } letterbox-notmuch = { version = "0.15.5", path = "../notmuch", registry = "xinu" }
serde = { version = "1.0.147", features = ["derive"] } serde = { version = "1.0.147", features = ["derive"] }
strum_macros = "0.27.1" strum_macros = "0.27.1"

View File

@ -33,8 +33,8 @@ wasm-bindgen = "=0.2.100"
uuid = { version = "1.13.1", features = [ uuid = { version = "1.13.1", features = [
"js", "js",
] } # direct dep to set js feature, prevents Rng issues ] } # direct dep to set js feature, prevents Rng issues
letterbox-shared = { version = "0.15.4", path = "../shared", registry = "xinu" } letterbox-shared = { version = "0.15.5", path = "../shared", registry = "xinu" }
letterbox-notmuch = { version = "0.15.4", path = "../notmuch", registry = "xinu" } letterbox-notmuch = { version = "0.15.5", path = "../notmuch", registry = "xinu" }
seed_hooks = { version = "0.4.0", registry = "xinu" } seed_hooks = { version = "0.4.0", registry = "xinu" }
strum_macros = "0.27.1" strum_macros = "0.27.1"
gloo-console = "0.3.0" gloo-console = "0.3.0"

View File

@ -62,7 +62,7 @@ pub fn init(url: Url, orders: &mut impl Orders<Msg>) -> Model {
}, },
catchup: None, catchup: None,
last_url: Url::current(), last_url: Url::current(),
websocket: websocket::init(&mut orders.proxy(Msg::WebSocket)), websocket: websocket::init("/api/ws", &mut orders.proxy(Msg::WebSocket)),
} }
} }

View File

@ -78,13 +78,14 @@ pub struct ClientMessage {
//const WS_URL: &str = "wss://9000.z.xinu.tv/api/ws"; //const WS_URL: &str = "wss://9000.z.xinu.tv/api/ws";
//const WS_URL: &str = "wss://9345.z.xinu.tv/api/graphql/ws"; //const WS_URL: &str = "wss://9345.z.xinu.tv/api/graphql/ws";
const WS_URL: &str = "wss://6758.z.xinu.tv/api/ws"; //const WS_URL: &str = "wss://6758.z.xinu.tv/api/ws";
// ------ ------ // ------ ------
// Model // Model
// ------ ------ // ------ ------
pub struct Model { pub struct Model {
ws_url: String,
web_socket: EventClient, web_socket: EventClient,
web_socket_reconnector: Option<StreamHandle>, web_socket_reconnector: Option<StreamHandle>,
pub updates: VecDeque<WebsocketMessage>, pub updates: VecDeque<WebsocketMessage>,
@ -94,9 +95,10 @@ pub struct Model {
// Init // Init
// ------ ------ // ------ ------
pub fn init(orders: &mut impl Orders<Msg>) -> Model { pub fn init(ws_url: &str, orders: &mut impl Orders<Msg>) -> Model {
Model { Model {
web_socket: create_websocket(orders).unwrap(), ws_url: ws_url.to_string(),
web_socket: create_websocket(ws_url, orders).unwrap(),
web_socket_reconnector: None, web_socket_reconnector: None,
updates: VecDeque::new(), updates: VecDeque::new(),
} }
@ -155,7 +157,7 @@ Reason: {2}
} }
Msg::ReconnectWebSocket(retries) => { Msg::ReconnectWebSocket(retries) => {
info!("Reconnect attempt: {}", retries); info!("Reconnect attempt: {}", retries);
model.web_socket = create_websocket(orders).unwrap(); model.web_socket = create_websocket(&model.ws_url, orders).unwrap();
} }
Msg::SendMessage(msg) => { Msg::SendMessage(msg) => {
let txt = serde_json::to_string(&msg).unwrap(); let txt = serde_json::to_string(&msg).unwrap();
@ -164,10 +166,10 @@ Reason: {2}
} }
} }
fn create_websocket(orders: &impl Orders<Msg>) -> Result<EventClient, WebSocketError> { fn create_websocket(url: &str, orders: &impl Orders<Msg>) -> Result<EventClient, WebSocketError> {
let msg_sender = orders.msg_sender(); let msg_sender = orders.msg_sender();
let mut client = EventClient::new(WS_URL)?; let mut client = EventClient::new(url)?;
client.set_on_error(Some(Box::new(|error| { client.set_on_error(Some(Box::new(|error| {
gloo_console::error!("WS: ", error); gloo_console::error!("WS: ", error);