Commit graph

4342 commits

Author SHA1 Message Date
kosyak 7db4435e7c throw invalid viewType exception 2024-02-01 20:20:48 +01:00
kosyak 366e5aa389 show real reply text instead of fallback 2024-01-20 00:56:22 +01:00
Daniel Gultsch 4168bc4666
less noisy logcat. catch illegal state exception as result of race condition 2024-01-19 15:20:47 +01:00
Daniel Gultsch b2e1f9b3d8
call current transport when receiving transport-replace 2024-01-19 11:43:23 +01:00
Daniel Gultsch 15a3c163eb
respond OK to JFT session terminate 2024-01-19 10:40:32 +01:00
Daniel Gultsch 88851ea12a
bundle letsencrypt root certificates
as per https://letsencrypt.org/2023/07/10/cross-sign-expiration.html
Letsencrypt is dropping support for Android <= 7 by removing cross signing.

to keep supporting older Android versions we need to bundle the root cert
ourselves. (Firefox for example does this too)

The KeyStore file is in BKS-V1 format. A good tools to edit the file is

https://keystore-explorer.org/

To keep the attack and bug surface as low as possible we only run the check
against the bundled keystore on Android <= 7
2024-01-15 10:57:07 +01:00
kosyak 869f92169d blue led color 2024-01-10 15:00:30 +01:00
kosyak f50bb56ad7 support conversations grouping on ShareWith screen 2024-01-10 00:27:08 +01:00
kosyak 9b748a7b4f change notifications led color 2024-01-10 00:17:46 +01:00
kosyak 6872b36f74 save expanded items in persistent storage 2024-01-09 23:20:11 +01:00
kosyak 5f16051cf7 group conversation by tags 2024-01-01 23:36:07 +01:00
kosyak c4c5aaa6d6 Revert "debug led color"
This reverts commit 60805b28b6.
2024-01-01 18:57:55 +01:00
kosyak a6fbcd62c5 Revert "debug custom led color"
This reverts commit 2b129a1738.
2024-01-01 18:57:50 +01:00
kosyak 2b129a1738 debug custom led color 2024-01-01 12:25:15 +01:00
kosyak 60805b28b6 debug led color 2024-01-01 12:23:35 +01:00
kosyak 510f93ce78 split roster by different accounts 2023-12-27 04:09:18 +01:00
kosyak 54ac152019 fix reply icon tint 2023-12-27 01:11:16 +01:00
kosyak c862959e3f fix crash 2023-12-27 01:11:08 +01:00
kosyak 78410291b7 better self contact handling 2023-12-27 01:11:01 +01:00
kosyak 6284ee12af new ui category in expert settings 2023-12-27 01:10:23 +01:00
kosyak bef39f7e0c led color follows current app primary colort 2023-12-27 01:08:35 +01:00
kosyak 305ae7a288 reactions 2023-12-27 01:07:08 +01:00
Daniel Gultsch aeb805a3ca
abort socks candidate search if peer selected something with higher priority 2023-12-20 11:23:04 +01:00
Daniel Gultsch eec01c9e7b
disable quick log 2023-12-20 09:23:09 +01:00
Daniel Gultsch d3b38a5273
refactor Jingle File Transfer. add WebRTCDatachannel transport 2023-12-19 17:26:11 +01:00
kosyak 9467fc1789 support 'Save to downloads' action for attachments 2023-12-18 04:32:23 +01:00
kosyak db27258c18 fix crop lib compatibility issues 2023-12-18 04:24:49 +01:00
kosyak 73bc3c2617 temporary disable domian jid sanity check 2023-12-17 23:54:58 +01:00
kosyak 7f7e4b10a4 info about pm on muc details screen 2023-12-17 23:46:06 +01:00
kosyak 3ddf8d33f0 fix compilation 2023-12-17 22:16:12 +01:00
kosyak b9f5286898 Merge branch 'master' of https://codeberg.org/iNPUTmice/Conversations
# Conflicts:
#	build.gradle
#	src/main/AndroidManifest.xml
#	src/main/java/eu/siacs/conversations/Config.java
#	src/main/java/eu/siacs/conversations/entities/Bookmark.java
#	src/main/java/eu/siacs/conversations/parser/MessageParser.java
#	src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
#	src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
#	src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
#	src/main/java/eu/siacs/conversations/ui/XmppActivity.java
#	src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
#	src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java
#	src/main/java/eu/siacs/conversations/xmpp/pep/PublishOptions.java
#	src/main/res/values/strings.xml
2023-12-17 22:14:36 +01:00
kosyak e0231493d0 Merge branch 'master' of https://dev.narayana.im/narayana/Conversations 2023-12-17 20:57:16 +01:00
kosyak 9ebb719d71 allow to merge private messages 2023-12-17 18:44:35 +01:00
Bohdan Horbeshko 69dac97f88 show replies not starting with > 2023-12-16 19:06:40 +02:00
Daniel Gultsch 1a83c290a2
UnifiedPush: send unregistered to apps when 'none' account is selected 2023-12-05 10:59:50 +01:00
Daniel Gultsch 20c179c1a1
ensure will tell 'messenger' when UP registration fails or is delayed 2023-12-02 12:20:19 +01:00
Daniel Gultsch f7b5124fd3
support location attribute on enable 2023-12-01 18:29:52 +01:00
Daniel Gultsch eb5994f80f
add quick log functionality to debug UP 2023-12-01 13:22:10 +01:00
Daniel Gultsch 747f58c35b
JingleConnectionManager: code clean up 2023-11-22 08:37:17 +01:00
Daniel Gultsch b183f49977
update call UI after RTP connection has ended 2023-11-22 08:36:44 +01:00
Daniel Gultsch 402882389f
fixup: properly detect fast 2023-11-21 19:40:10 +01:00
Daniel Gultsch 59ff27062b
treat carbons as enabled when requested through bind 2 2023-11-21 16:50:46 +01:00
Daniel Gultsch 3dac9ef3f4
use stricter namespace matching in stream parser 2023-11-21 15:25:21 +01:00
Daniel Gultsch 5bb8f3f9aa
stricter bind 2 inline feature parsing 2023-11-21 15:24:31 +01:00
Daniel Gultsch acef5dbd3b
code clean up 2023-11-20 19:29:19 +01:00
Daniel Gultsch 25dd775613
catch illegal argument exception when reading DNS 2023-11-14 15:13:45 +01:00
Daniel Gultsch c72a86a0a4
add timeout to ICE gathering 2023-11-14 08:57:22 +01:00
kosyak c09551b4c0 fix sorting 2023-11-13 22:27:18 +01:00
kosyak b2556daacd fix npe 2023-11-13 22:27:11 +01:00
kosyak abc42647ae fix primary color usages 2023-11-13 22:27:05 +01:00
Daniel Gultsch 5728cf13ea
RtpSessionActivity code clean up 2023-11-13 17:12:18 +01:00
Daniel Gultsch 622b569bbc
fix accepting senders both content adds 2023-11-13 13:46:30 +01:00
Daniel Gultsch 80c49955f0
JingleRtpConnection code clean up 2023-11-13 13:46:30 +01:00
Daniel Gultsch 96dcc75ac3
add SDP Offer / Answer support 2023-11-13 12:36:20 +01:00
Daniel Gultsch 38ca53fcac
bump reporting xep and add ability to report messages 2023-11-12 19:29:15 +01:00
Daniel Gultsch e73fbac56f
enable 'PEP Native Bookmarks' 2023-11-10 15:29:26 +01:00
Stephen Paul Weber f798102978
Fix and updates Bookmarks2 support
Support the stable version namespace and the new elements, including preserving
any extension content.
2023-11-10 11:41:02 +01:00
kosyak 2b4b0b1212 fix conversation swipe background color 2023-10-31 15:05:04 +01:00
Daniel Gultsch 0898ea77ff
jingle: do not send session-terminate after failed regneg when session already was 2023-10-31 13:16:17 +01:00
kosyak 53a4c6cbcb fix npe 2023-10-31 13:11:41 +01:00
Daniel Gultsch 438a228fc3
minor code clean up 2023-10-31 12:34:55 +01:00
Daniel Gultsch f6482c5a87
fix caps hash calculation for empty form fields 2023-10-31 11:03:59 +01:00
Daniel Gultsch fba7721cd5
fix rare concurrent modification in muc user search 2023-10-31 10:43:53 +01:00
kosyak 356d1e146e better messages highlighting 2023-10-30 21:32:42 +01:00
kosyak 1d7bd8f8da fix reply text color 2023-10-30 21:32:27 +01:00
kosyak 68d8e184fd fix crash during refresh feature discovery 2023-10-30 21:32:14 +01:00
kosyak f12c242628 note to self as separate context menu item 2023-10-30 21:31:54 +01:00
kosyak 11316a949d fix crash 2023-10-30 19:59:43 +01:00
kosyak b5b47f8d7d fix expandable contact clicks handling 2023-10-30 19:59:37 +01:00
Daniel Gultsch dfd7410b1a
make copy omemo fp button a show qr code button 2023-10-30 14:26:28 +01:00
Daniel Gultsch 71b6492d61
show unverified devices warning in contact and account details 2023-10-30 13:06:04 +01:00
Daniel Gultsch 0bbc1193e3
allow background activity start for OpenKeyChain intents 2023-10-29 08:54:19 +01:00
Daniel Gultsch ea5ffe92ea
improve logging when PGP decryption fails 2023-10-29 08:54:19 +01:00
Daniel Gultsch 48ffde9656
toggle foreground service to set correct type when gaining permissions 2023-10-29 08:54:18 +01:00
Daniel Gultsch e83a0af277
ignore false positive warning wrt foreground service 2023-10-29 08:54:17 +01:00
Daniel Gultsch 35c8d31d42
update gradle and gradle plugin 2023-10-29 08:54:17 +01:00
Daniel Gultsch e422b89df5
use aggressive reconnects for see-other-host 2023-10-29 08:54:17 +01:00
Daniel Gultsch 1732ab5cc7
add internal ping timer in case alarm manager fails 2023-10-29 08:54:17 +01:00
Daniel Gultsch a162d72c2a
code clean up in processAccountState() 2023-10-29 08:54:17 +01:00
Daniel Gultsch 928db01ae8
do not init connection for disabled accounts 2023-10-29 08:54:16 +01:00
Daniel Gultsch 2dd8896dc2
stop service on log out when UI is not active 2023-10-29 08:54:16 +01:00
Daniel Gultsch d1f648f2e3
code clean up in onStartCommand 2023-10-29 08:54:16 +01:00
Daniel Gultsch 69425e677c
remove soft disable flag when attempting call 2023-10-29 08:54:16 +01:00
Daniel Gultsch f042efd550
add 'log out' button to foreground notifcation
this temporarily disconnects all accounts until the user opens the app again.

