Use read-only access methods for read-only entity operations (#31479)

Another follow-up to #31254

Release Notes:

- N/A
This commit is contained in:
Joseph T. Lyons 2025-05-26 23:04:31 -04:00 committed by GitHub
parent 4a577fff4a
commit c208532693
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
79 changed files with 319 additions and 306 deletions

View file

@ -1850,7 +1850,7 @@ mod tests {
let (done_tx2, done_rx2) = smol::channel::unbounded();
AnyProtoClient::from(client.clone()).add_entity_message_handler(
move |entity: Entity<TestEntity>, _: TypedEnvelope<proto::JoinProject>, mut cx| {
match entity.update(&mut cx, |entity, _| entity.id).unwrap() {
match entity.read_with(&mut cx, |entity, _| entity.id).unwrap() {
1 => done_tx1.try_send(()).unwrap(),
2 => done_tx2.try_send(()).unwrap(),
_ => unreachable!(),

View file

@ -324,7 +324,7 @@ impl UserStore {
message: TypedEnvelope<proto::UpdateContacts>,
mut cx: AsyncApp,
) -> Result<()> {
this.update(&mut cx, |this, _| {
this.read_with(&mut cx, |this, _| {
this.update_contacts_tx
.unbounded_send(UpdateContacts::Update(message.payload))
.unwrap();
@ -660,7 +660,7 @@ impl UserStore {
.await?;
}
this.update(cx, |this, _| {
this.read_with(cx, |this, _| {
user_ids
.iter()
.map(|user_id| {
@ -703,7 +703,7 @@ impl UserStore {
let load_users = self.get_users(vec![user_id], cx);
cx.spawn(async move |this, cx| {
load_users.await?;
this.update(cx, |this, _| {
this.read_with(cx, |this, _| {
this.users
.get(&user_id)
.cloned()