7768 Commits

Author SHA1 Message Date
ceokot
748407f951 Merge branch 'dev' into feat_id_blinding
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/database/LokiAPIDatabase.kt
#	app/src/main/java/org/thoughtcrime/securesms/database/helpers/SQLCipherOpenHelper.java
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/snode/OnionRequestAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt
#	libsession/src/main/java/org/session/libsession/snode/SnodeMessage.kt
2022-05-18 13:44:19 +10:00
jubb
6f43ccd8ae chore: increment build number 2022-05-18 10:34:32 +10:00
Harris
00f06ab034
Namespace retrieval and storage with auth (#880)
* feat: add migration and fork info for upcoming auth and closed group retrieval updates

* feat: add closed group poller calls and include namespace to parse raw messages function

* feat: add DB upgrades and queries for namespaces

* fix: fix the polling for post-HF signatures and group messages

* fix: realise we need a compound key for namespaces in received hashes, test explicitly setting namespace

* feat: add setForkInfo implementation

* refactor: include default fork info command on create, refactor migration to use new table since we can't add constraints in alter for PK, replace `lastHash` with `last_hash` in case that fixes paging

* refactor: include namespace and use when statement for closed group polling

* refactor: revert to main net

* refactor: use namespace constants

* refactor: revert to testnet and log the poll result

* fix: use or to log either poller

* fix: revert to default network and add more logging, only set the latest fork info if it is an increment

* build: update minor version

* refactor: use single target snode and namespace list for message sending

* fix: link previews and expiring messages in closed groups
2022-05-18 10:20:57 +10:00
charles
0a960b86b0 Revert default server details 2022-05-16 10:09:06 +10:00
ceokot
598aeca42a Refactor 2022-05-14 19:19:47 +10:00
ceokot
93f719f3aa Fix capabilities call auth 2022-05-13 14:45:49 +10:00
ceokot
9c36b25862 Bypass user details bottom sheet in open groups for blinded session ids 2022-05-13 10:04:24 +10:00
charles
55589b6893 Refactor 2022-05-12 16:56:35 +10:00
ceokot
46a92457bc Refactor 2022-05-11 10:11:55 +10:00
charles
92053b9c62 Update message encryption/decryption 2022-05-09 16:39:47 +10:00
charles
ce01ff49c0 Cache last inbox/outbox server ids 2022-05-06 16:22:07 +10:00
charles
bb50182a18 Message validation refactor 2022-05-06 14:50:41 +10:00
charles
edb4f96f0a Check id blinding in user detail bottom sheet rather 2022-05-06 11:02:04 +10:00
ceokot
a24225cf8b Open group message requests 2022-05-04 10:34:59 +10:00
ceokot
d4fb77c695 Refactor 2022-05-03 14:56:45 +10:00
ceokot
ee39d2bbc6 Preserve image bytearray encoding 2022-05-03 09:57:28 +10:00
charles
35ae136610 Fix issue with file downloads 2022-05-02 16:54:19 +10:00
charles
caed72c826 Handle inbox messages 2022-04-29 16:18:03 +10:00
charles
a1f93e096e Handle file downloads 2022-04-28 16:53:45 +10:00
Charles
4f0cedb53b Merge branch 'dev' into feat_id_blinding
# Conflicts:
#	app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
#	libsession/src/main/java/org/session/libsession/database/StorageProtocol.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSender.kt
#	libsession/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPollerV2.kt
2022-04-28 10:17:12 +10:00
ceokot
f2ef57978a Merge remote-tracking branch 'origin/feat_id_blinding' into feat_id_blinding 2022-04-27 17:59:40 +10:00
ceokot
c10e96dd91 Update attachment download handling 2022-04-27 17:55:39 +10:00
charles
373a61b560 Update batch endpoint responses 2022-04-26 15:55:04 +10:00
charles
1a82238a44 Handle batch endpoint responses 2022-04-22 16:25:36 +10:00
ceokot
c1a62d5bbb Refactor batch response handling 2022-04-21 06:43:13 +10:00
Harris
7fc3599c25
refactor: increase tooltip text size and set typeface to bold (#857) 2022-04-19 14:52:33 +10:00
jubb
17ebd840e8 build: update build version name 2022-04-19 14:30:27 +10:00
Harris
e1b6bb7e56
Add one on one calls over clearnet (#864)
* feat: adding basic webrtc deps and test activity

* more testing code

* feat: add protos and bump version

* feat: added basic call functionality

* feat: adding UI and flipping cameras

* feat: add stats and starting call bottom sheet

* feat: hanging up and bottom sheet behaviors should work now

* feat: add call stats report on frontend

* feat: add relay toggle for answer and offer

* fix: add keep screen on and more end call message on back pressed / on finish

* refactor: removing and replacing dagger 1 dep with android hilt

* feat: include latest proto

* feat: update to utilise call ID

* feat: add stun and turn

* refactor: playing around with deps and transport types

* feat: adding call service functionality and permissions for calls

* feat: add call manager and more static intent building functions for WebRtcCallService.kt

* feat: adding ringers and more audio boilerplate

* feat: audio manager call service boilerplate

* feat: update kotlin and add in call view model and more management functions

* refactor: moving call code around to service and viewmodel interactions

* feat: plugging CallManager.kt into view model and service, fixing up dependencies

* feat: implementing more WebRtcCallService.kt functions and handlers for actions as well as lifecycle

* feat: adding more lifecycle vm and callmanager / call service functionality

* feat: adding more command handlers in WebRtcCallService.kt

* feat: more commands handled, adding lock manager and bluetooth permissions

* feat: adding remainder of basic functionality to services and CallManager.kt

* feat: hooking up calls and fixing broken dependencies and compile errors

* fix: add timestamp to incoming call

* feat: some connection and service launching / ring lifecycle

* feat: call establishing and displaying

* fix: fixing call connect flows

* feat: ringers and better state handling

* feat: updating call layout

* feat: add fixes to bluetooth and begin the network renegotiation

* feat: add call related permissions and more network handover tests

* fix: don't display call option in conversation and don't show notification if option not enabled

* fix: incoming ringer fix on receiving call, call notification priorities and notification channel update

* build: update build number for testing

* fix: bluetooth auto-connection and re-connection fixes, removing finished todos, allowing self-send call messages for deduping answers

* feat: add pre-offer information and action handling in web rtc call service

* refactor: discard offer messages from non-matching pre-offers we are already expecting

* build: build numbers and version name update

* feat: handle discarding pending calls from linked devices

* feat: add signing props to release config build

* docs: fix comment on time being 300s (5m) instead of 30s

* feat: adding call messages for incoming/outgoing/missed

* refactor: handle in-thread call notifications better and replace deny button intent with denyCallIntent instead of hangup

* feat: add a hangup via data channel message

* feat: process microphone enabled events and remove debuggable from build.gradle

* feat: add first call notification

* refactor: set the buttons to match iOS in terms of enable disable and colours

* refactor: change the call logos in control messages

* refactor: more bluetooth improvements

* refactor: move start ringer and init of audio manager to CallManager.kt and string fix up

* build: remove debuggable for release build

* refactor: replace call icons

* feat: adding a call time display

* refactor: change the call time to update every second

* refactor: testing out the full screen intents

* refactor: wrapper use corrected session description, set title to recipient displayName, indicate session calls

* fix: crash on view with a parent already attached

* refactor: aspect ratio fit preserved

* refactor: add wantsToAnswer ability in pre-init for fullscreenintent

* refactor: prevent calls from non hasSent participants

* build: update gradle code

* refactor: replace timeout schedule with a seconds count

* fix: various bug fixes for calls

* fix: remove end call from busy

* refactor: use answerCall instead of manual intent building again

* build: new version

* feat: add silenced notifications for call notification builder. check pre-offer and connecting state for pending connection

* build: update build number

* fix: text color uses overridden style value

* fix: remove wrap content for renderers and look more at recovering from network switches

* build: update build number

* refactor: remove whitespace

* build: update build number

* refactor: used shared number for BatchMessageReceiveJob.kt parameter across pollers

* fix: glide in update crash

* fix: bug fixes for self-send answer / hangup messages

* build: update build number

* build: update build.gradle number

* refactor: compile errors and refactoring to view binding

* fix: set the content to binding.root view

* build: increase build number

* build: update build numbers

* feat: adding base for rotation and picking random subset of turn servers

* feat: starting the screen rotation processing

* feat: setting up rotation for the remote render view

* refactor: applying rotation and mirroring based on front / rear cameras that wraps nicely, only scale reworking needed

* refactor: calls video stretching but consistent

* refactor: state machine and tests for the transition events

* feat: new call state processing

* refactor: adding reconnecting logic and visuals

* feat: state machine reconnect logic wip

* feat: add reconnecting and merge fixes

* feat: check new session based off current state

* feat: reconnection logic works correctly now

* refactor: reduce TIMEOUT_SECONDS to 30 from 90

* feat: reset peer connection on DC to prevent ICE messages from old connection or stale state in reconnecting

* refactor: add null case

* fix: set approved on new outgoing threads, use approved more deeply and invalidate the options menu on recipient modified. Add approvedMe flag toggles for visible message receive

* fix: add name update in action bar on modified, change where approvedMe is set

* build: increment build number

* build: update build number

* fix: merge compile errors and increment build number

* refactor: remove negotiation based on which party dropped connection

* refactor: call reconnection improvement tested cross platform to re-establish

* refactor: failed and disconnect events only handled if either the reconnect or the timeout runnables are not set

* build: update version number

* fix: reduce timeout

* fix: fixes the incoming hangup logic for linked devices

* refactor: match iOS styling for call activity closer

* chore: upgrade build numbers

* feat: add in call settings dialog for if calls is disabled in conversation

* feat: add a first call missed control message and info popup with link to privacy settings

* fix: looking at crash for specific large transaction in NotificationManager

* refactor: removing the people in case transaction size reduces to fix notif crash

* fix: comment out the entire send multiple to see if it fixes the issue

* refactor: revert to including the full notification process in a try/catch to handle weird responses from NotificationManager

* fix: add in notification settings prompt for calls and try to fall back to dirty full screen intent / start activity if we're allowed

* build: upgrade build number
2022-04-19 14:25:40 +10:00
ceokot
4999beecfd Implement request batching 2022-04-14 07:33:39 +02:00
ceokot
736b0bae6b Refactor file download paths 2022-04-07 10:25:10 +02:00
ceokot
9581a75268 Update onion response parsing 2022-04-05 07:48:22 +02:00
ceokot
95fd2baec0 Rename to remove api version suffix 2022-04-04 08:17:36 +02:00
ceokot
0674e8090d Update SOGS signature message 2022-04-04 07:53:34 +02:00
ceokot
52b222cf8e Keep path prefixes for v4 endpoints 2022-04-01 08:56:50 +02:00
ceokot
5f9d323525 Update signature data 2022-04-01 08:11:32 +02:00
ceokot
6ded4fd121 Update onion request 2022-04-01 07:28:21 +02:00
ceokot
6cb88849ed Fix SOGS signature construction 2022-04-01 07:09:16 +02:00
ceokot
301fe537e4 Update SOGS signature construction 2022-03-31 09:18:18 +02:00
ceokot
b51013f050 Add v4 onion request handling 2022-03-29 20:15:03 +02:00
ceokot
85456b5ea2 feat: Add Session Id blinding
Including modified version of lazysodium-android to expose missing libsodium functions, we could build from a fork which we still need to setup.
2022-03-25 05:37:21 +02:00
jubb
04dfe99517 build: update version code and name 1.11.20 2022-03-22 11:14:51 +11:00
Harris
712deebb42
fix: Cached recipient values not updating approved flags, remove unused static recipient settings map in RecipientProvider (#860) 2022-03-22 11:13:44 +11:00
Harris
2445418e3e build: update build number 1.11.19 2022-03-17 15:55:27 +11:00
Harris
5ace67fd36 fix: don't send typing indicator in unapproved conversation 2022-03-17 15:38:39 +11:00
Harris
8d32b02c16 Merge remote-tracking branch 'upstream/dev' 2022-03-17 13:50:00 +11:00
Harris
ad5911e247 fix: don't enable expiring messages in not approvedMe conversations 2022-03-17 13:31:25 +11:00
Harris
c6cf7a24d7 fix: raise elevation on the attachment buttons 2022-03-17 13:18:59 +11:00
Harris
3733826e2e fix: re-check input bar control after recipient modified 2022-03-17 13:01:33 +11:00
jubb
1aabbecc9d build: update build number 2022-03-15 14:20:52 +11:00
Harris
6649a9a745
Generate placeholder avatars from two characters, re-fetch missed avatars (#856)
* feat: splitting names in the avatar generation

* fix: re-fetch avatars if initial downloads fail

* fix: remove shadowed name, add tests for common labels
2022-03-15 09:24:15 +11:00