essentially this akin to an 'Exit' button

Users previously had the option to 'disable' accounts but this provides a
faster way to "free up resources" until the next time the app is opened.
2023-10-29 08:54:16 +01:00
Daniel Gultsch 418d6b09a0
explicitly declare foreground service type 2023-10-29 08:54:16 +01:00
kosyak 2d92736810 clickable replies 2023-10-27 05:31:52 +02:00
Daniel Gultsch 981dc2df6d
fix RtpSessionActivity not asking for permissions 2023-10-26 09:38:24 +02:00
kosyak f2012bc7f5 commands tab in conversation 2023-10-25 23:38:54 +02:00
Daniel Gultsch f6c9df00de
run account deletion callback on ui thread 2023-10-25 09:41:05 +02:00
kosyak 43870114d9 group contacts by tag 2023-10-25 04:13:36 +02:00
Daniel Gultsch 6d519cd447
pick proper TTL for non existent DNS entries 2023-10-24 21:05:35 +02:00
Daniel Gultsch 1da9d42065
retrieve DNS response from cache 2023-10-24 19:16:47 +02:00
Daniel Gultsch 97acd16422
keep cache of DNS messages 2023-10-24 18:53:14 +02:00
kosyak d1d23e4627 support primary color picker 2023-10-24 02:28:07 +02:00
Daniel Gultsch 55a77c083f
store SSLSocket after starttls to fix channel binding mechanism detection 2023-10-23 14:40:40 +02:00
Daniel Gultsch 68eb17d400
create missed call notification when device is busy 2023-10-23 11:22:00 +02:00
Daniel Gultsch c44f4b102a
do not accept fast token w/o channel binding for channel bound login 2023-10-21 14:22:38 +02:00
Daniel Gultsch 822f3f4d22
consider going from unique or exporter to endpoint a downgrade 2023-10-21 14:21:29 +02:00
Daniel Gultsch d1f4fbd9de
add connect timeout to DoT 2023-10-19 20:51:19 +02:00
Daniel Gultsch 71ebca40e8
add ķ as irregular unicode 2023-10-19 18:11:08 +02:00
Daniel Gultsch 063f30ded2
ignore outgoing invite
outgoing, mediated invites are of type=normal and can end up in MAM.
We want to ignore those if they get mirrored back to us
2023-10-18 11:50:10 +02:00
Daniel Gultsch 1b49e6b3c1
disable password edit unless unauthorized 2023-10-15 11:23:12 +02:00
Daniel Gultsch 3350ea8b5b
ensure we are in session accepted when processing content-modify 2023-10-15 08:51:15 +02:00
Daniel Gultsch 9a922ffe5d
quietly ignore mediated invites from blocked contacts 2023-10-13 17:36:12 +02:00
Daniel Gultsch 5b2444ea13
implement see-other-host stream error 2023-10-13 08:29:23 +02:00
Daniel Gultsch a40d244bf5
remove unnecessary in resolver 2023-10-12 11:59:21 +02:00
Daniel Gultsch 788565b299
upgrade to 'both' upon accepting recvonly content-add 2023-10-11 11:38:09 +02:00
Daniel Gultsch dbf71e5d54
handle senders modification via content-modify
Dino uses this to enable/disable video when a video content is already present
2023-10-10 18:47:29 +02:00
Daniel Gultsch 39194d111c
QR code scan: take disabled accounts into consideration
when making register or add contact decision
2023-10-10 09:36:08 +02:00
Daniel Gultsch c53e035935
do not use JMI if any rtp capable device does not support it 2023-10-09 16:23:02 +02:00
Daniel Gultsch 8f014d5525
implement Private DNS (DoT)
due to limitations in the MiniDNS library this does not work when
'Validate hostname with DNSSEC' is enabled in the expert settings
2023-10-09 13:27:44 +02:00
Daniel Gultsch d3d582759f
support omemo verification in non stub transport content modifications
Dino (and this is probably correct behaviour) expects a fingerprint in the
content-add message. (and not a stub transport as indicated in the examples).

