From e2d554f32100ad1ad5eb827fec4f28d5ae01a4fb Mon Sep 17 00:00:00 2001 From: Tao Tien <29749622+taotien@users.noreply.github.com> Date: Tue, 24 Feb 2026 14:30:51 -0800 Subject: [PATCH] (wip) figure out why on_connect can't find player in logged_out table --- jong-line/src/lib.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/jong-line/src/lib.rs b/jong-line/src/lib.rs index 438880d..42ca574 100644 --- a/jong-line/src/lib.rs +++ b/jong-line/src/lib.rs @@ -1,6 +1,6 @@ #![feature(if_let_guard)] -use log::debug; +use log::{debug, trace}; use spacetimedb::{ReducerContext, Table, reducer}; use crate::tables::*; @@ -34,6 +34,7 @@ pub fn connect(ctx: &ReducerContext) -> Result<(), String> { ctx.db.logged_out_player().identity().delete(ctx.sender); player } else { + debug!("inserting new player with identity {:?}", ctx.sender); ctx.db.player().try_insert(Player { identity: ctx.sender, id: 0, @@ -56,10 +57,14 @@ pub fn disconnect(ctx: &ReducerContext) -> Result<(), String> { .player() .identity() .find(ctx.sender) - .ok_or_else(|| format!("can't find player {}", ctx.sender))?; + .ok_or_else(|| format!("can't find player {} to disconnect", ctx.sender))?; - ctx.db.logged_out_player().insert(player); - ctx.db.player().identity().delete(ctx.sender); + let player = ctx.db.logged_out_player().insert(player); + if !ctx.db.player().identity().delete(ctx.sender) { + Err("can't delete row")? + } + + debug!("player disconnected: {:?}", player); Ok(()) }