clockworklabs / SpacetimeDB

Multiplayer at the speed of light
https://spacetimedb.com
Other
4.37k stars 110 forks source link

Extend `ClientMessage::CallReducer` with flag to indicate no reply to caller #1788

Open Centril opened 2 weeks ago

Centril commented 2 weeks ago

So that we can disable this in fn eval_updates:

            if let Some((_, client)) = event
                .caller_address
                .zip(sender_client)
                .filter(|(addr, _)| !eval.contains_key(&(event.caller_identity, *addr)))
            {
                // Caller is not subscribed to any queries,
                // but send a transaction update with an empty subscription update.
                let update = SubscriptionUpdateMessage::default_for_protocol(client.protocol, event.request_id);
                send_to_client(client, &event, update);
            }
gefjon commented 2 weeks ago

Met w/ Mazdak and John to discuss our customers' specific needs here, and how that affects our user-facing design. Relevant info we determined:

Combining these constraints, and given our timeline, I suggest: