Commit Graph

236 Commits (v1.7.5)

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 1e8c8991ad
more cleanup 4 years ago
audric e5dab2781e remove spectron dependency 4 years ago
Audric Ackermann 4ec1392aec
do local attachments decrypt/encrypt in worker 4 years ago
Audric Ackermann e8f0c4aaec
move libloki to webworker and remove unused stuff in it 4 years ago
Audric Ackermann c1ffe23b1e
moved verifySignature of opengroup messages to a worker 4 years ago
Audric Ackermann 8760a59875
nodefetch headers as on mobile + cleanup worker code 4 years ago
Audric Ackermann a547922e01
remove tx not used 4 years ago
Audric Ackermann 09d9db38e8
move taskWithTimeout to typescript 4 years ago
Audric Ackermann 0c0da48150
remove pow 4 years ago
Audric Ackermann f7581cf4eb
increase prettier maxWidth to 100 4 years ago
Audric Ackermann 5d6d81b9ef Move accountManager to typescript 4 years ago
Audric Ackermann 4f7cb04552 remove completely SignalProtocolStore 4 years ago
Audric Ackermann d844c5141e remove unprocessed from store. Nothing was stored in the store
it was simply as passthrough to the Data file.
No we directly call the data file instead
4 years ago
Audric Ackermann a6cecd33e3 remove ContactDetails unused 4 years ago
Audric Ackermann ec9bd4a3a9
remove unused proto files and ProvisioningCipher.js 4 years ago
Audric Ackermann 46dfb3489b
remove mock sockets and websockets unused resources 4 years ago
Audric Ackermann 75b7788fa9
remove stuff related to web api 4 years ago
Audric Ackermann 2bcc7be3e6
remove mp3 lame already file and webrecorder worker unused 4 years ago
Audric Ackermann 291d4682e4
fix some tests 4 years ago
Audric Ackermann 53433261d9
remove outgoing_message.js and everything related to it 5 years ago
Mikunj 57b5effaf2 Replace long 5 years ago
Mikunj ae2b8334e0 Replace bytebuffer component 5 years ago
Audric Ackermann 66de8d9648
remove plenty of the friend logic 5 years ago
Audric Ackermann fa853538d0
LINT after prettier upgrade 5 years ago
Audric Ackermann 9ddda73ca2
Integration tests (#975)
* add first integration test Session

Checking window title
Checking window count
Can restore from seed

* FIXME torevert once found why this crash on app close

* [test] add join valid open group test

* [test] validate cannot join two times the same open group

* [test] move common things to common.js

* [test] move tests to separate files

* [test] clean

* [test] add send message to open group test

* [test] lint

* [test] rename hooks -> common

* [test] add 15s delay before considering test as slow

* upgrade electron 8.0.3 and spectron 10.0.0

* [test] signin from seed: validate pubkey

* Replace spellchecker in favor of typo-js

* [test] refactor common calls to common.js

* [test] add two different pubkey, mnemonic and displayname

* [test] FIXME unsafe eval needed for now

* [test] add: add friends test

* [test] working multi instance tests

* [test] FIXME disable snodeproxy

* [test] update yarn.lock

* [test] make tests more robust with restart from scratch each test

* [test] add link of two devices test and hard rm of apps before start (rm -r)

* remove unused file

* [test] lint

* [test] add registration from generated pubkey test

* [test] add beginning of network stub

* [test] stub "token" endpoint

* [test] add test of one message on pub group pull

* [test] add starting port randomize. looks to help for some bad start with multi instance

* [test] add stub for one to one chats (sessions)

* [test] clean code

* [test] finish add friend test and stub snode server

* [test] stub calls during link device test

* [test] add a flag to show some logs on stubbed snode

* [test] finish link of two device test. check both pubkey matches

* [test] add and use function to wrap erase+start+login+stub app

* [test] add method to login as friend and closed group test&messages

* Revert "[test] FIXME unsafe eval needed for now"

This reverts commit de5322fdae6cdab8e3b9bd9a52b7d172c9bc2d26.

* [test] apply review

* [test] fix lint

* [test] fix existing test with new spectron version

* [test] fix lint

* [test] refactor page objects

* [test] add delete account test

* [test] add unlink of two device test

* [test] make tiny waitForExists -> isExisting

* [test] add checks of link new device buttons

* upgrade fs-extra@9.0.0

* address pr review

* [test] fix spell_check test

Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
5 years ago
Audric Ackermann 887ba53902 yarn grunt/ watch for sub-sub folders too 5 years ago
sachaaaaa 37f0fced29 Show commit hash in About window for beta builds 6 years ago
Beaudan 9ff96a0250 Fixed tests and moved friend request status enum to new friends file 6 years ago
Mikunj 1a15ec9c15 Merge commit signal/master into signal-1.20 6 years ago
Mikunj 6bd2d3962e Linted files 6 years ago
Mikunj 982f10a505 Split libloki logic.
Added to gruntfile.
6 years ago
sachaaaaa 583a10628a run service_node in the browser instead of as a nodejs module 6 years ago
Scott Nonnenberg e4babdaef0 Updates to backup infrastructure 6 years ago
Mikunj cbb62f4a71 Added tsx files to grunt watch.
Fixed minor bug in conversation view.
6 years ago
Mikunj 654b0dac84 Merge signal-master. 6 years ago
sachaaaaa c0a5f085ea fix space in gruntfile.js 6 years ago
sachaaaaa dd5c11768a win & osx builds on gitlab 6 years ago
Beaudan 6113f13d3a Rip the worker logic out of message_receiver and add the functionality for it to work with pow. Fix pow tests to work with those changes 6 years ago
Beaudan 7782c58d14 Slight refactor of PoW file to make easier to test plus some tests for the PoW functionality 6 years ago
Beaudan c93aff7ebe Setup grunt/yarn etc for loki tests plus wrote first 2 simple libloki-protocol tests 6 years ago
Scott Nonnenberg 8add0ac8a1
Enable CI and packaged builds with Electron v3 (#2939)
* Update spectron to fix linux CI runs

* Point test-release grunt task at release folder

* Ensure that build folders of socks/smart-buffer are in build

* AppVeyor: windows build output folder is now release

* Travis: Force build output to release directory
6 years ago
Beaudan c59b196487 Now reading messages and adding them to conversations. Some cleaning of unreachable code. Modified the message data to be encoded as base64 string before sending to server
Sending our public key in header of message

Now attaching our key to the source field when sending messages, allows messages to be decrypted with the fallback cypher

Now polling the server for messages every 5 seconds

Sending the source device with messages

Added mock respond function to request to leave it that same as the websocket stuff. RetrieveMessages now just returns the result

Polling now continues if the server responds with an error. Returning only the result from sendMessage and retrieveMessages

Revert commenting of unreachable code

Refactored http logic into own file

Revert a change to websocket-resources
6 years ago
sachaaaaa 4b9fcb98d4 Linting and other housekeeping stuff 7 years ago
sachaaaaa 04b45f6aa1 Decrypt friend-request messages (the ones using fallback encryption). Moved logic into a new file libloki-protocol.js and concat loki code into js/libloki.js 7 years ago
Scott Nonnenberg ecb126e74c
Custom linter to check code quality (#2753) 7 years ago
Scott Nonnenberg 0d6c3c0bce Introduce new languages to the product 7 years ago
Scott Nonnenberg 02fbea96c0 Move base64 conversions off of the main thread 7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
Scott Nonnenberg 3c69886320 Finish new Message component, integrate into application
Also:
- New schema version 8 with video/image thumbnails, screenshots, sizes
- Upgrade messages not at current schema version when loading messages
  to show in conversation
- New MessageDetail react component
- New ConversationHeader react component
7 years ago