however if we start to include them we also need to encrypt and verify them
properly.
2023-10-09 13:19:26 +02:00
Arne-Brün Vogelsang 1a7e75235a Update src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java
just a space
2023-10-08 18:25:47 +00:00
Arne-Brün Vogelsang 77631c97a7 Update src/main/java/eu/siacs/conversations/xmpp/jingle/WebRTCWrapper.java
Add Fairphone 4 to AEC Blacklist to fix Echo problems: https://github.com/iNPUTmice/Conversations/issues/4439
2023-10-08 18:25:20 +00:00
Daniel Gultsch 1c5a1b8c71
keep order of rtp contents 2023-10-06 12:34:41 +02:00
Daniel Gultsch 541c8ba80d
modify mime type detection for shared files
add support for audiobooks
2023-10-06 12:34:13 +02:00
kosyak 663a0feecb get rid of soprani.ca leftofvers 2023-10-06 11:14:10 +02:00
kosyak c9c98d98e6 get rid of soprani.ca bookmark 2023-10-06 11:13:24 +02:00
Daniel Gultsch 95aea4291e
don't attempt to figure out file path on Android 11+
fixes #117
2023-10-05 20:29:42 +02:00
Daniel Gultsch 601a8cb3bc
process content-modify for pending content-adds 2023-10-05 16:23:43 +02:00
Daniel Gultsch a8241c72df
use url safe jingle session ids
Movim does not like slashes (/) in jingle session ids.
When proposing a session called 'wBKabx1kRIfkgNxAShip/w' Movim will
accept (proceed) a session called 'wBKabx1kRIfkgNxAShip' which the initiator of course does not know about. (Conversations will get stuck at ringing/discovering devices)

