Commit Graph

88 Commits (e1907e41627ca4f9292d28c69383e4481281938c)

Author SHA1 Message Date
Audric Ackermann 77a3a7417d
Session 1.7.5 (#2094)
* Added message requests disabled for now

* no longer showing empty space for conversations moved from list.

* Added syncing accepting of contact between running instances.

* Adding blocking of individual requests and syncing of block to devices. Added approval by replying to a message.

* fixed typos for translations and method name.

* Blocking, accepting on click and accepting on msg send
working across clients.

* adding setting of active_at to hide unapproved messages.

* adding feature flag for config message receiving

* fix archlinux pw unused issue

on archlinux, the appimage links to the system sqlite by default which
does not support sqlcipher

* hide activeAt = 0 convo from search results

Fixes #2033

* opengroup messages from blocked user are dropped

Fixes #2019

* opengroup messages from blocked user are dropped

Fixes #2019

* dismiss a call when answered from another of our devices

* add data-testid for leftpane sections and edit profile dialog

* update turn servers

* cleanup sessionprotobuf

* move the state of calling to its own slice

* no video track by default and will be turn ON if asked to

* message request refactoring.

* 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...

* auto select the first audio input on connection success webrtc

* add a way to choose the audioouput/mute a webrtc call

* mute audio from bg when video is in fullscreen

this is to avoid having two times the remote sound playing
one in the bg and one in the fullscreen

* Adding improvements to message request handling.

* Only updating approval when it is a true value as we consider a block a decline.

* Linting and formatting.

* More formatting and linting

* fixing merge conflicts

* linting and formatting changes

* darken a bit the green of sent message box in light theme

* disable deduplication based serverId+sender

only use the serverTimestamp+sender for searching because
serverId+sender might have false positive

* Fixing up block all logic.

* speed up fetching closed group's members avatar

* Applying PR changes.

* cleanup props passing of avatar and name with a custom hook

* fix a bug releasing the decrypted attachment blobs too early


* Adding trigger logic for conversation filtering of requests.

* Fixing rimraf transpile bug. Adding PR fixes - icon buttons.

* 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

* 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

* Open group regex fixes (#2058)

* Open group URL regex fixes

- Capital letters in room tokens were not being accepted (it eventually
  gets lower-cased internally, which works fine, but that happens
  *after* the URL is tested for acceptability).
- `-` in room was not being allowed (it is and always has been on SOGS,
  session-android, and session-ios).
- single-letter room ids are valid, but only 2+ letter ids were being
  accepted.
- complete URL regex wasn't anchored so something like
  `garbagehttps://example.com/room?public_key=<64hex>moregarbage` was
  being accepted in the GUI input (it fails later when other code tries
  to parse it as a URL).
- removed `m` modifier from open group regex: without anchors it wasn't
  doing anything anyway, but *with* anchors it would still allow
  leading/trailing garbage if delineated by newlines.
- public key regex was accepting g-z letters, and not accepting A-F.
- various regex cleanups:
  - use non-capture groups (?:...) rather than capturing groups (...)
  - avoid repetition in host segment matching
- tightened up host pattern matching a bit:
  - DNS host segments have a max length of 63
  - Limit port max length to 5, and disallow starting with 0

* Show an error when the open group URL is invalid

It's quite disconcerting when you have a bad open group URL and try to
add it and the join button just "doesn't work" without any feedback at
all.  Fix it to show an error message.  (There is already an i18n entry
for this because this same message is thrown if the URL can't be parsed
later on).

* 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

* 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

* 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

* keep read-receipts disabled by default (#2071)

* 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

* Minor styling fix for large amount of message requests (#2080)

* Minor styling fix for large amount of message requests

* Vertical center fix for message request banner.

* removing top margin from banner again.

* reactify group updates text bubble from redux store (#2083)

* add crown icon for closed group admins (#2084)

* disable call for now + fix left pane actions overflow (#2085)

* Fix attachment dl freeze (#2086)

* fix attachment download freezing app for some opengroups

* make registration page work with smaller height

* Unban UI (#2091)

* adding basic functionaliy for unbanning a user

* merge ban and unban user dialog in to one dialog

Co-authored-by: warrickct <warrickct@gmail.com>

* use React Provider for convoListItem (#2088)

this is to avoid passing down the prop to all the components

* fix closed group updates undefined on no names (#2092)

Co-authored-by: Warrick Corfe-Tan <warrickct@gmail.com>
Co-authored-by: Jason Rhinelander <jason@imaginary.ca>
Co-authored-by: Warrick <wcor690@aucklanduni.ac.nz>
3 years ago
Audric Ackermann 8618cf75e9
send and handle uuid for multi device calls 3 years ago
Audric Ackermann c803cdaa8e
add callMessage in protobuf 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 8ef9c8ed1a
remove delivery receipt logic 4 years ago
Audric Ackermann c5287158c4
merge protobuf attachment and preview types 4 years ago
Audric Ackermann 03fe67b974
remove unused contact field on message 4 years ago
Audric Ackermann c1225b3a74
made some timestamp required in the protobuf 4 years ago
Audric Ackermann 173b49723b
rename groupInvitation in proto and remove more stuff unused 4 years ago
Audric Ackermann c090782919
remove UPDATE type of closed group control message 4 years ago
Audric Ackermann f32919985d
remove Contact in proto (unused) 4 years ago
Audric Ackermann 01fd927070
match envelope type with ios protos 4 years ago
Audric Ackermann 37c9c6b5c3
new closed group send and handle expire timer already set 4 years ago
Audric Ackermann b055165a5d
display a message when the recipient screenshots an attachemnt 4 years ago
Audric Ackermann 810ccdf675
send dataExtractionNotificaionMessage on saving attachment on priv chats 4 years ago
Audric Ackermann e10a3cd4a9
remove the channelId from groupInvitation 4 years ago
Audric Ackermann a61f5e6814
add contacts to ConfigurationMessage 4 years ago
Audric Ackermann 0a82bf98fa
Add displayName and avatar pointer to ConfigurationMessage 4 years ago
Audric Ackermann 375c5ba1a8 add the request and reply of an encryptionKeyPair if needed 4 years ago
Audric Ackermann 64737a89d7
add ConfigurationMessage 4 years ago
Audric Ackermann 0e25ab2874
WIP 4 years ago
Audric Ackermann 999e6fc712
replace GroupUpdateV2 in proto to ClosedGroupControlMessage 4 years ago
Audric Ackermann 135fc3b366
remove prekeys 4 years ago
Audric Ackermann d43ae09eb0
first working version of closed group v2 4 years ago
Audric Ackermann 9dbf190083
fix mismatches protobuf for senderkey type on mediun groups with android 5 years ago
Audric Ackermann d4e9b43f0c
remove QUIT type of mediumgroupupdate 5 years ago
Audric Ackermann 04063cd0fb
make medium group pubkey be in bytes rather than str 5 years ago
Maxim Shishmarev cc43555cd2 Merge branch 'clearnet' into medium-group-fixes 5 years ago
Maxim Shishmarev 87144336b7 Large refactor of medium groups. Fixes them for multidevice 5 years ago
Mikunj ea78445bb5 Fixup comments in proto file 5 years ago
Maxim Shishmarev 237bd84b35 Fix medium group sending for single device users; protocol changes 5 years ago
Mikunj 646973e330 Made changes to how messages are sent.
Instead of blocking the message queue when we don't have a session, we instead just send out a session request and send the queued messages using fallback encryption.
This means that users will be able to message right away without having to wait.
The only down side is that all messages sent before sessions are established will be using the weaker encryption.

This change also means we have to detach session requests from envelope type (which is a good thing) and thus now a message is a session request if it contains a preKeyBundle.
5 years ago
Audric Ackermann f3ae798b12
remove SESSION_REQUEST flag from DataMessage. now in envelope 5 years ago
Audric Ackermann d1518f8233
add new handling of session request message 5 years ago
Maxim Shishmarev abde96bc1e Fix medium group updates 5 years ago
Maxim Shishmarev 2a0130ff04 Multidevice support for medium groups 5 years ago
Maxim Shishmarev 61d4c7c349 Encrypt source for medium groups 5 years ago
Maxim Shishmarev debb922521 Medium groups with sender keys essentials 5 years ago
Audric Ackermann 6d03a63d4a
add sync of open groups on device link 5 years ago
Mikunj abf298ba25 Added sending of group sync message 5 years ago
Mikunj 8ae793db19 Rename BACKGROUND_FRIEND_REQUEST to SESSION_REQUEST.
Don't trigger friend request logic if a message is aimed at a group.
5 years ago
Maxim Shishmarev 81bfa90943 Prompting the user to reset session on invalid ciphertext 5 years ago
Maxim Shishmarev 2ab0d084f1
Merge pull request #645 from msgmaxim/group-invites
Public chat invitations
5 years ago
Maxim Shishmarev 89e5e919f2 Address more review comments 5 years ago
Maxim Shishmarev 8ea82b14e3 Add channel id field to invitations 5 years ago
Maxim Shishmarev a5fce17d8c public chat invitations 5 years ago
sachaaaaa db0068b429 Sending and handling of special UNPAIRING_REQUEST message 5 years ago
Maxim Shishmarev 4dd314c18f Enable profile pictures 5 years ago
Beaudan Brown 685ada5cc5 Merge branch 'clearnet' into prep-merge 5 years ago
Maxim Shishmarev 7c05939f55 Add group admins and the ability to remove members from private groups 6 years ago