Commit Graph

105 Commits (v1.0.0)

Author SHA1 Message Date
Mikunj Varsani 625fe0fee2
Session v1.0 changes (#802)
* correct typo in readme

* include log

* decrypt file server response, remove debug, handle crypt before _sendToProxy, improve json parsing failure logging

* support file uploads on file proxy, fix _sendToProxy calling

* bump form-data to 3.0

* initial refactor of feaure flag detection statements in serverRequest()

* fix  send-message line-height with multiple lines

* fix lint

* fix position of delete account modal

* Profile picture upload, fixes and copy

* Various changes suggested by redesign overview

* Scrolling button updated and animations to modals

* Display subscriber count for open chats

* Prevent illegal username and passwords

* Delete channel / group merge

* Solidification of minor changes w appview injections

* hide description field in group panel for now

* fix join publicgroups pulls

* increase min height respecting ratio

* allow space inside a display name but not at start or end

* fix height of leftpane overlay view

* add back typing indicator and read receipt setting under privacy

* Auto-focus new open chat input box

* Password lock screen and delete data screen

* touchups

* Resolving Bilb revisions

* Disable link previews as default per Kee on signup

* remove date, we have git

* add missing semicolon

* _sendToProxy pass headers/handle response refactor, lint

* fix my yarn conflict/resolve

* include IV in server response

* Sealed sender support

* Support sealed sender for friend requests

* fix lint

* Remove unused destinationRegistrationId; lint

* Update messages.json

* pull RSS through file proxy

* fix unit tests: remove not used count in scrolldown view and assert svg
present

* Disable auto-joining default loki open groups

* session-id-editable-textarea

* fix the textscramble for sessionID on registration

* speed up lint, add lint-full/format-full, make sure use lint-full

* add skipToken to establishConnection options, smuggle out secureRpcPubKey

* get latest version through snode proxy, remove clearfix from ExpiredAlertBanner

* expose semver and LokiAppDotNetServerAPI because we can't get ourKey from storage early enough

* update note

* fix upgrade link, wrap expiredWarning in span for styling, use br to clear the float, trim trailing whitespace

* designalify

* designalify

* designalify user agent

* continue designalification

* make expired banner legible

* remove ugly TLS hack

* disable unauthorization rejection when making https requests limited to lokiRpc

* Update main.js

Aspect ratio amendment

* Constants rework

* local commit

* event listeners

* address missing comma for lint

* fix header sessions message section

* fix profile image size conversation list with pending friend request

* textarea centering

* refresh files in group in group panel

* Looking into keyboard navigation

* Remove P2P

* cache eslint on `lint` but not `ready`

* Cleanup media view formatting

* force locale to be EN until our files are updated and translated

* Simplification of keyup

* Updated all icon references

* SASS fixup

* fix disabled state of message input on sent friendrequest

* trim pubkey when user can enter one to remove whitespaces

* remove lZ in path which fixes errors on svg and does not alter rendering

* fix text scramble animation on registration

* reload app on ctrl-r or f5 from anywhere

* add back file which should have not been deleted

* fix lint and clean code

* fix lint

* add .loki to have a self-signed cert

* Remove mixpanel

* use local shortcut instead of global shortcut

otherwise, ctrl+r is only caught bu the last loaded instance

* open the conversation when accepting a friend request

also, it does what is needed to show the new friend in the friend list

* make sure token comms are done over fileProxy, other notes, logging adjustment

* leftpane sections titles are Wasa bold

* minor refactor

* onboarding messageview

* linter

* fix padding buttons overlay

* do not render session-id-editable border when textarea disabled

* textarea sessionID SpaceMono font

* various touchups

* fix font of description to sfprodisplay

* reduce triple dots conversation header icon size

* reduce size of conversationHeader title font size

* fix font for session-search-input

* make conversationlistitem title font wasa

* fix green and white border under title in leftpane

* fix panel-text-divider font-size and family

* disable completely borders for profile images

* make profile image which where 48pixels big 36 noew, as no more border

* Complete conditional message onboarding

* cache file deletions

* Link preview warning on setting toggle

* Messages.json amendments

* Join channel generalisation

* Localise global vars

* remove eslintcache

* rm global launchcount

* Remove source field from envelope

* Session public chat icon

* CLosed groups ui initial listprops

* Desktop: enable useSnodeProxy feature flag

* file proxy needs to be able to talk to snode

- disable TLS check for fileProxy
- lokiHttpsAgent => snodeHttpsAgent (since we use for two different things now)

* enable useSealedSender too per Maxim

* lint

* lint

* window.extension.expiredPromise version

* better error checking

* use promise version to see if we're expired

* fix typo

* lint

* put back seemingly now required process.env.NODE_TLS_REJECT_UNAUTHORIZED

* fix querystring in file-proxy

* lint

* fix typo

* Remove more references to signal.org

* make sure TLS is forced on open groups, improve serverRequest error message

* Closed groups UI

* function params changes

* turn off snode proxy logging

* include useful info on error

* actually validate URL before starting up a bunch of timers

* Closed groups overlay integration

* move comments from connecting_to_server_dialog_view

* use attempt from window object to reduce code duplication

* refactor out validServer()

* lint

* lint caught typo

* Rename BACKGROUND_FRIEND_REQUEST to SESSION_REQUEST.
Don't trigger friend request logic if a message is aimed at a group.

* Linting

* Closed group joining completed w/o backend

* Fix friend request messages being sent to users you don't have a session in closed groups.
Disable typing messages and read receipts in groups.
Send out session request messages if you don't have a session with a member in the group.

* Remove unneeded boolean condition.

* Closed group update message stylgin

* constants renaming

* Message deletion fix

* gruntify

* fix grunt error

* expose isRss, don't close uncloseable Rss conversation on deleteMessages

* remove copyId and block user on RSS feeds

* remove options from RSS feed that don't make any sense and don't work

* fix grunt error

* squelch RSS duplicate messages

* extension.expiredStatus(), adjustable timers, improve guards

* allowing sending of messages if we're still waiting to hear back

* markRandomNodeUnreachable() refactor, notes/logging

* improve logging

* improve logging

* no need to validate empty token, support lokinet/getession file domains, mark broken snodes as bad, improve logging

* try to address travis-osx lint complaints

* not designed to have a period at the end of titleIsNow

* put period back at the end

* Catch a stray loki messenger

* fix stray loki messenger

* loki messenger isnt a thing

* lint

* Fix open group joining.

* guards incase there are no members yet, fixes dialog not showing up

* fixed file server holding up message sender init.
fix joining closed groups.

* Clean

* Don't wait for file server to return tokens when establishing home connection.

* Disable join public chat prompt

Co-authored-by: Audric Ackermann <audric.bilb@gmail.com>
Co-authored-by: Ryan Tharp <neuro@interx.net>
Co-authored-by: Vince <vincent@loki.network>
Co-authored-by: Maxim Shishmarev <msgmaxim@gmail.com>
5 years ago
sachaaaaa a0f67c22da Merge branch 'textsecure/master' into merge_1_21_0
* textsecure/master: (26 commits)
  v1.21.0
  v1.21.0-beta.4
  Dark Theme: Preserve blue background on app loading screen
  Localization updates
  Fix width of audio player when window is very narrow
  A number of small fixes for Link Previews
  Get rid of the white flash when the app starts up (#3083)
  v1.21.0-beta.3
  Lint fixes
  Introduce new language: NB
  Fail over to all numbers in retry if errors don't have numbers
  Use the proper method for pulling attachments off disk for retry
  Fix rendering bug with verified state in updateVerified()
  Update electron-builder and electron-updater
  Ensure that dialog pops up when permissions denied for voice note
  Lint fixes
  Large update to localization strings
  Link Previews
  Ensure that blocked messages are dropped even after sealed sender
  Don't linkify quoted message contents
  ...

# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	_locales/cs/messages.json
#	background.html
#	config/default.json
#	index.html
#	js/models/conversations.js
#	js/modules/web_api.js
#	js/settings_start.js
#	js/views/conversation_view.js
#	js/views/settings_view.js
#	package.json
#	protos/SignalService.proto
#	stylesheets/_index.scss
#	stylesheets/_settings.scss
6 years ago
Bradley Sinclair f968a5db3d Ensure encrypting device name does not die on empty device name (#3066)
Ran into this on the Contributors guidelines setting up the development env.
registerSingleDevice does not pass a deviceName, so it fail every time.
6 years ago
Mikunj 1a15ec9c15 Merge commit signal/master into signal-1.20 6 years ago
Mikunj 6bd2d3962e Linted files 6 years ago
Scott Nonnenberg 43e5d16020 Support for web socket communication with no signaling key 6 years ago
Scott Nonnenberg 47f834cf5c Encrypt device name on account create, on first launch if needed 6 years ago
Mikunj 0491ceacf1 Added seed dialog.
Fixed issue where incorrect language was used to generate seed.
6 years ago
Mikunj 62c802445b Allow generating mnemonic for different languages. 6 years ago
Mikunj 85298012e4 Added generation of seed in registration. 6 years ago
Mikunj c10e81355d Moved profile name saving to account manager. 6 years ago
Mikunj 06f79eb3fd Allow user to set display name when registering. 6 years ago
Mikunj 9fd822a7e3 Remove preKeys on friend request decline. 6 years ago
Mikunj c0a21f60c0 Fix function issue. 6 years ago
Mikunj 4d3fb17e61 Merge branch 'sig-development' into merge/signal 6 years ago
Beaudan 9731c9e086 Comment out some signal server based code causing errors. Return before trying to unpad message because they aren't being padded in the first place 6 years ago
Scott Nonnenberg 2822f4ce40 Ensure proper order of state changes during account create 6 years ago
Mikunj 1bef7a0c98 Modified createAccount to only accept params needed for Loki Messenger.
Removed implementation of registerSecondDevice.
7 years ago
Mikunj b63844af57 Fix registration. 7 years ago
Mikunj f589fdac5c Merge signal changes into branch. 7 years ago
sachaaaaa 4b9fcb98d4 Linting and other housekeeping stuff 7 years ago
sachaaaaa 7b1fbe362e Allow choosing language for mnemonic seed 7 years ago
Scott Nonnenberg a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
7 years ago
sachaaaaa 68e15d60b1 Convert privKey to ArrayBuffer before generating key pair 7 years ago
sachaaaaa 1ce29d77c3 Moved mnemonic to node side. Added sc_reduce32 (asm) to generate privkey. Moved mnemonic languages to separate files. 7 years ago
sachaaaaa a418a9d23b allow registering using a mnemonic word list (seed used as privKey for now) 7 years ago
sachaaaaa 886f47b8e7
Prekeys sending: first pass (#12)
* add 'recipient' attribute in prekey database to allow binding a prekey to a recipient pub key

* Attach a PreKeyBundleMessage to the ContentMessage in fallback encryption mode

* Skip generating 100 prekeys upon registration

* Store the signed key signature in database
7 years ago
sachaaaaa 38e6272dc6 Use async/await in addMockContact instead of nested promises 7 years ago
sachaaaaa ac92d53e14 display mock contact priv key for debugging 7 years ago
sachaaaaa 2631d195fd allow generating a mock contact via console without saving its key bundle 7 years ago
sachaaaaa bb65115d7d Ensure the unique object id is stored in the object to facilitate deleting it later. 7 years ago
sachaaaaa 2f562ce9e1 Change contact prekeys in db to allow multiple entries for each contact 7 years ago
sachaaaaa 0832806bd9 wip: added helper to create mock contacts, almost got a session working 7 years ago
sachaaaaa 8f33419b52 Change pubkey representation to hex instead of base64 7 years ago
sachaaaaa 516f0a9916 Replace phone number with pubkey as identity. Remove unused keys and skip sending keys to server. (#2) 7 years ago
Scott Nonnenberg 0774ba2903 Eslintify all of libtextsecure 7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
Scott Nonnenberg 1c23c6a9d7 Remove window.config in favor of window.getXXX() accessors 7 years ago
Scott Nonnenberg f3bd0cf903 Refactor api.js into web_api, which encapsulates all web access 7 years ago
Scott Nonnenberg 754d65ae2e Let's make it all pretty, shall we?
We missed a couple directories with previous attempts to turn this on
globally: app/ and libtextsecure/

Not to mention files in places we didn't expect: ts files that weren't
in the ts directory!

This turns prettier on for every file we care about (js, ts, tsx, md)
everywhere in the project but for a few key parts.
7 years ago
Daniel Gasienica 95321e5d3e Remove Vim mode lines 7 years ago
Scott Nonnenberg 1c6d91b59c
Harden rotateSignedPrekey against nonexistent identity key
This is now what happens after Signal Desktop discovers that it is no
longer linked with a mobile device, since the identityh key is deleted.
7 years ago
Scott Nonnenberg 198f356792
Return number (not id) in getNumber, remove unnecessary comment 7 years ago
Scott Nonnenberg 9acb189650
Remove config after unlink, clear db when linked with new number 7 years ago
Scott Nonnenberg 33fd9c5dd4
Account setup: confirm first signed prekey, clear prekeys (#1979) 7 years ago
Scott Nonnenberg c195ba2630
Save prekeys optimistically, track confirms, new clean behavior (#1846)
* Re-enable libtextsecure unit tests, get passing, run in CI

* Save prekeys optimistically, track confirmed, new clean behavior

* Eliminate potential conflicts when rotating on startup

* Remove last symlink: get libtextsecure tests running on windows
7 years ago
Scott Nonnenberg 44da6924f9
A variety of logging improvements to track down bugs (#1832)
* Log when we get a blocked numbers sync message

* Save three old signed keys in addition to the current active

* Remove the mystery from all the error-related log messages

* Log successful load of signed key - to help debug prekey errors

* removeSignedPreKey: Don't hang or crash in error cases

* Log on top-level unhandled promise rejection

* Remove trailing comma in param list, Electron 1.6 does not like

* Harden top-level error handler for strange object shapes
7 years ago
Scott Nonnenberg a5923c2177
Key rotation: log failures, retry, force on new version (#1833)
* Retry failed signed key rotation; start rotation when registered (#1772)

* rotateSignedPrekeys: Fix 'res is not defined' error

* If the server rejects key rotation, don't retry immediately

* Force a signed key rotation on launch of any new version
7 years ago
Lilia 52cc8355a6 Feature: Blue check marks for read messages if opted in (#1489)
* Refactor delivery receipt event handler

* Rename the delivery receipt event

For less ambiguity with read receipts.

* Rename synced read event

For less ambiguity with read receipts from other Signal users.

* Add support for incoming receipt messages

Handle ReceiptMessages, which may include encrypted delivery receipts or read
receipts from recipients of our sent messages.

// FREEBIE

* Rename ReadReceipts to ReadSyncs

* Render read messages with blue double checks

* Send read receipts to senders of incoming messages

// FREEBIE

* Move ReadSyncs to their own file

// FREEBIE

* Fixup old comments on read receipts (now read syncs)

And some variable renaming for extra clarity.

// FREEBIE

* Add global setting for read receipts

Don't send read receipt messages unless the setting is enabled.
Don't process read receipts if the setting is disabled.

// FREEBIE

* Sync read receipt setting from mobile

Toggling this setting on your mobile device should sync it to Desktop. When
linking, use the setting in the provisioning message.

// FREEBIE

* Send receipt messages silently

Avoid generating phantom messages on ios

// FREEBIE

* Save recipients on the outgoing message models

For accurate tracking and display of sent/delivered/read state, even if group
membership changes later.

// FREEBIE

* Fix conversation type in profile key update handling

// FREEBIE

* Set recipients on synced sent messages

* Render saved recipients in message detail if available

For older messages, where we did not save the intended set of recipients at the
time of sending, fall back to the current group membership.

// FREEBIE

* Record who has been successfully sent to

// FREEBIE

* Record who a message has been delivered to

* Invert the not-clickable class

* Fix readReceipt setting sync when linking

* Render per recipient sent/delivered/read status

In the message detail view for outgoing messages, render each recipient's
individual sent/delivered/read status with respect to this message, as long as
there are no errors associated with the recipient (ie, safety number changes,
user not registered, etc...) since the error icon is displayed in that case.

*Messages sent before this change may not have per-recipient status lists
and will simply show no status icon.

// FREEBIE

* Add configuration sync request

Send these requests in a one-off fashion when:
  1. We have just setup from a chrome app import
  2. We have just upgraded to read-receipt support

// FREEBIE

* Expose sendRequestConfigurationSyncMessage

// FREEBIE

* Fix handling of incoming delivery receipts - union with array

FREEBIE
8 years ago
Lilia fc952fbaf6
Handle provisioning messages with no profile key (#1470)
This can happen while linking to an older mobile client.

// FREEBIE
8 years ago