Skip to content

Fix closed Realm instance during send#552

Merged
octoshrimpy merged 1 commit intoquik-sms:masterfrom
benwaffle:send-bug-fix
Oct 4, 2025
Merged

Fix closed Realm instance during send#552
octoshrimpy merged 1 commit intoquik-sms:masterfrom
benwaffle:send-bug-fix

Conversation

@benwaffle
Copy link
Copy Markdown
Contributor

@benwaffle benwaffle commented Sep 29, 2025

I found a bug where sending messages doesn't work:

  1. Quit the app (swipe it away in the Recent Apps view)
  2. Open QUIK
  3. Send a message
  4. The message disappears
  5. This is logged:
2025-09-29 10:30:29.806  3110-3110  Interactor$execute      dev.octoshrimpy.quik.debug           W  java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.
	at io.realm.BaseRealm.checkIfValid(BaseRealm.java:525)
	at io.realm.dev_octoshrimpy_quik_model_ConversationRealmProxy.realmGet$id(dev_octoshrimpy_quik_model_ConversationRealmProxy.java:130)
	at dev.octoshrimpy.quik.model.Conversation.getId(Conversation.kt:27)
	at dev.octoshrimpy.quik.interactor.SendMessage$buildObservable$2.invoke(SendMessage.kt:51)
	at dev.octoshrimpy.quik.interactor.SendMessage$buildObservable$2.invoke(SendMessage.kt:48)
	at dev.octoshrimpy.quik.interactor.SendMessage.buildObservable$lambda$1(SendMessage.kt:48)
	at dev.octoshrimpy.quik.interactor.SendMessage.$r8$lambda$hlSlgpBA9ul6H285iTbkv7pF6zA(Unknown Source:0)
	at dev.octoshrimpy.quik.interactor.SendMessage$$ExternalSyntheticLambda1.accept(Unknown Source:2)
	at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)

Fix below. Unsure if it's the same issue as #509

Looks like there are a lot of instances of Realm.getDefaultInstance().use { } which auto-closes the realm instance. is that ever desirable?

I found a bug where sending messages doesn't work:

1. Quit the app (swipe it away in the Recent Apps view)
2. Open QUIK
3. Send a message
4. The message disappears
5. This is logged:

```
2025-09-29 10:30:29.806  3110-3110  Interactor$execute      dev.octoshrimpy.quik.debug           W  java.lang.IllegalStateException: This Realm instance has already been closed, making it unusable.
	at io.realm.BaseRealm.checkIfValid(BaseRealm.java:525)
	at io.realm.dev_octoshrimpy_quik_model_ConversationRealmProxy.realmGet$id(dev_octoshrimpy_quik_model_ConversationRealmProxy.java:130)
	at dev.octoshrimpy.quik.model.Conversation.getId(Conversation.kt:27)
	at dev.octoshrimpy.quik.interactor.SendMessage$buildObservable$2.invoke(SendMessage.kt:51)
	at dev.octoshrimpy.quik.interactor.SendMessage$buildObservable$2.invoke(SendMessage.kt:48)
	at dev.octoshrimpy.quik.interactor.SendMessage.buildObservable$lambda$1(SendMessage.kt:48)
	at dev.octoshrimpy.quik.interactor.SendMessage.$r8$lambda$hlSlgpBA9ul6H285iTbkv7pF6zA(Unknown Source:0)
	at dev.octoshrimpy.quik.interactor.SendMessage$$ExternalSyntheticLambda1.accept(Unknown Source:2)
	at io.reactivex.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onNext(FlowableDoOnEach.java:86)
```

Fix below. Unsure if it's the same issue as quik-sms#509
@octoshrimpy octoshrimpy merged commit 096a917 into quik-sms:master Oct 4, 2025
2 checks passed
@octoshrimpy octoshrimpy mentioned this pull request Nov 6, 2025
@benwaffle benwaffle deleted the send-bug-fix branch January 11, 2026 20:46
@github-actions github-actions bot mentioned this pull request Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants