Commit Graph

407 Commits

Author SHA1 Message Date
octoshrimpy 096a917dc0 Merge pull request #552 from benwaffle/send-bug-fix
Fix closed Realm instance during send
2025-10-04 09:19:25 -04:00
Ben Iofel e28c473200 Fix visible reaction messages 2025-10-01 00:44:05 -04:00
Ben Iofel 51aa16a121 Fix closed Realm instance during send
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
2025-09-29 11:44:21 -04:00
Ben Iofel 2511ed1a5e log 2025-09-27 13:12:33 -04:00
Ben Iofel 3ef51b74fe Update data/src/main/java/com/moez/QKSMS/repository/EmojiReactionRepositoryImpl.kt
Co-authored-by: Inhishonor <inhishonor@protonmail.com>
2025-09-22 12:55:20 -04:00
Ben Iofel f7ad9fe3a0 Apply suggestion from @Inhishonor
Co-authored-by: Inhishonor <inhishonor@protonmail.com>
2025-09-21 23:38:14 -04:00
Ben Iofel a4e2ced6d8 overwrite emoji reactions with newer ones 2025-09-13 18:02:35 -04:00
Ben Iofel dbecaf12a4 Show emoji reaction messages if target isn't found 2025-09-13 17:46:19 -04:00
Ben Iofel fb28453b39 Apply suggestion from @Inhishonor
Co-authored-by: Inhishonor <inhishonor@protonmail.com>
2025-09-13 02:05:13 -04:00
Ben Iofel e30bf37348 Apply suggestion from @Inhishonor
Co-authored-by: Inhishonor <inhishonor@protonmail.com>
2025-09-13 02:05:06 -04:00
Ben Iofel 01a52f51a7 cleanup 2025-09-07 01:27:56 -04:00
Ben Iofel bb6379446a use generic google messages regex 2025-09-04 14:40:28 -04:00
Ben Iofel 0e522f0346 add more russian regexes 2025-09-04 01:19:26 -04:00
Ben Iofel 2ab9ef3981 Make localization easier
use unicode chars, and allow partial jsons
2025-09-04 00:56:57 -04:00
Ben Iofel f6019e1d80 Localize emoji patterns 2025-09-04 00:34:50 -04:00
Ben Iofel d3eaa4fb2e cleanup 2025-09-02 22:54:00 -04:00
Ben Iofel 50c6e08beb Parse all emoji reactions on migration 2025-09-02 20:10:44 -04:00
Ben Iofel fc70fe7f58 search all messages as emoji targets and log time taken 2025-09-02 18:49:06 -04:00
Ben Iofel c1dcf8805d move emoji reaction code to repo and impl 2025-09-02 18:45:52 -04:00
Ben Iofel 177f953400 Merge remote-tracking branch 'upstream/master' into emoji-reacts 2025-09-02 18:01:14 -04:00
Ben Iofel 46ec29546f Parse google messages emoji removal 2025-09-02 17:30:28 -04:00
octoshrimpy f2973fe56d Merge pull request #529 from Inhishonor/sync
Refactor sync code to use an async transaction/separate looper thread
2025-08-29 11:16:39 -04:00
octoshrimpy 048a1e5159 Merge pull request #518 from Inhishonor/fix-draft
Fix draft being sorted at the bottom
2025-08-29 11:15:45 -04:00
octoshrimpy ef5ead9f84 Merge pull request #511 from Inhishonor/attachment-name
Change attachments to be saved with `QUIK_format_date`
2025-08-29 11:14:50 -04:00
Ben Iofel 2ddcf9b68e Fix message grouping 2025-08-27 23:15:23 -04:00
Ben Iofel 2b09361288 remove pii logs 2025-08-27 21:31:43 -04:00
Ben Iofel 465a6ee739 handle removals 2025-08-27 18:45:08 -04:00
Ben Iofel 91ce2e84e4 handle iOS tapbacks 2025-08-27 17:47:45 -04:00
Ben Iofel a2568f1659 simplify target matching 2025-08-26 22:32:22 -04:00
Ben Iofel 07507e5e99 cleanup 2025-08-26 16:38:44 -04:00
Ben Iofel 401b70d16a Parse and render emoji reactions
Fixes part of #152

