Commit Graph

395 Commits

Author SHA1 Message Date
Inhishonor b24e6fb099 Merge branch 'master' into upgrade-smsmms-group-individual-send-no-wait-appear-delayed-mms-mms-receive-to-worker-send-ack-mmsc 2025-12-07 15:01:16 -08:00
Inhishonor 0df96788ce Fix group conversations not being sent as group messages by defualt
This was the default behavior in the past, and should remain like this.
2025-12-07 14:50:14 -08:00
Inhishonor 732c606b12 Rework resend message action on notifications
Uses SendExistingMessage class now and a dedicated broadcast receiver.
2025-12-06 16:44:18 -08:00
octoshrimpy ca50c4d4ba fix memleak and manual release regex 2025-11-06 18:28:46 -05:00
peanut250 f9e53b080e Fix regex matching for message content filters 2025-11-04 04:01:32 -06:00
Inhishonor 2f860aba36 Merge branch 'master' into upgrade-smsmms-group-individual-send-no-wait-appear-delayed-mms-mms-receive-to-worker-send-ack-mmsc 2025-10-09 18:04:02 -07:00
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 f1a94a1e2a Merge pull request #490 from Inhishonor/malformatted-numbers
Normalize numbers before comparing.
2025-07-22 08:46:22 -06: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