Commit Graph

434 Commits

Author SHA1 Message Date
Inhishonor 610df6d5c8 fix(contacts): Fix a potential memory leak in contact lookup 2026-04-10 10:57:54 -06:00
Inhishonor 7edea6d019 refactor(data): Use goAsync() instead of blockingGet() in message receivers 2026-04-10 10:57:54 -06:00
Cian Ormond d59deeb831 refactor(utils): Remove redundant shortcut code 2026-04-02 17:47:44 -06:00
Inhishonor c5f4fd54ab fix(utils): Allow characters to be included after normalizing numbers
Android's normalizing function stripped out characters too aggressively leading to false matches between different numbers. This commit introduces a faster normalizing function that includes characters.
2026-03-24 07:07:17 -07:00
octoshrimpy 57d95a9ac6 chore: release v4.3.4 (2236) 2026-01-25 17:50:53 +00:00
Marek Polák 091770aeb1 Translated using Weblate (Czech)
Currently translated at 100.0% (14 of 14 strings)

Translation: QUIK/Emoji Reaction Regex
Translate-URL: https://hosted.weblate.org/projects/quik/emoji-reaction-regex/cs/
2026-01-20 18:01:48 +01:00
Rasti K5 549ff657a9 Added translation using Weblate (Kurdish (Central)) 2026-01-13 23:06:32 +00:00
octoshrimpy 09a9bd136b Merge pull request #672 from Inhishonor/deduplicate-messages
Add a deduplicate message feature
2026-01-11 23:21:33 -05:00
Inhishonor c1d824abbc Add a deduplicate message feature
- Adds a new class of features for message management.
- Adds a manual option to find and delete duplicate messages
- Adds a setting to automatically delete duplicates during sync
- Adds a sha256 hashing function

Co-authored-by: octoshrimpy <octoshrimpy@users.noreply.github.com>
2026-01-11 19:36:52 -08:00
octoshrimpy 0c4dc02e45 Merge pull request #619 from weblate/weblate-quik-emoji-reaction-regex
Translations update from Hosted Weblate
2026-01-11 12:36:24 -05:00
octoshrimpy 67e9f62a62 Merge pull request #664 from Inhishonor/realm-migration
Fix realm migration again
2026-01-11 12:32:00 -05:00
octoshrimpy 41b386c7e5 Merge pull request #662 from Inhishonor/conversation-loading
Fix compose activity infinitely loading
2026-01-11 12:31:40 -05:00
octoshrimpy 05bcafac90 Merge pull request #634 from Inhishonor/duplicated-messages
Fix duplicated messages
2026-01-11 12:31:25 -05:00
octoshrimpy 6849991120 Merge pull request #648 from Inhishonor/logging-update
Clean up logging
2026-01-11 12:28:16 -05:00
octoshrimpy 5e514c9a4a Merge pull request #642 from Inhishonor/emoji-ellipses
Support matching message reactions that are truncated
2026-01-11 12:27:11 -05:00
octoshrimpy 26b752b2e5 Merge pull request #640 from Inhishonor/emoji-sync
Add a dedicated emoji reaction sync progress bar
2026-01-11 12:25:50 -05:00
octoshrimpy 45227fdb76 Merge pull request #636 from Truffle2143/master
Fix message content filters not being called
2026-01-11 12:23:34 -05:00
Benno ec926c195a Translated using Weblate (German)
Currently translated at 100.0% (14 of 14 strings)

Translation: QUIK/Emoji Reaction Regex
Translate-URL: https://hosted.weblate.org/projects/quik/emoji-reaction-regex/de/
2026-01-04 20:47:39 +01:00
Inhishonor 68f965a6ed Fix realm migration again 2025-12-31 07:07:29 -08:00
Inhishonor d1473a60a6 Provide a fallback conversation if content provider returns null
In some cases, (mainly on HyperOS and variants) content provider will return null if an empty conversation is created. This was breaking the compose activity as it expects some object other than null.

This commit changes the behavior to provide a new conversation object if createConversationFromCp ever returns null.
2025-12-30 17:55:32 -08:00
Inhishonor 1b145d21b2 Fix threading issues in the contact functions 2025-12-30 08:32:43 -08:00
109247019824 68d635feb6 Added translation using Weblate (Bulgarian) 2025-12-21 06:02:19 +01:00
Inhishonor 096c7e3c68 Clean up logging 2025-12-20 17:56:05 -08:00
Inhishonor d23b35bfe9 Support matching message reactions that are truncated
Some emoji reactions will appear as "Liked 'message...'" with the message cut off. This change uses a regex to match all ellipsis at the end of messages to any other message with the same content.
2025-12-18 18:28:50 -08:00
Inhishonor 33f10e7edd Add a dedicated emoji reaction sync process
Looks better, and provides better UX
2025-12-18 16:50:01 -08:00
Inhishonor 67bbe0e831 Do some cleanups to emoji reaction code 2025-12-17 16:38:57 -08:00
Marek Polák 6f70ea9796 Translated using Weblate (Czech)
Currently translated at 14.2% (2 of 14 strings)

Translation: QUIK/Emoji Reaction Regex
Translate-URL: https://hosted.weblate.org/projects/quik/emoji-reaction-regex/cs/
2025-12-17 20:00:20 +00:00
Truffle2143 ad8d36514f Fix message content filters not being called 2025-12-17 01:11:23 +00:00
Inhishonor 5e9b3a9d11 Fix search not recognizing special characters
The query doesn't need to be normalized anyway
2025-12-16 13:26:49 -08:00
Marek Polák 0b38ba35e4 Added translation using Weblate (Czech) 2025-12-16 19:02:13 +00:00
Kachelkaiser 8aff2e8385 Translated using Weblate (German)
Currently translated at 7.1% (1 of 14 strings)

Translation: QUIK/Emoji Reaction Regex
Translate-URL: https://hosted.weblate.org/projects/quik/emoji-reaction-regex/de/
2025-12-16 19:02:12 +00:00
Kachelkaiser f627cc7253 Added translation using Weblate (German) 2025-12-16 19:02:11 +00:00
Inhishonor 8e355fee58 Fix duplicated messages
The insert into SMS database was called twice, which caused duplicated messages to be created. This ended up breaking all sorts of functionality.
2025-12-14 17:00:27 -08:00
octoshrimpy 3358d1bfa3 Merge pull request #624 from Inhishonor/delayed-sending-icon
Fix the delayed sending icons not disappearing after hitting send
2025-12-12 19:49:29 -05:00
Inhishonor e3b2386d49 Mark messages as sending after sending the message now.
Otherwise the scheduled time would never be updated and still be in the future.
2025-12-12 15:10:27 -08:00
Inhishonor 2ab857f20e Fix database migration from 4.3.1 2025-12-11 17:33:19 -08:00
octoshrimpy a6bcd99195 Merge pull request #594 from Inhishonor/upgrade-smsmms-group-individual-send-no-wait-appear-delayed-mms-mms-receive-to-worker-send-ack-mmsc
Upgrade smsmms group individual send no wait appear delayed mms mms receive to worker send ack mmsc
2025-12-09 21:51:39 -05:00
Ghost of Sparta 4c54216b08 Translated using Weblate (Hungarian)
Currently translated at 100.0% (14 of 14 strings)

Translation: QUIK/Emoji Reaction Regex
Translate-URL: https://hosted.weblate.org/projects/quik/emoji-reaction-regex/hu/
2025-12-08 10:03:12 +01:00
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
Ghost of Sparta 2dbc3f0f57 Added translation using Weblate (Hungarian) 2025-12-07 08:46:48 +00: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