This is likely because a click on 'Reply' (accept call) in Movim opens upa pop up window where both the full jid as well as the session id are transmitted as part of the URL.

(Full jids can contain more than on slash btw)
2023-10-04 13:30:53 +02:00
Daniel Gultsch 1b5d2151d0
warn early when SDP is likely to be invalid 2023-10-04 13:07:28 +02:00
Daniel Gultsch 6bc3cad7de
apply ice-options when adding content or restarting ice 2023-10-04 10:43:45 +02:00
Daniel Gultsch 1aeae9c7f6
set local-only flag on ongoing call notification 2023-10-03 14:16:48 +02:00
Daniel Gultsch 8570c9f912
use more aggressive reconnect intervals during rtp session 2023-10-03 12:56:10 +02:00
Daniel Gultsch fd4b8ba188
bring back ICE Renomination via negotiation 2023-10-03 12:55:44 +02:00
Daniel Gultsch 17856a47db
hold back candidates until after content-add 2023-10-02 13:54:36 +02:00
Daniel Gultsch 7e9980d997
catch illegal state exception in TrackWrapper 2023-10-02 11:48:03 +02:00
Daniel Gultsch 09993b8319
fetch local description on its own executor 2023-10-02 11:03:08 +02:00
Daniel Gultsch 0dca7f8a5a
JMI: send 'ringing' and receipts only for contacts
fixes #110
2023-10-01 08:05:40 +02:00
Daniel Gultsch ac3ce93c56
fix stun url generation 2023-10-01 08:02:55 +02:00
Daniel Gultsch c9b80254e4
add more logging to unroutable jingle messages 2023-09-30 15:56:06 +02:00
Daniel Gultsch 6660877bcf
jingle: trim media attribute values
Movim has trailing whitespace around some of their media attributes

