Updated the OpenGroupDispatcher to have a thread limit of 8 (was previously unlimited which could result in the app getting flooded with threads under certain conditions)
Updated the OpenGroupDeleteJob to do bulk deletions (instead of individual message deletions)
Updated the OpenGroupDeleteJob to catch and report failures (wasn't previously happening)
Fixed the unread indicator colours to match correct theming designs
Fixed a bug where the unread count could be incorrect when receiving UnsendRequests within the same poll
Added a couple missing theme colours
Updated a number of nested layout components to be included instead of inflated
Added a couple of optimisations to the EmojiTextView
Fixed an issue where long conversation titles could squish the unread count
Fixed an issue where the typing indicator wasn't working on the home screen
Updated the OpenGroup adding and polling logic to reduce duplicate API calls
Updated the BackgroundGroupAddJob to start a GroupAvatarDownloadJob instead of running the download itself (to appear to run faster)
Defaulted OpenGroups to use blinded auth when no server capabilities are present
Fixed an issue where the background poller could be started even though the onboarding hadn't been completed
Fixed an issue where the database could get into an invalid state if the app was restarted during onboarding
* Update build tools
* Update appcompat version
* Update dependencies
* feat: add paging into conversation recycler and queries to fetch data off-thread
* refactor: wip for updating paged results and bucketing messages / fetching enough to display
* fix: currently works for scrolling and possibly refreshing? need scroll to message and auto scroll down on insert (at bottom)
* fix: search and scrolling to X message works now
* build: increase version code and name
* fix: re-add refresh, remove the outdated comment
* refactor: lets see if 25 size pages increases performance 👀
* feat: add in some equals overrides for mms records to refresh if media has finished DLing
* feat: add scroll to bottom for new messages if we are at the end of the chat
* build: update build numbers
* fix: update AGP and fix compile errors for sdk version 31
* feat: add log for loki-avatar and loki-fs on upload types and responses
* feat: increase build number to match latest installed version
* feat: changing props and permission checks for call service
* fix: possible service exception when no call ID remote foreground service not terminated
* revert: google services version
* fix: re-add paging dependency
* feat: adding new last seen function and figuring out the last seen for recycler adapter
* build: update version names and codes for deploy
* refactor: undo the new adapter and query changes to use previous cursor logic. revert this commit to enable new paged adapter
* fix: use author's address in typist equality and hashcode for set inclusion
* refactor: refactor the select contacts activity
* refactor: refactor the select contacts activity
* build: update version code
* fix: hide all other bound views if deleted
* refactor: change voice message tint, upgrade build number
* fix: message detail showing up properly
* revert: realise copy public key is actually not allowed if open group participant
* fix: copy session ID, message detail activity support re-enabled
* build: update build version code
* build: remove version name
* build: update build code
* feat: google services version minimum compatible
* fix: selection for re-created objects not properly highlighting
* fix: foreground CENTER_INSIDE instead of just CENTER for scaletype
* build: update version code
* fix: don't show error if no error
* build: update version code
* fix: clear error messages if any on successful send
Co-authored-by: charles <charles@oxen.io>
The seconds for a voice message duration, and also its decreasing duration when played, were just the total duration of the audio. So, a 3 minute audio would appear as 3:180 at the audio's right, and 2:170 for example when said audio is being played.
I added a modulo operator for 60 after the time millisecond to seconds conversion, just before setting it as viewable text, same for the progress function.