To keep this PR simple, I've left out:

- when long-pressing on the emoji in a group MMS, a popup should come up listing which contact sent each emoji
- notifications (untested)
- sending emoji reactions
2025-08-26 16:22:43 -04:00
Inhishonor f3afdb3b95 Refactor sync code to use an async transaction/separate looper thread
This makes the sync more robust when handling larger message db, as well gives speed improvements.
2025-08-22 16:53:27 -07:00
Inhishonor 5f5a92faac Fix draft being sorted at the bottom
In some cases, if no date was set, it would get sorted to the bottom
2025-08-02 13:27:43 -07:00
Inhishonor 9478923a2b Change attachments to be saved with QUIK_format_date
This is preferable to defualting to the original name, as those are often not descriptive, or generic.
2025-07-30 09:28:04 -07:00
peanut250 db2a2d95e4 Combine content filter and scheduled message field updates on realm migration 2025-07-24 05:14:26 -05:00
octoshrimpy 394c2f9b3a Merge pull request #501 from Inhishonor/gradle
Clean up gradle files
2025-07-22 08:46:38 -06:00
octoshrimpy f1a94a1e2a Merge pull request #490 from Inhishonor/malformatted-numbers
Normalize numbers before comparing.
2025-07-22 08:46:22 -06:00
Inhishonor 455b5eeae6 Clean up gradle files
Removed deprecated j-center, and commented out dependencies.
2025-07-18 19:11:29 -07:00
octoshrimpy 0b2c24a076 Merge pull request #496 from peanut250/feat/message-content-filters
Block messages based on content
2025-07-18 17:05:14 -06:00
Inhishonor 3d7526512d Indicate in UI when scheduled messages are present
Added a new property to scheduled messages to save which conversation the scheduled message belongs to.
2025-07-18 11:53:03 -07:00
Inhishonor 56a767bbd7 Clean up Scheduling Code
Update documentation, remove deprecated and unused code, and clean up formatting.
2025-07-16 16:46:45 -07:00
peanut250 66f165cccf message content filter feature initial implementation 2025-07-07 15:30:12 -05:00
Inhishonor 6029f56d04 Normalize numbers before comparing.
When QUIK receives a message it compares to see if it goes into a new conversation or an existing. However, if the numbers are formatted differently, it will think that they are separate convos. Hopefully, normalizing before comparing will fix that.
2025-06-28 15:46:24 -07:00
Inhishonor f3b178e182 Remove all mentions of analytics
The analytics build configuration has not been used or updated for a while. This removes some dependencies, and some deprecated code sections.
2025-06-13 10:31:31 -07:00
Inhishonor 8705c32ee7 Allow blocking thread to complete before being disposed.
If we call dispose after subscribe the process doesn't get to complete, leaving the notification, and eventually crashing the app.
SupressLint is necessary to avoid warnings on not calling dispose.
2025-06-10 16:36:58 -07:00
octoshrimpy 36a14ab7b2 Merge pull request #476 from Inhishonor/clean-imports
Optimize all imports
2025-06-09 13:07:48 -04:00
Inhishonor dc83caeb3a Optimize all imports 2025-06-07 15:57:17 -07:00
gavine99 0302fd4d7a fix glide 'using recycled image' error in resize mms image path 2025-06-02 09:22:05 +10:00
gavine99 41f69c73fd update messagerepo to keep congruence between app db messages and native provider when marking messages seen and read. previous code always threw an exception that was swallowed.
reformatting and small refactoring on mesasgerepo code.
2025-04-08 08:37:55 +10:00
gavine99 821b02ad58 change compose sendintent (sending sms/mms) and sendmessage interactor to ensure convos congruency
change compose selectedconversation (chips -> convo monitoring) to take advantage of changes in conversationrepo
conversationrepo change getthreadid to getconversation to avoid duplicate db access
some cleanups and refactoring in conversationrepo
2025-04-07 14:52:04 +10:00