<source ssrc="1892824964" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0">
  <parameter name="msid" value="{a98821d7-b298-4130-925a-ff6c510734c0} {f45dfc5c-2fa7-42b4-85e5-935e786b3feb} " xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
  <parameter name="cname" value="{63b1042b-5cb5-4411-b2a5-bdff92ae45be}" xmlns="urn:xmpp:jingle:apps:rtp:ssma:0"/>
</source>

our WebRTC doesn’t like that. We trim the value even though this seems to be a Movim bug.
2023-09-30 07:55:08 +02:00
Daniel Gultsch 86f46ece83
revert back to AAC for voice messages
iOS can not do opus out of the box
2023-09-29 18:42:31 +02:00
Daniel Gultsch 05c79ff29d
version bump webrtc to m117 2023-09-29 16:19:01 +02:00
Daniel Gultsch 3e9c08a4aa
include date in backup file name
since `account.ceb` might have previously been created by a different application
(for example f-droid and user is on play now) or copied over via the file
manager Conversations might not have permission to write over an existing file.

we include the date so we always get a new file

fixes #105
2023-09-25 10:56:24 +02:00
Daniel Gultsch 2adff4a92c
catch rare instances of foreground service not allowed to start 2023-09-25 09:22:29 +02:00
Daniel Gultsch 8ba90f266e
add explicit error message for outdated backup files 2023-09-20 17:00:04 +02:00
kosyak b83d224652 bump mam limits 2023-09-18 13:29:01 +02:00
kosyak 13c22ad5db append author and day for multi select copy value 2023-09-15 17:56:07 +02:00
kosyak e3ce350077 improve message selection mode title 2023-09-15 17:38:19 +02:00
kosyak 5d30742a13 fix message archive issues 2023-09-15 16:14:32 +02:00
kosyak 6770f7de61 separate PM fixes 2023-09-15 14:11:43 +02:00
kosyak 1ca354c208 muc PM in the separate conversation 2023-09-15 11:28:50 +02:00
Daniel Gultsch b4c3334d7e
add a few TODOs wrt tie breaks 2023-09-14 14:39:32 +02:00
Daniel Gultsch fdd7f2926f
support 'ringing' jingle message 2023-09-14 11:22:19 +02:00
Daniel Gultsch 00ae1ca762
fix group chat shortcuts 2023-09-11 16:38:57 +02:00
Daniel Gultsch c6501a3ad4
fix UUIDv4 calculation 2023-09-08 14:19:18 +02:00
Stephen Paul Weber 11e6cb9693
Use conversation notifications
Allows for per-conversation priority and sound
2023-09-07 13:08:23 +02:00
Daniel Gultsch d5ae2f4b41
look at roomconfig_changesubject and roominfo_changesubject
fixes #90
2023-09-06 13:47:35 +02:00
kosyak c62cc344b5 tags for muc 2023-09-06 02:49:41 +02:00
kosyak 9aac6d99e7 fix crash 2023-09-06 02:49:04 +02:00
Daniel Gultsch 1b05cbd665
use opus for voice messages on Android 10
recipients need at least Android 5 to play the message; however
Conversations has been Android 5+ for a while now
2023-08-20 07:59:45 +02:00
Daniel Gultsch 09f6343ced
Security: Introduce backup file format v2
This switches the SQL based backup format to something JSON based.

The SQL based format has always been prone to SQL injections that, for example, could delete other messages or preexisting accounts in the app. This hasn’t been a concern this far because why would anyone purposely try to restore a faulty backup? However the argument has been made that a user can be socially engineered to restore an exploited backup file.
Before version 2.12.8 a third party app could even trigger the restore process, leaving the backup password entry dialog the only hurdle.
On top of that it has been demonstrated that a backup file can be crafted in a way that puts preexisting credentials into a 'pending' message to an attacker ultimately leading to that information being leaked.

While destorying information has always been deemed an acceptable risk, leaking information is one step too far.

Starting with Conversations 2.12.9 Conversations will no longer be able to read v1 backup files. This means if you are restoring on a new device and you have a v1 backup file you must first install Conversations <= 2.12.8, restore the backup, and then upgrade to Conversations >= 2.12.9.

