Commit Graph

64 Commits (v1.7.6)

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 17680380a7
Session 1.7.2 (#1932)
* 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

* disable sending on enter while composing (#1909)

Fixes #1899 #1497

* Speedup body update composition box (#1911)

* disable sending on enter while composing

Fixes #1899 #1497

* ask confirmation before deleting account

* move drafts outside of redux to speedup body message writing

* Ask confirm before delete account (#1910)

* disable sending on enter while composing

Fixes #1899 #1497

* ask confirmation before deleting account

* fix app start delete db when passowrd error

* fix double dialog issue with delete account

* fixup login screen

* 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

* Fix today for translated date break (#1915)

* 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

* Fixs date break translations of today etc

Relates #1913

* Fix video play lightbox autostart (#1920)

* disable sending on enter while composing

Fixes #1899 #1497

* ask confirmation before deleting account

* fix app start delete db when passowrd error

* fix double dialog issue with delete account

* fixup login screen

* Fix video autoplay start when not initialized

Relates #1904

* 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

* 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

* Fix select colors for sent messages and link text not selectable (#1924)

* 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

* fix selection colors for sent messages and make link selectable

Relates #1922

* 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

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

* fix reply for incoming messages (#1930)

* bump to 1.7.2 (#1926)

* 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

* bump to 1.7.2

* Session 1.7.1 (#1908) (#1931)

* 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

* 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

Co-authored-by: Warrick <wcor690@aucklanduni.ac.nz>
4 years ago
audric f7b0c6c7e1 make conversation screen closer to mobile UI part1 4 years ago
audric 9e37985d03 enable no-unused local and imports and fix tslint 4 years ago
audric b05910e219 Merge remote-tracking branch 'upstream/clearnet' into add-message-bottom-keep-scroll 4 years ago
audric bea704ecf0 bump react to 17 4 years ago
Brice-W f7c7d6a3d8 change source of MessageAttributesOptionals to not null 4 years ago
Audric Ackermann 63b81b4c8e
cleanup SessionMessageList p1 4 years ago
Audric Ackermann 9a302fb5ff
add a cache of the keypairs for a closed group 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
Audric Ackermann 27fb732f50
cleanup unused prekeys table 4 years ago
Audric Ackermann 37c9c6b5c3
new closed group send and handle expire timer already set 4 years ago
Audric Ackermann 6f8c8ee1b3
remove most of sogsv1 and fsv1 and update version fetch url
version fetch is used to know when we have a new update
4 years ago
Audric Ackermann 3456162402
Moved opengroupv1 test to opengroupv2 tests 4 years ago
Audric Ackermann 5cab7908b4
add some test for partial path rebuilding 4 years ago
Audric Ackermann 64eab5160d
remove zombies from the UI only 4 years ago
Audric Ackermann 2c40d1e623
hide checkmMark on showing group members 4 years ago
Audric Ackermann fae80c327a
mark convo as ActiveAt when we get a message adding us after left 4 years ago
Audric Ackermann eb0ddd85f4
add zombies logic for member leaving and removing 4 years ago
Audric Ackermann 7ec663df71
move SwarmPolling from window to require singleton 4 years ago
Audric Ackermann a26c5da6cb
Uniformize once and for all the conversation types
no more 'direct'. those are private convos
4 years ago
Audric Ackermann 98b69c17f0
add userblocking opengroupv2 and quoting back of messages 4 years ago
Audric Ackermann f7581cf4eb
increase prettier maxWidth to 100 4 years ago
Audric Ackermann c07271109f
Add a ConversationType OPEN_GROUP 4 years ago
Audric Ackermann ec6a5995db
sync expire timer updates 4 years ago
Audric Ackermann 79193ee7be
refactor to Visible and ControlMessage types 4 years ago
Audric Ackermann 553f264d12
make unread attrs as before a number, and remove calculatingPow
calculating pow is just the same as sending state
4 years ago
Audric Ackermann 39f8ca293a
speedup tests 4 years ago
Audric Ackermann aac54e6045
Merge remote-tracking branch 'upstream/clearnet' into restore-handle-configuration 4 years ago
Audric Ackermann 533b95c827 fix updateMessage being always at the end of the messagesList
this was because we were using Date.now() always rather than using the
envelope timestamp to save the update
4 years ago
Audric Ackermann 641f9ee368
Fix the bug where if we leave and get added back, we get removed again 4 years ago
Audric Ackermann c55f204440
Merge branch 'clearnet' into restore-handle-configuration 4 years ago
Audric Ackermann 08c41004a2
do not send expire timer to member added on closed group 4 years ago
Audric Ackermann 370158951a move events from MessageQueue to MessageSentHandler 4 years ago
Audric Ackermann 8ea9f02cec Move data.js to data.ts 4 years ago
Audric Ackermann 7b81c4213a
Merge clearnet 4 years ago
Audric Ackermann 0c1343cad5
add a way to share currently distributing keypair to added members 4 years ago
Audric Ackermann 78e7255cb8
send the keypair to added members if we are admin
and remove request encryption keypair handling
4 years ago
Audric Ackermann 2d7515cf0b
Merge branch 'clearnet' into move-models-to-ts-2 4 years ago
Audric Ackermann 375c5ba1a8 add the request and reply of an encryptionKeyPair if needed 4 years ago
Audric Ackermann ed84760f0e
add a tslint rule to forbid use of async without await 4 years ago
Audric Ackermann 36fab86d30
Merge remote-tracking branch 'upstream/clearnet' into move-models-to-ts-2 4 years ago
Audric Ackermann df0b44db4c
Merge remote-tracking branch 'upstream/clearnet' into multi-device-v2 4 years ago
Audric Ackermann ea2c4437a3
cleanup models with unused events
also, sort message from DB and on redux by sent_at or received_at when
not a public group
4 years ago
Audric Ackermann 20cf5dbf10
Merge remote-tracking branch 'upstream/clearnet' into move-models-to-ts-2 4 years ago
Audric Ackermann b76ce0f2ff
update models to TS part2 4 years ago
Audric Ackermann 65ed81e980
enable explicit group updates on the sending side 4 years ago