octoshrimpy 1c08c0dc20 refactor(reactions): shrink reaction SMS payload and dedupe swipe code
Prepares the send-reactions feature for public release by cutting the
per-reaction SMS size and removing duplicated swipe-action code.

Payload (EmojiReactionRepositoryImpl):
- Stop re-embedding the replied-to text in the hidden payload; it already
  shows in the visible fallback line. The reaction target is resolved by
  sender address + timestamp, and the text-fallback matcher now recovers
  the quote from the visible line.
- Encode the payload at 3 bits per invisible char (8-symbol alphabet)
  instead of 1, and word-cap the visible quote. A reaction's invisible run
  drops from ~1,200 chars (~10-20 SMS segments) to ~83 (1-2 segments).

Deduplication:
- Extract SwipeItemTouchCallback base; ConversationItemTouchCallback and
  MessageItemTouchCallback become thin subclasses (removes dead fields).
- Extract BaseSwipeActionsPresenter and share SwipeActionsView/State;
  delete the cloned MessageSwipeActions View/State. Centralize the message
  swipe-action icon map.
- Merge the two near-identical reaction-send streams in ComposeViewModel.

Minor: enumerate the full emoji set off the main thread in EmojiPicker;
reuse a single Handler for the reaction pulse in MessagesAdapter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 20:26:05 -04:00
2026-01-11 19:36:52 -08:00
2023-11-14 11:58:17 -07:00
2025-06-28 19:25:24 +00:00
2025-06-28 19:25:24 +00:00
2025-07-18 19:11:29 -07:00
2017-05-25 22:20:04 -04:00
2017-05-25 22:20:04 -04:00
2017-05-24 21:33:47 -04:00
2025-03-01 00:03:35 -05:00
2026-01-11 20:35:33 -05:00
2019-12-29 18:09:56 -05:00

octoshrimpy/QUIK

QUIK

Manual Release Translation status

QUIK is an open source replacement to the stock messaging app on Android. It is a continuation of QKSMS.

Features

  • Scheduled messages
  • Message backup
  • Speech-to-text and text-to-speech integrated within the app
  • Message blocking and archiving
  • Voice messages
  • Attachments of any type of file
  • Message sorting
  • Message pinning
  • Delayed sending
  • Quick reply from notifications
  • Swipe actions
  • Emoji reaction handling
  • and much, much more

Download

Grab QUIK from the official github releases page, or keep up with updates with the following:

Get it on F-Droid Get it on Obtainium Download from GitHub releases

Matrix Chat

You can chat with the community over at #quik-sms:matrix.org

Reporting bugs

A great bug report contains a description of the problem and steps to reproduce the problem. We need to know what we're looking for and where to look for it.

When reporting a bug, please make sure to provide the following information:

  • Steps to reproduce the issue
  • QUIK version
  • Device / OS information

Contributing

Contributions are very welcome! Please see the contributing guidelines for details.

Translations

If you'd like to add translations to QUIK, please join the project on Weblate! Translations that are committed directly to source files will not be accepted. For more information see the translation guidelines.

Translation status

Thank you

A special thank you to Jake (@klinker41) and Luke Klinker (@klinker24) for their work on android-smsmms, which has been an unspeakably large help in implementing MMS into QUIK.

A giant thank you to Moez moezbhatti for creating and maintaining QKSMS, of which QUIK would not exist without.

Contact

QUIK is developed and maintained by Marcos Jones.


Star History

Star History Chart

Donate using Ko-Fi Donate using Patreon

License

QUIK is released under the The GNU General Public License v3.0 (GPLv3), which can be found in the LICENSE file in the root of this project.

S
Description
No description provided
Readme GPL-3.0 18 MiB
2026-10-24 13:01:48 +02:00
Languages
Kotlin 50%
Java 49.3%
Python 0.4%
CSS 0.2%