ceb2txt¹ has support for v2 backup files. Conceivably ceb2txt could be extended to convert between v1 and v2 file formats. (ceb2txt already recreates the database from v1 files; It is relatively straight forward to create v2 files from that database. Pull requests welcome.)

¹: https://github.com/iNPUTmice/ceb2txt/
2023-08-17 12:07:51 +02:00
kosyak bd6b316ab6 long tap on conversation 2023-08-15 01:30:56 +02:00
kosyak 8ea335501b logs sender 2023-08-15 01:23:31 +02:00
kosyak 5ce1e80e73 fix service discovery has identity 2023-08-15 01:23:18 +02:00
kosyak fee1a67332 tags editor 2023-08-15 01:22:56 +02:00
kosyak dca3e80bad modify entities for proper tags navigation 2023-08-15 01:22:40 +02:00
kosyak b26adc84b0 don't hide indicator on merged messages 2023-08-15 01:22:10 +02:00
kosyak a2a943c36a tags navigation and self contact 2023-08-15 01:21:39 +02:00
kosyak 18c41eb05e dialpad and gateway interaction 2023-08-15 01:21:20 +02:00
kosyak a1e354fa72 fix reply id 2023-08-15 01:20:05 +02:00
Daniel Gultsch b4a07d0093
remove channel discovery from Google Play build flavor 2023-08-08 10:39:36 +02:00
Daniel Gultsch 7a9f18f223
play tones as music when silent only on android 12+ 2023-08-08 09:04:26 +02:00
kosyak 847ef66216 fix saving path 2023-06-29 11:11:54 +03:00
Daniel Gultsch 12b34426fc
add ј to list 2023-06-29 09:56:49 +02:00
Daniel Gultsch d588e942e6
q is not cyrillic but ԛ and х are 2023-06-29 09:45:50 +02:00
kosyak 983ef0d369 fix messages table creation 2023-06-29 00:23:53 +03:00
Stephen Paul Weber 4c38c480fa
Use libidn for stringprep
Which actually validates according to spec instead of just being lazy.
2023-06-27 16:31:01 +02:00
Daniel Gultsch e3a121121b
UP: add custom extensions for app<->distributor interaction
On registration the app can pass in a 'Messenger' to get a direct response
instead of having to somehow wait for the broadcast receiver to fire.

The app name can be passed as a pending intent which allows the distributor
to validate the sender.
2023-06-26 16:09:01 +02:00
Daniel Gultsch ca1ee4a565
process stream features after success when we inlined bind but not sm 2023-06-25 22:15:49 +02:00
Daniel Gultsch 3b26948a9d
replace libraries hosted on jcenter 2023-06-23 18:00:58 +02:00
kosyak 8f0fb0f2a3 prevent vertical scrolling during swipe 2023-06-22 11:14:56 +03:00
kosyak 5bb72ec049 improve replies 2023-06-22 03:38:26 +03:00
kosyak b1c3001a97 update corners and stack bubbles from last message 2023-06-11 22:50:59 +03:00
Daniel Gultsch 6289e048b3
catch runtime exception when trying to stop tone manager 2023-06-05 10:05:59 +02:00
kosyak 7c5826c945 embedded photo editor 2023-05-29 00:29:55 +03:00
kosyak e1161bcb22 implement multi selection for messages 2023-05-29 00:29:02 +03:00
Daniel Gultsch 1188a89f2a
sanity check push server url 2023-05-07 14:43:13 +02:00
Daniel Gultsch f7f34c6bdd
fix regressions after target sdk 33 update 2023-05-07 10:13:14 +02:00
Daniel Gultsch cc16811444
rename bookmarks tab to 'group chats'
fixes #38

exposing bookmarks like this was a mistake that Conversations 3 will not repeat

in the meantime we rename this to group chats which might be more broadly understood
2023-05-03 08:00:40 +02:00
Daniel Gultsch aa8e0b3c4d
remember bound stream features. fixes #45 2023-05-02 15:35:27 +02:00
Daniel Gultsch bc00f6f629
bump target sdk to 33 2023-04-12 13:28:16 +02:00
Daniel Gultsch 1fff1a0649
add ability to remove account from server 2023-04-08 09:31:17 +02:00
Daniel Gultsch 9187739450
play dial tones on STREAM_MUSIC when phone is silent
when the phone is silent only the first ~three tones are played when
attempting to play out the tone over STREAM_VOICE_CALL

it’s unclear exactly why this is the case (in the past we went back and forth
between STREAM_VOICE_CALL and STREAM_MUSIC) exactly to fix issues around silent
mode.
Apparently we failed to test this past three sounds.

