Commit Graph

1025 Commits (adf370997e7d5d0c57808ad1699acb61a96b0b99)

Author SHA1 Message Date
audric fc916ce94c Fix attachments duplication on message syncing with current device 3 years ago
audric 4b39b46b6a replace invalid unicode in filename 3 years ago
audric 72409e3f1f make sure to keep error state of attachment DL failing 3 years ago
audric 8feecb777b make sure to scale dowm preview in composition box 3 years ago
Audric Ackermann c7565fe7b3 Move scale/resize and attachment logic to typescript 3 years ago
Audric Ackermann cb8704f9b1
bump convo active_at on answered/trigger call 3 years ago
Audric Ackermann 1a8a839ba3
no need to deleteAuthToken anymore for opengroupv2 servers 3 years ago
Audric Ackermann 4a530582b1
catch exception when failing to decode/read an attachment 3 years ago
Audric Ackermann 55cca318e7
lint 3 years ago
Audric Ackermann eb0cf0938d
make sure to use cached convos for sync logic
otherwise the whole app freezes on a big database
3 years ago
Audric Ackermann 58dc3e26ca
reactify group updates text bubble from redux store (#2083) 3 years ago
Audric Ackermann 28c7445dce
refactor most of the components to outside of their Session folder (#2072)
* refactor most of the components to outside of their Session folder

* finish moving overlay and memberListItem to react hook

* fix bug with kicked member len >2 not being displayed

also sort admins first in UpdateGroupMembers dialog

* fix admin leaving text of groupNotification

* add a useFocusMount hook to focus input fields on mount

* make click avatar convo item open only user dialog

* cleanup config default.json

* make sure to use convoController to build sync message

* disable showing pubkey on opengroups

* add a pause on audio playback

Fixes #2079
3 years ago
Audric Ackermann 48e7a0e25f
Various UI fixes (#2070)
* cleanup unused convo json fields in db

* display a toast if the user is not approved yet on call OFFER received

* enable CBR for calls

* do not update active_at on configMessage if !!active_at

* remove mkdirp dependency

* disable call button if focused convo is blocked

* quote: do not include the full body in quote, but just the first 100

* click on the edit profile qr code padding

* Allow longer input for opengroup join overlay

Fixes #2068

* Fix overlay feature for start new session button

* make ringing depend on redux CALL status

* turn ON read-receipt by default
3 years ago
Audric Ackermann 273d866b98
Cleanup message request (#2063)
* close incoming call dialog if endCall from seame sender

* disable message request toggle if featureFlag is OFF

* cleanup UI of message requests

* mark all existing conversations as approved in a migration

* fix regex with conversationID for opengroups
3 years ago
Audric Ackermann 1a699879cf
Add call duration (#2059)
* add call duration once connected

* close incoming call dialog if endCall from same sender

* disable message request toggle if featureFlag is OFF
3 years ago
Audric Ackermann 651b1c4376
Fetch translations (#2056)
* show missed-call,started-call and answered call notification in chat

* fix types for createLastMessageUpdate

* show incoming dialog if we have a pending call when enable call receptio

* simplify a bit the avatar component

* move disableDrag to a custom hook

* speed up hash colors of avatarPlaceHolders

* fixup text selection and double click reply on message

* keep avatar decoded items longer before releasing memory

* add incoming/outgoing/missed call notification

also, merge that notification with the timer and group notification
component

* hangup call if no answer after 30sec

* refactor SessionInput using hook + add testid field for recovery

* disable message request feature flag for now

* fix merge issue

* force loading screen to be black instead of white

for our dark theme user's eyes safety

* add type for i18n to run update after crowdin  fetch with tools/updateI18nKeysType.py

* update to latest translations
3 years ago
Audric Ackermann cf44896a03
Minor call tweaks (#2051)
* show missed-call,started-call and answered call notification in chat

* fix types for createLastMessageUpdate

* show incoming dialog if we have a pending call when enable call receptio

* simplify a bit the avatar component

* move disableDrag to a custom hook

* speed up hash colors of avatarPlaceHolders

* fixup text selection and double click reply on message

* keep avatar decoded items longer before releasing memory

* add incoming/outgoing/missed call notification

also, merge that notification with the timer and group notification
component

* hangup call if no answer after 30sec

* refactor SessionInput using hook + add testid field for recovery

* disable message request feature flag for now

* fix merge issue

* force loading screen to be black instead of white

for our dark theme user's eyes safety
3 years ago
Audric Ackermann bef9058ffe
Merge branch 'clearnet' into message-requests 3 years ago
warrickct 4576f3cb32 Merge branch 'clearnet' into message-requests 3 years ago
warrickct b5df47c2b8 Addressing PR comments 3 years ago
warrickct 726418887c Addressing PR comments 3 years ago
Audric Ackermann faeb6e206a
fix a bug releasing the decrypted attachment blobs too early 3 years ago
warrickct 86a9253144 Merge branch 'clearnet' into message-requests 3 years ago
warrickct 2144a3980f Linting and formatting. 3 years ago
Audric Ackermann a4daabfa75
add a way to choose the audioouput/mute a webrtc call 3 years ago
Audric Ackermann 53289298a9
auto select the first audio input on connection success webrtc 3 years ago
Audric Ackermann d5f6180ae6
create offer and answer ourselves and do not use the negotiation needed
event.

this event is causing us to loop in negotiation needed when each side
try to create one, gets the answer and so on...
3 years ago
warrickct 2e2941ba9b message request refactoring. 3 years ago
Audric Ackermann 1dff310820
no video track by default and will be turn ON if asked to 3 years ago
Audric Ackermann 6f3625f99c
move the state of calling to its own slice 3 years ago
Audric Ackermann 2f49228317
update turn servers 3 years ago
Audric Ackermann c1471426ac
dismiss a call when answered from another of our devices 3 years ago
Audric Ackermann 485a5b257d
fix ringing sound for in release builds 3 years ago
Audric Ackermann 67665dde56
handle network switching with webrtc
dirty hack from
https://bugs.chromium.org/p/chromium/issues/detail?id=982793
3 years ago
Audric Ackermann 1203f1dc48
remove none state on callState. instead set it to undefined 3 years ago
Audric Ackermann b8d5a1c166
disable audio output switching as this is broken for now 3 years ago
Warrick Corfe-Tan cb5551c1e9 PR changes 3 years ago
Audric Ackermann 6625b7c7b6
calls fix cross platforms issue with uuid 3 years ago
Warrick Corfe-Tan 6a62437c3e Blocking, accepting on click and accepting on msg send
working across clients.
3 years ago
Audric Ackermann 8c9832f118
add a toggle audio output button 3 years ago
Audric Ackermann dafb536f58
disable negotiationevent on recipient side
probably cause issues on network changes
3 years ago
Audric Ackermann 29c187c6a0
add a notification on incoming call + an audio playing 3 years ago
Audric Ackermann 25c7a2febd
data extraction notification on a line rather than a column 3 years ago
Audric Ackermann f91ed7729b
cleanup SessionCompositionBox 3 years ago
Audric Ackermann 57449857f6
reject call after 1 minute showing the dialog 3 years ago
Audric Ackermann 4700a0c832
allow to hangup even if current call should already be closed 3 years ago
Warrick Corfe-Tan c3924f85a9 Adding blocking of individual requests and syncing of block to devices. Added approval by replying to a message. 3 years ago
Audric Ackermann dd25d9cb7f
fix flickering of video stream on mute/unmute 3 years ago
Audric Ackermann 8468598b3a
send a pre offer to the PNServer for video calls 3 years ago
Audric Ackermann 8618cf75e9
send and handle uuid for multi device calls 3 years ago
Audric Ackermann 73d36c9769
send hangup event on datachannel to close video stream quicker
on the recipient side too
3 years ago
Audric Ackermann 25910be0fd
do not display the reveal seed banner if user just used it 3 years ago
Audric Ackermann 390af96514
WIP 3 years ago
Audric Ackermann a0b33fbbbb
add hook to listen for video call events 3 years ago
Warrick Corfe-Tan 4ad14e4c5b Added syncing accepting of contact between running instances. 3 years ago
Audric Ackermann 6a1f575c46
create a hook for listening for video call events
+ wip fullscreen video calls
3 years ago
Audric Ackermann d50d7eb803
our video off => show our avatar 3 years ago
Audric Ackermann dd281de903
cleanup feature flags 3 years ago
Audric Ackermann ce16066313
do not try to do an unsend request on a group swarm 3 years ago
Warrick Corfe-Tan 9e0f128fc6 Adding isApproved field to protobuf. 3 years ago
Audric Ackermann bb26680b75
unsend for me only on a closed group only deletes locally
also do not await request to PN server
4 years ago
Audric Ackermann 5d9565a559
fix menu action for unsending messages 4 years ago
Warrick Corfe-Tan e405b5ffd9 git stash 4 years ago
Audric Ackermann 0f2fcbb6e3
delete for opengroups is working 4 years ago
Audric Ackermann 0ae23875b7
finish cleaning up Settings page 4 years ago
Audric Ackermann a596531c57
cleanup SessionSettings by making them less a IdoEverything 4 years ago
Audric Ackermann 99b139f5c4
split settings folder and start adding the settings for video call 4 years ago
Warrick Corfe-Tan c3f20aceb2 WIP message requesting. Banner styling finished. 4 years ago
Audric Ackermann 760b99587a
make sure to poll quicker if we get >95 messages on one polling 4 years ago
Audric Ackermann ae8688bf2a
cleanup UI for missed call messages in msg list 4 years ago
Audric Ackermann 121f8927ed
exclude same /24 subnet from onion path building candidates 4 years ago
Audric Ackermann 8f3b6d9ab2
add wip of call missed notification 4 years ago
Audric Ackermann 678a5bcb3b
center avatar in draggable video window and handle mute video events 4 years ago
Audric Ackermann ecceaeaa8f
got datachannel working 4 years ago
Audric Ackermann 0bfa41c7b8
switch to our turn servers 4 years ago
Audric Ackermann 30a234158f
lint 4 years ago
Audric Ackermann 87e7cc5ebf
Merge remote-tracking branch 'upstream/clearnet' into webrtc-calls 4 years ago
Audric Ackermann cade0ffeb6
make sure audio locally is muted so we do not hear ourselves 4 years ago
Audric Ackermann ce79ce1f8b
add buttons with popover to choose call src device 4 years ago
Audric Ackermann a629985a4f
fix toggling input source and off in video calls 4 years ago
Audric Ackermann fbd51c2974
add buttons to display list of inputs + toast on empty 4 years ago
Audric Ackermann b85425ff83
make a draggable or in conversation call container 4 years ago
Audric Ackermann 4277c29bd8
make sure to refetch messageModel from db when saving attachments 4 years ago
Audric Ackermann f75f63e4e9
handle 421 on sending delete_all 4 years ago
Audric Ackermann 1e8c8991ad
more cleanup 4 years ago
Warrick Corfe-Tan 1522e5102d removed isCall property from message. Fixed text 4 years ago
Warrick Corfe-Tan 0b8f3255b0 corrections to pass yarn ready 4 years ago
Warrick Corfe-Tan 6743201cc4 added perfect negotiation
Adding toast for cam and audio permission when making a call.

adding missed call message and toast when a call is received while mid-call.

background call message work
4 years ago
Audric Ackermann fa32e61982
network delete_all force retries if we get a 421 4 years ago
Warrick Corfe-Tan 8985d1ff19 WIP perfect negotiations 4 years ago
Warrick Corfe-Tan 5becf6be04 Merge branch 'webrtc-calls' of https://github.com/oxen-io/session-desktop into webrtc-calls 4 years ago
Audric Ackermann c54f63ab45
add listener for video calls events 4 years ago
Warrick Corfe-Tan c777a27d5b WIP: Adding checks for perfect negotiation webrtc 4 years ago
Audric Ackermann 94bc3da2c7
working video calls accept with real streaming with android 4 years ago
Audric Ackermann 8b611a2867
make call UI react to incoming and ongoing calls 4 years ago
Audric Ackermann 6c50ec4bf1
link accept/decline and endcall buttons to the webrtc background 4 years ago
Audric Ackermann 2e49c44536
video stream displayed on mobile 4 years ago
Audric Ackermann eb6d8727ba
WIP 4 years ago
Audric Ackermann d55c96cb67
setup webrtc between two pubkey 4 years ago
Audric Ackermann a538cac491
add callmessage typescript class 4 years ago
Audric Ackermann 4e30614077
disable unsend request on the UI for now (#1934)
* disable unsend request on the UI too

* do not stop propagation of events for message ctx menu
4 years ago
Audric Ackermann 15ac6ed23c
Merge remote-tracking branch 'upstream/master' into clearnet 4 years ago
Warrick 1d459ba533
Unsend messages (only message hashes saving for now is enabled) (#1891)
* WIP unsending message.

* retrieving message with hash from db on receiving unsend request.

* outgoing messages hashes updated on message sent success

* unsend messaging

* unsend message - deleting messages and marking as isDeleted.

* add msg hash to unprocessed records.

* Message unsending working for closed groups provided the message has been updated with a hash from server.

* adding 2-stage confirmation modal for message deletion

* adding rendering of removed incoming messages, disabling rendering of unsent outgoing messages in coversation screen.

* Adding logging

* debugging.

* outgoing only saved for sync message instead of regular message.

* deleting locally

* adding post unsend deletioncode.

* starting adding feature flag.

* Added feature flag.

* addding mandatory messageHash  pollling pipeline methods swarm polling.

* Conversation list item message preview showing deletion placeholder text if deleted.

* add condition to drop unsend requests not send by message author

* refactoring deleteMessage. Saving response hash for closed group message sending

* running yarn ready

* removing logging.

* Adding PR fixes

* Minor changes and running yarn ready

* fix typo

* Moved feature flag to lokiFeatureFlags. Fixing linting errors


Co-authored-by: Audric Ackermann <audric@loki.network>
4 years ago
Audric Ackermann b17312c13c
Cleanup redux store (#1925)
* do not consider expire timer update unread messages #1881

* cleanup conversation props in redux to only have what cannot be derived

* fix app not starting without the await on convo creation

* cleanup props of message model
4 years ago
Audric Ackermann 2fdafb8fba
Out of sync message sync (#1923)
* do not update sent_at for synced messages

* reply to message context menu only visible if msg sent

* Allow scrolling in mentioning people in composition box

Relates #1849
4 years ago
Audric Ackermann e9dfa0704f
do not overwrite sent_at with network time for synced messages (#1921)
* do not update sent_at for synced messages

* reply to message context menu only visible if msg sent
4 years ago
Audric Ackermann b45109985c
use timestamp offset in for messages storage requests (#1892)
* add using timestamp offset from network for sending part1

* remove MessageController as we now rely on the database

* fix tests for message sending overriding timestamp
4 years ago
Audric Ackermann 797bf0650f
Session 1.7.1 (#1908)
* Keep line breaks when message has some new lines

Relates #1758 and #1898 and #1901

* Fix path building (#1903)

* Keep line breaks when message has some new lines

Relates #1758 and #1898 and #1901

* fix link preview cropped when received

* make sure we fetch from seed if we end up with not enough snodes

* try to download recent previews if we just trusted a user

* throw if we need to rebuild path while fetching snode list from snode

* fixup no refecthing of snode list while we are fetching them already

* added test for fetch from db or seed

* fetch snode list from snode every hour

also make sure the path building does not try to get more snodes. It
just throws

* do not drop a path if an opengroup room is down and we get errors  back

* do not throw an error if the snode in error in not in any path

* fix tests

* bump to v1.7.11
4 years ago
Audric Ackermann c92baad736
Fix path building (#1903)
* Keep line breaks when message has some new lines

Relates #1758 and #1898 and #1901

* fix link preview cropped when received

* make sure we fetch from seed if we end up with not enough snodes

* try to download recent previews if we just trusted a user

* throw if we need to rebuild path while fetching snode list from snode

* fixup no refecthing of snode list while we are fetching them already

* added test for fetch from db or seed

* fetch snode list from snode every hour

also make sure the path building does not try to get more snodes. It
just throws

* do not drop a path if an opengroup room is down and we get errors  back

* do not throw an error if the snode in error in not in any path

* fix tests

* bump to v1.7.11
4 years ago
audric ffe8375dd1 fix build of onion path when snodes count is exactly 12 4 years ago
audric 8462d7d38e make encrypted content fast load if already stored decrypted 4 years ago
audric a30876fd65 removed the enum from SessionIconType. Just rely on the type itself 4 years ago
audric cdd11eee47 speed up attachment loading by only loading those inview 4 years ago
audric 7fa50b4a73 do not pass props not needed between message list components 4 years ago
audric ea2dbb4a69 onionpath status only has ip needed 4 years ago
audric ec2eab6e23 do not trigger redux update if onion path did not change 4 years ago
audric f7b0c6c7e1 make conversation screen closer to mobile UI part1 4 years ago
Audric Ackermann ca96795683
Merge pull request #1869 from Bilb/logs-pn-server
Add logs of PN server notify fails
4 years ago
audric 68330b42bf Add logs of PN server notify fails 4 years ago
Brice-W a89c6710fb Merge branch 'clearnet' of https://github.com/oxen-io/session-desktop into link-previews 4 years ago
audric 6a50484597 fix tests for swarm polling 4 years ago
audric e5dab2781e remove spectron dependency 4 years ago
audric 8344c48d88 handle offline status for selectGuardNodes stuff 4 years ago
Brice-W 68979f83d5 Merge branch 'clearnet' of https://github.com/oxen-io/session-desktop into link-previews 4 years ago
Brice-W 384eecd9dc allow receiving link previews when sending is disabled 4 years ago
audric 9e37985d03 enable no-unused local and imports and fix tslint 4 years ago
audric 1ffadad2ad remove ip_url from seed nodes as this is unused 4 years ago
audric 215f2227c1 move what is used only for PN server api call to pnserver.ts 4 years ago
audric cc4168a858 do not update last fetch timestamp when an exception for retrieve 4 years ago
audric 01ff290f85 fix tests 4 years ago
audric c83776e510 fix the log file space usage on path building error
the issue seems to be coming from the fact that we need at least
minSnodePool count snodes to build a path reliably.
4 years ago
audric 612e99af4a add a setting to start the app with a tray icon
Relates #1759
4 years ago
audric abbd0a84a9 increase timeout for snode api requests (mainly for attachment upload)
Relates #1774
4 years ago
audric e9412df60e fix lint and steal autofocus on registration to seed 4 years ago
audric 2ebae9a746 fix tests for variable swarm polling 4 years ago
audric 61b48dd06b move delete_all api call to snodeAPI.ts 4 years ago
audric c276bf8dbe fix delete_all endpoint for testnet 4 years ago
audric 9991dc2364 move delete account logic to it's own dialog 4 years ago
Audric Ackermann e43e9df8e0 make sure forceDelete network data returns malicious snodes 4 years ago
Audric Ackermann 3dd1a534d3 fix delete all on network request 4 years ago
audric 67c2124a3b do not try to fetch seed node data with ip as cert will not be valid 4 years ago
audric ab8b6e85b4 Merge remote-tracking branch 'upstream/clearnet' into network-clear-all 4 years ago
audric b05910e219 Merge remote-tracking branch 'upstream/clearnet' into add-message-bottom-keep-scroll 4 years ago
audric 0658cb539a poll more often for inactive closed groups
the issue is that when you start the app, a closed group active at is
maybe a day old.
so you poll for this pubkey.

if the call is a success, all good, you get the latest messages and
update the active_at.
but if the first call fails (even after retrying), this group will be
marked as inactive and will be polled only a tiny little bit until we
get new messages.

So this commit make sure that we poll more often for closed groups which
are considered inactive
4 years ago
audric bea704ecf0 bump react to 17 4 years ago
Audric Ackermann f7658c323d
Merge pull request #1821 from Brice-W/bug-fixes
Bug fixes
4 years ago
Brice-W f7c7d6a3d8 change source of MessageAttributesOptionals to not null 4 years ago
Audric Ackermann 19c6bebab0
make sure to retry fetch sqwarm with a new targetNode if needed 4 years ago
Audric Ackermann 6e8d25e530
Fixes mentions in message body and resolve them quicker
Relates #1815
4 years ago
Warrick Corfe-Tan f087937f6f WIP debugging network deletion failing. 4 years ago
Audric Ackermann 3f065a7b0e
improve marking message as read with hooks 4 years ago
Warrick Corfe-Tan ec447b2e2e network clear all WIP 4 years ago
Audric Ackermann 119b6e1baf
keep scrolled position when adding messages at the bottom 4 years ago
Audric Ackermann f9ecfccc0a
batch UI updates of message added events 4 years ago
Audric Ackermann 506a0b2927
fix profileKey share in config message for base64 profileKey 4 years ago
Warrick Corfe-Tan 2e5ffc3196 wip delete all network message. 4 years ago
audric 316f37ae3d fix a bug of attachment not loading in one to one chats 4 years ago
audric fce86989f0 make sure profileKey is a hex string in all convos 4 years ago
audric e69873d6ba fix link preview url onClick
Fixes https://github.com/oxen-io/session-android/issues/669
4 years ago
audric bfc4b2b720 lint 4 years ago
audric c2b5ac68d6 don't rely on scrollheight to calculate for ui Updates
as it causes a layout complete refresh
4 years ago
audric e72885944b use selector to sort and add first of serie flag 4 years ago
audric 6d34a60f94 improve performance by not loading all unread messages 4 years ago
Audric Ackermann 16d34a7137
moved conversations reducer to createSlice 4 years ago
Audric Ackermann 63b81b4c8e
cleanup SessionMessageList p1 4 years ago
Audric Ackermann 399041c5b3
cache identity pair and add some per measure 4 years ago
Audric Ackermann e8f0c4aaec
move libloki to webworker and remove unused stuff in it 4 years ago
Audric Ackermann 8760a59875
nodefetch headers as on mobile + cleanup worker code 4 years ago
Audric Ackermann aead3d6510
force headers to be empty for onion_req request 4 years ago
Audric Ackermann 9a302fb5ff
add a cache of the keypairs for a closed group 4 years ago
Audric Ackermann 7f76ab274c
added a hook to fetch avatar of closed group members 4 years ago
Audric Ackermann b385a9b101
test with better-sqlite3 bindings 4 years ago
Audric Ackermann 97b9156562
improve performamce by memoizing avatar and menus 4 years ago
Audric Ackermann c8aa73626e
do not load right panel data unless it is visibl 4 years ago
Audric Ackermann a0afd3efe4
add some performance measure for commit calls 4 years ago
Audric Ackermann ca331b95a6
remove coverage unused 4 years ago
Audric Ackermann 6ca466cc22
fix about window localized string 4 years ago
Audric Ackermann ef0b07bb7a
WIP 4 years ago
Audric Ackermann 447f862ace
add some static glowing to the actionpanel light 4 years ago
Audric Ackermann 504a9afc0a
fix up handling of clock out of sync 4 years ago
Audric Ackermann e85f69a144
use our retrieve status as isOnline status 4 years ago
Audric Ackermann 19555b99a0
Merge pull request #1723 from Bilb/poll-less-often-group-not-active
Poll less often group not active
4 years ago
Audric Ackermann bab0a94e0d
make moderator strings add/remove error more explicit 4 years ago
Audric Ackermann ce9155a6bf
fix refresh random snode pool after getting new guardNodes 4 years ago
Audric Ackermann 4a491e6a6a
lint 4 years ago
Audric Ackermann 13bc1a21d9
add test for swarmPolling variable rate 4 years ago
Audric Ackermann 7ea30b70ca
variable swarm polling based on activeAt timestamp 4 years ago
Audric Ackermann 712f76a53c
Merge remote-tracking branch 'upstream/clearnet' into remove-conversationct-singleton 4 years ago
Audric Ackermann 9e5d33d849
trigger download for past messages when trusting contact 4 years ago
Audric Ackermann 802bd169d7
remove opengroupmanager singlteon 4 years ago
Audric Ackermann e090b8e8c6
remove getInstance on swarmPolling 4 years ago
Audric Ackermann e9e718bfcb
remove getInstance on MessageController=> getMessageController 4 years ago
Audric Ackermann 0b410404a3
remove keypair request manager 4 years ago
Audric Ackermann 89a0868fc3
remove getInstance of conversationController to get() 4 years ago
Warrick Corfe-Tan 02713328db removed line. 4 years ago
Warrick Corfe-Tan fce639bb6c Fix snode return 4 years ago
Audric Ackermann bfb4c00583
Merge pull request #1709 from Bilb/fix-fetch-snodes-from-db
fix snode fetch from seed if not enough on app start in db
4 years ago
Audric Ackermann 156a880472
fix snode fetch from seed if not enough on app start in db 4 years ago
Audric Ackermann 09d9db38e8
move taskWithTimeout to typescript 4 years ago
Audric Ackermann a659d5b480
fix open group invitation logic 4 years ago