This commit changes the stream back to music - but not generally as this was in
the past - but only for when the phone is on silent
2023-04-03 16:00:06 +02:00
Daniel Gultsch d38c264e7d
lock call activity in portrait mode during audio call 2023-04-03 13:38:22 +02:00
Daniel Gultsch 9456ba6f56
put timestamp in all call logs 2023-04-03 13:15:57 +02:00
Daniel Gultsch 2cb21bcb87
use static (not translated) text for Privacy policy and TOS
For a long time Quicksy had a privacy policy written by myself that explains
in plain English what data we store and how we use it.
https://quicksy.im/#privacy

Google doesn’t like that and prefers that we use some bullshit template that
is extremely vague, doesn’t explain anything and gives us permission to do
basically everything. (At least I think so. I don’t understand the text I
copy pasted)

Apparantly the text in the app is important as well (BARD didn’t explain
that very well when it reviewed our app) therfor we need a static text (not
allow translations)

Furthermore the data safety section on Google Play now claims we store the
users address book even though we don’t actually. But who cares; nobody reads
this and we just do this to make the machine happy. Cool!
2023-04-03 10:29:55 +02:00
Daniel Gultsch fbf8b09fe6
point to a privacy policy that doesn’t use anchors 2023-03-06 08:06:46 +01:00
Daniel Gultsch 9715271e92
expand emoji range to cover e14 2023-03-05 20:50:06 +01:00
Daniel Gultsch 84fa529256
use setText instead of append() 2023-02-05 09:34:29 +01:00
Daniel Gultsch 41cd96e37b
UP: null check transport verification 2023-01-10 17:22:48 +01:00
Daniel Gultsch b7c7c40b94
send directed presence to transport if endpoints are configured 2023-01-06 17:04:15 +01:00
Daniel Gultsch 0e10ae387a
periodically renew endpoints 2023-01-06 15:44:39 +01:00
Daniel Gultsch 1e0904a48d
use less entropy in SASL2 device id 2023-01-06 12:41:26 +01:00
Daniel Gultsch 4ee5c167be
do not attempt endpoint renewal when account is disabled. renew on bind 2023-01-04 20:59:08 +01:00
Daniel Gultsch b1f95d2e39
integrate UnifiedPush distributor 2023-01-04 10:23:20 +01:00
Daniel Gultsch 1000d927a7
remove work arounds for nimbuzz.com 2023-01-01 12:20:10 +01:00
Daniel Gultsch 97d9cb7dd5
remove work arounds for slack 2023-01-01 12:05:49 +01:00
Daniel Gultsch 41da2a5957
fix client crashing on empty passwords (regression) 2022-12-30 17:14:18 +01:00
Daniel Gultsch 0cec499565
make sure we don’t dispose video source twice 2022-12-30 12:16:19 +01:00
Daniel Gultsch a7fe3e8372
reset stanza count when enabling SM via SASL inline 2022-12-30 12:09:16 +01:00
Daniel Gultsch 01fba162f0
code clean up. use Optional to parse SM’s h attribute 2022-12-30 10:53:49 +01:00
Daniel Gultsch f5b7fbc441
add log when we requested token but didn’t get one 2022-12-30 09:00:42 +01:00
Daniel Gultsch 13606aae60
add todo item in turn server code 2022-12-29 14:53:05 +01:00
Daniel Gultsch ce0992036a
disable proximity sensor after switching from audio to video 2022-12-29 12:53:59 +01:00
Daniel Gultsch 909aa72b25 catch exception in getSignalingState() 2022-12-24 10:55:16 +01:00
Daniel Gultsch 36efd51a7f fix transports/descriptions not upgraded to jingle ft
fixes #4429
2022-12-20 19:28:47 +01:00
Daniel Gultsch 499c4ddd0a do not detect sm:2 as sm available
the 2.11.0 release removed support for enabling sm:2
unfortunatly sm:2 was still detected as "server supports stream managment"
down the line leading to resend loops.

fixes #4426
2022-12-16 08:07:46 +01:00
Daniel Gultsch 4ef4207593 show switch to video only if other party has caps
fixes #4421
2022-12-12 10:15:13 +01:00
Daniel Gultsch 2093aa76ad code clean up in ContactChooserTargetService 2022-12-11 20:13:09 +01:00
Daniel Gultsch bb52962f0d delay candidates until after session-init/accept 2022-12-05 15:40:07 +01:00
Daniel Gultsch 2c7c44e957 null PeerConnection reference before disposing; otherwise getState() might be issued against disposed object 2022-12-01 20:46:18 +01:00
Daniel Gultsch 80d195d35e avoid race condition when restarting ICE 2022-11-30 17:32:46 +01:00
Daniel Gultsch c178e9ad33 add switch to video menu item to call 2022-11-28 11:39:26 +01:00
Daniel Gultsch 4e8ceadfbf prepare JingleRtpConnection for content-adds 2022-11-28 08:59:23 +01:00
Daniel Gultsch 63501adc45 trim xmpp address after user input 2022-11-25 08:50:58 +01:00
Daniel Gultsch f4be142e4d add helper methods for content modification to RtpContentMap 2022-11-22 10:13:48 +01:00
Daniel Gultsch e2f98f6bbc ensure cc-ed proceed is equivalent to accept 2022-11-22 10:13:07 +01:00
Daniel Gultsch 9897fa3a45 rename initiateIceRestart to renegotiate to handle content adds 2022-11-21 09:10:01 +01:00
Daniel Gultsch 304205b2e3 take senders attr into account when converting to and from sdp 2022-11-20 17:00:40 +01:00
Daniel Gultsch 59ea66ca78 make sure VideoSourceWrapper is stored in property 2022-11-19 14:19:07 +01:00
Daniel Gultsch 27d8da2ab4 refactor WebRTCWrapper to allow for track adds 2022-11-19 13:03:34 +01:00
Daniel Gultsch 8fb2c11771 use plurals for missed call strings 2022-11-19 08:14:50 +01:00
Daniel Gultsch 6b9ebb3abf remove TODO 2022-11-18 10:40:16 +01:00
Daniel Gultsch 109a20ca40 do not expect stream features after inline resume 2022-11-17 10:52:30 +01:00
Daniel Gultsch 29461edf40 process challenge only on secure connection 2022-11-17 07:48:09 +01:00
Daniel Gultsch 44bfff7e49 fall back to regular authentication if fast fails 2022-11-16 11:00:43 +01:00
Daniel Gultsch 6ececb4d2b refactor webrtc video source + capture code 2022-11-12 13:37:56 +01:00
Daniel Gultsch 5dbd86155f show help button only if Config.HELP is set 2022-11-10 07:55:05 +01:00
Daniel Gultsch dac2e17133 disable quick start if fast is available but we didn’t use fast 2022-11-01 18:06:32 +01:00
Daniel Gultsch 35ee01cb28 reset fast token on login failure 2022-11-01 16:44:36 +01:00
Daniel Gultsch a29c7c725e modify scram mechanisms to use guava hashing 2022-10-24 13:11:30 +02:00
Daniel Gultsch e2b9f0e77a add support for HashedToken channel binding 2022-10-15 20:53:59 +02:00
Daniel Gultsch 24badda4c9 do quick start with HT-SHA-256-NONE 2022-10-15 18:56:31 +02:00
Daniel Gultsch c13787873c request fast token 2022-10-15 12:27:38 +02:00
Daniel Gultsch 3378447f60 parse hash token names 2022-10-15 00:09:29 +02:00
Daniel Gultsch 0cd416298d ensure we only select channel binding methods available for tls version 2022-10-14 20:00:36 +02:00
Daniel Gultsch 7eb160386d enable SM if it wasn’t enabled in bind 2 2022-10-14 13:29:59 +02:00
Daniel Gultsch 9a0c90f066 read new stream features directly after success 2022-10-14 13:13:21 +02:00
Daniel Gultsch 3d6c7bbf1c fix display glitch in username mode 2022-10-13 09:51:56 +02:00
Daniel Gultsch 90048e92bb use url span method to show context menu. fixes #4393 2022-10-12 18:43:05 +02:00
Daniel Gultsch ab0ea7096e make it easier to disable muclumbus in Config 2022-10-12 14:47:02 +02:00
Daniel Gultsch 716c804353 only run account options through int conversion. fixes #4390 2022-10-12 11:53:57 +02:00
Daniel Gultsch d435c1f2ae let omemoOnly config overwrite OmemoSetting 2022-10-01 11:26:52 +02:00
Daniel Gultsch 5735bca517 minor code clean up 2022-10-01 09:26:07 +02:00
Daniel Gultsch cb775ece99 wait for DB restore before bind 2022-09-26 09:47:53 +02:00
Daniel Gultsch 3d56d01826 handle case when server loses support for quick start 2022-09-26 07:53:48 +02:00
Daniel Gultsch 717aeddb82 fix last commit. bring back option required by quicksy 2022-09-25 15:18:45 +02:00