Commit graph

508 commits

Author SHA1 Message Date
Mikunj Varsani 24a3e05154
Revert "Revert "Clean up unused dependencies."" 2020-04-03 16:41:53 +11:00
Vince 5ff7476359
Revert "Clean up unused dependencies." 2020-04-03 16:20:49 +11:00
Vince 6d591d956d
Merge pull request #1033 from Mikunj/package-cleanup
Clean up unused dependencies.
2020-04-03 16:13:23 +11:00
Maxim Shishmarev 804b4e54ac
Merge pull request #1041 from msgmaxim/lns
API implementation for LNS
2020-04-02 17:25:04 +11:00
Vince 9718c42c11
Merge pull request #1038 from Bilb/fix-integration-test
fix integration tests
2020-04-02 17:06:09 +11:00
Maxim Shishmarev 932ea23ceb API implementation for LNS 2020-04-02 13:35:31 +11:00
Audric Ackermann 5f42eb8212
fix integration tests 2020-04-01 10:18:11 +11:00
Mikunj 9d2417c2f6 Removed proxy-agent and web-socket.
Trimmed down web_api.js to most basic functions we are using. This needs to be completely removed in the future.
2020-03-31 13:24:06 +11:00
Mikunj e875ba2527 remove got.
Fix session IDs not being redacted in logs.
2020-03-31 12:14:26 +11:00
Mikunj 09f1e635c8 Fix theme setting not being send back to main.js 2020-03-31 12:11:03 +11:00
Mikunj d671ce0055 Remove phone number libraries 2020-03-31 10:44:00 +11:00
Audric Ackermann 9ff16d7e60
move to electron spellchecker 2020-03-27 17:25:59 +11:00
Mikunj 496afa85cb Remove libsodium-wrapper.
Remove LokiSnodeChannel as we weren't using it.
2020-03-27 15:51:03 +11:00
Mikunj 0cccc70b9b Fix integration test running on the wrong environment 2020-03-27 09:09:41 +11:00
Mikunj 6d87904d18 Clean up config files.
Removed unused scripts.
Removed unused files.
2020-03-27 09:09:41 +11:00
Audric Ackermann 7de40e9ef7
fix yarn test for CI 2020-03-26 14:47:27 +11:00
Maxim Shishmarev a91d925384
Merge pull request #1000 from msgmaxim/onion-requests
Client-side implementation for onion requests
2020-03-25 15:52:05 +11:00
Vince 60d1c767d6
Merge pull request #1005 from vincentbavitz/password-len
Password paste control on MAX_PASSWORD_LEN
2020-03-25 15:03:16 +11:00
Vincent d6a48b9f6d Password paste 2020-03-25 14:16:45 +11:00
Maxim Shishmarev 12b5eadaa1 disable onion requests by default for now 2020-03-25 12:12:41 +11:00
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>
2020-03-25 11:42:53 +11:00
Vincent d8a12aab0f conv tinkering 2020-03-25 10:01:36 +11:00
Maxim Shishmarev 0221e7b8c0 fix linter warnings 2020-03-24 18:32:00 +11:00
Maxim Shishmarev 3a746109ea Path building for onion requests 2020-03-24 18:25:31 +11:00
Vincent f599c28470 organisation 2020-03-19 09:48:16 +11:00
Vincent 9a6aafe99c Pull from clearnet 2020-03-13 11:44:00 +11:00
Vincent 7235ccff88 Emoji quick styling 2020-03-13 11:10:27 +11:00
Vincent 19a5571536 Protobuf init for attachments 2020-03-12 14:11:15 +11:00
Mikunj d31feed2c0 Review fixes 2020-03-10 14:58:44 +11:00
Mikunj 86b427cc4d Lint 2020-03-10 14:30:24 +11:00
Mikunj d10a8f0a6f Added setting to disable checking for auto updates. 2020-03-10 14:22:07 +11:00
Mikunj d5bb069207 Cleanup unused functions 2020-03-10 11:27:42 +11:00
Mikunj 6767f71a6b Make getMediaPermissions synchronous 2020-03-10 10:49:07 +11:00
Mikunj eeb6257526 Remove settings view 2020-03-10 10:24:23 +11:00
Vincent bf749b4e0b Play recording init 2020-03-05 17:03:22 +11:00
Vincent 2dc5885c88 Microphone timer 2020-03-05 10:43:48 +11:00
Mikunj Varsani 053b31ad38
Merge pull request #938 from Mikunj/github-actions
GitHub actions Part 2
2020-03-03 08:32:59 +11:00
Vince 67e3846787
Merge pull request #905 from jian10au/scaleslider
Zoom factor slider
2020-03-02 11:48:43 +11:00
Mikunj b7a1c5fd5a Remove old CI files 2020-02-28 14:54:36 +11:00
Mikunj a09e370e1d Added testing on pull request
Disable proxy in tests.
2020-02-28 14:51:09 +11:00
Vincent 548db7150d Start message selection reactification 2020-02-28 09:49:03 +11:00
Vincent 5d11ef1457 Header props 2020-02-27 10:01:18 +11:00
Vincent a5905536fa Onload scroll to unread 2020-02-26 15:39:02 +11:00
Brian Jian Zhao ccb470207a use storage instead of component state to store the zoom setting 2020-02-26 15:08:41 +11:00
Vincent 8a609efffe Scrolling stuff 2020-02-26 14:23:19 +11:00
Brian Jian Zhao 203d314254 fix the slider bug 2020-02-26 13:30:56 +11:00
Brian Jian Zhao 23da1831c2 removed unnecessary comments after review 2020-02-26 11:54:44 +11:00
Audric Ackermann f5b3eb394c
enable notifications after 10seconds of start or reconnect 2020-02-25 16:08:56 +11:00
Vincent 752ee8a614 Message conditional rendering 2020-02-25 15:20:34 +11:00
Brian Jian Zhao cb7289d3d8 working but buggy 2020-02-21 10:37:58 +11:00
Brian Jian Zhao 7a0f2c9ce3 add electron webFrame API to preloadJS 2020-02-20 17:15:39 +11:00
Brian Jian Zhao b2322bae02 check to whether the zoomFactor is shown in preload.js 2020-02-20 14:46:54 +11:00
Brian 96e9a68abd add zoomfactor to main 2020-02-20 00:08:47 +11:00
Vincent 30ccb81d3d Disappearing messages in Channel Settings panel 2020-02-13 15:35:09 +11:00
Vincent cf0b9e45fa Emoji spacing & message highlight formatting 2020-02-12 14:29:07 +11:00
Vincent 2101abb911 Modal blurs and stylistic simplifications 2020-02-12 13:53:18 +11:00
Vincent b4c6c37b16 constants renaming 2020-02-05 15:19:18 +11:00
Vincent 4fd2126fbe Fileserver update 2020-02-05 10:08:55 +11:00
Vincent 250a3ad6c1 Closed groups overlay integration 2020-02-05 09:59:55 +11:00
Ryan Tharp d0cc5a57f8
Merge pull request #759 from neuroscr/tls-fix
Move disable TLS rejection to only lokiRpc
2020-02-03 18:28:48 -08:00
Ryan Tharp ed41e562c5
enable useSealedSender too per Maxim 2020-02-03 18:28:01 -08:00
Ryan Tharp 3964e9acf0
Merge branch 'clearnet' into tls-fix 2020-02-03 16:59:59 -08:00
Ryan Tharp 1d03b3a68e
Desktop: enable useSnodeProxy feature flag 2020-02-03 16:58:22 -08:00
Vince 5bbd136493
Merge pull request #758 from neuroscr/version-check
Version check, de-signal.org-ification
2020-02-03 17:11:17 +11:00
Vincent c0a33a630f Join channel generalisation 2020-02-03 15:50:38 +11:00
Vincent 2d4bf2b3e2 Complete conditional message onboarding 2020-02-03 11:49:04 +11:00
Maxim Shishmarev 3f58dea035 Remove mixpanel 2020-01-31 10:14:30 +11:00
Ryan Tharp 615a41fa21
Merge branch 'clearnet' into tls-fix 2020-01-29 22:51:41 -08:00
Maxim Shishmarev 02320334f0 Remove P2P 2020-01-30 11:47:37 +11:00
Ryan Tharp 04e1d58a50 remove ugly TLS hack 2020-01-29 03:16:07 -08:00
Ryan Tharp acf4529904 expose semver and LokiAppDotNetServerAPI because we can't get ourKey from storage early enough 2020-01-29 02:51:05 -08:00
Vince 310038ec31
Merge pull request #748 from loki-project/brand-redesign
Brand redesign
2020-01-29 13:10:16 +11:00
Audric Ackermann d68aeb947e
Merge branch 'clearnet' into brand-redesign 2020-01-29 12:00:18 +11:00
Maxim Shishmarev b405b150cc Sealed sender support 2020-01-29 11:08:13 +11:00
Ryan Tharp 11359fc037
Merge branch 'clearnet' into fileproxy 2020-01-27 22:46:44 -08:00
Vincent 4a7e2dece7 Password lock screen and delete data screen 2020-01-28 16:43:39 +11:00
Vincent 0a525629ee Prevent illegal username and passwords 2020-01-24 17:10:42 +11:00
Vincent 56b1bcac01 Partial copy updates 2020-01-22 17:17:15 +11:00
Vincent 4fe82d28d9 Version info 2020-01-22 15:57:58 +11:00
Vincent 010cf045cb optimisation of ternary & binary expr. 2020-01-20 14:36:46 +11:00
Vincent e065cc404f Password set, change and remove complete 2020-01-20 14:10:28 +11:00
Vincent 35d59c75eb Password set, change and remove complete 2020-01-20 14:10:22 +11:00
Vincent c26097554f settings optimisations 2020-01-16 12:08:31 +11:00
Vincent d217c76647 mergable settingsview 2020-01-15 13:49:07 +11:00
Vincent cc3e206504 stagepoint sessionsettings bak 2020-01-14 15:37:52 +11:00
Vincent 8de2ce9e23 Theme toggle and settings abstraction 2020-01-14 13:28:31 +11:00
Maxim Shishmarev a195c98061 Add a feature flag for snode proxy 2019-12-19 11:46:44 +11:00
Audric Ackermann 8d11553fe5 add a *ignore* method to Promise to make tslint happy 2019-12-16 09:38:34 +11:00
sachaaaaa db0068b429 Sending and handling of special UNPAIRING_REQUEST message 2019-11-21 13:50:18 +11:00
Beaudan Brown 56a1c31bf4 Ensure we can still send messages to ourselves (sync) and disable group chats 2019-11-15 13:26:31 +11:00
Beaudan Brown 685ada5cc5 Merge branch 'clearnet' into prep-merge 2019-11-15 12:31:40 +11:00
Beaudan Brown b7dd4257d6 Disable microphone button when you have disabled permissions 2019-11-12 09:53:31 +11:00
sachaaaaa 5529deb019
Merge pull request #602 from sachaaaaa/unpairing_device
[multi-device] Allow unpairing device
2019-11-07 13:37:17 +11:00
sachaaaaa 3f52b9df93 Make unpairing a toggle-able feature (enable with window.lokiFeatureFlags.multiDeviceUnpairing = true) 2019-11-06 14:54:23 +11:00
Beaudan Brown 41fdcef695 Ensure that we can't miss the apisReady event and only listen for single emit 2019-11-06 14:21:56 +11:00
Maxim Shishmarev f4ed8b2bf3 Add a feature flag for private group chats 2019-11-01 12:43:01 +11:00
Maxim Shishmarev 0df5214979 Limit small private groups to 10 members 2019-11-01 12:00:29 +11:00
Beaudan Brown 6a512503f0 Update display name sanitisation to allow a bunch of languages and spaces 2019-10-28 12:45:13 +11:00
Beaudan Brown 4e70b66131 Extract the async token grab from the server api constructor and put in the factory. Fix up the areas this affects 2019-10-09 14:55:54 +11:00
Beaudan Brown 5d2f7ddb20 Add messages needed for UI, bit of house work 2019-10-09 14:51:12 +11:00
Maxim Shishmarev 4e39f1e0eb When composing: show mentions as profile names and treat them as indivisible elements 2019-09-30 16:50:22 +10:00
sachaaaaa a931b2491a Merge branch 'clearnet' into PR_file_server
* clearnet:
  lint pass 2
  lint pass 1
  make sure versioning on write can't get out of sync
  Update js/modules/loki_public_chat_api.js
  Handle annotations omit correctly
  fix typo CI found
  refactor
  pollOnceForMessages() move lastGot up, address Sacha's review
  Update js/modules/loki_public_chat_api.js
  address reviews
  Custom message rendering of mentions
  lint and remove unneeded params
  modernize annotations since we're making a backward-incomp change
  sign and only show verified messages

# Conflicts:
#	js/modules/loki_public_chat_api.js
2019-09-25 13:49:10 +10:00
sachaaaaa b13a4f3e56
Merge pull request #520 from msgmaxim/mentions2
Custom message rendering of mentions
2019-09-25 11:42:12 +10:00
sachaaaaa 7756d4f0f3 Merge branch 'clearnet' into PR_file_server
* clearnet:
  fix method
  separate out new/open, more lint/cleanup
  separate out note to self
  create window.mixpanel here
  use window.mixpanel, remove eventEmitter
  allow mixpanel to be already set up elsewhere
  Address review comments
  Add missing file in tests
  Add UI elements for searching and selecting members in a group chat
  Desktop Analytics
  Replaced value with a descriptive constant.
  Add comment to fix up confusion.
  Keep a cache of the last 5 fetched messages for public chat so we can use it to detect duplicate messages.

# Conflicts:
#	js/background.js
#	js/modules/loki_public_chat_api.js
2019-09-24 13:50:41 +10:00
Maxim Shishmarev 687e9db77b Custom message rendering of mentions 2019-09-23 11:00:51 +10:00
Ryan Tharp 3150a6ce11 separate out new/open, more lint/cleanup 2019-09-19 20:18:03 -07:00
Ryan Tharp 587df45086 create window.mixpanel here 2019-09-19 20:03:15 -07:00
sachaaaaa e07f81c150 Add LokiFileServerAPI 2019-09-19 16:37:15 +10:00
Ryan Tharp 88b44390bf Desktop Analytics 2019-09-17 01:14:29 -07:00
Beaudan Brown 9beea2cbd3 Enforce curlies completely and lint with new settings 2019-09-05 11:48:10 +10:00
Mikunj 21dad58537 Linting. 2019-09-02 14:27:52 +10:00
Mikunj a89358676c Update electron-context-menu.
Only allow copying QR code since saving doesn't work.
2019-09-02 12:32:43 +10:00
Ryan Tharp c57571fdfd loki.network rss feed 2019-08-23 11:11:23 +10:00
Beaudan 014558d939 Squash and clean of old PRs, move towards sending cleartext again 2019-08-08 14:56:52 +10:00
Beaudan Campbell-Brown 73b417e605
Merge pull request #371 from BeaudanBrown/testnet
Separate testnet
2019-08-07 14:45:57 +10:00
Beaudan 492bb3723a Move pubkey truncation to loki_rpc and add window function 2019-08-07 13:57:17 +10:00
Maxim Shishmarev cdd374a4b2 Add a toggle option for typing indicators; use short ttl for them 2019-08-06 11:57:45 +10:00
Beaudan df2c4af67c Run lint and check for ip or address when removing unreachable nodes 2019-07-04 10:20:16 +10:00
Beaudan 87c5d0858c Choose a random seed node from a list for bootstrapping 2019-07-03 11:32:31 +10:00
sachaaaaa c53633e367 Clearnet p2p with https (no verification yet) 2019-06-28 12:09:46 +10:00
Beaudan d12f6b6d32 Handle swarm nodes the same for us or contacts, attach our key to message api object 2019-06-17 15:59:22 +10:00
Beaudan Campbell-Brown 971aef0c1b
Merge pull request #296 from BeaudanBrown/clearnet-seeds
Clearnet seeds
2019-06-12 11:19:34 +10:00
Beaudan Campbell-Brown 5c5155899e
Merge pull request #298 from BeaudanBrown/tls-fix
Have to put the tls setting here for some reason
2019-06-11 16:41:53 +10:00
Beaudan 6b2b9ce926 Remove default port and use port from storage server responses 2019-06-11 16:30:01 +10:00
Beaudan eea2b8e6a7 Do port null check inside rpc call 2019-06-11 16:29:04 +10:00
Beaudan 8d4bfc27c9 Have to put the tls setting here for some reason 2019-06-11 14:59:23 +10:00
Beaudan e520bf109a Persist PoW difficulty and update if get response from snodes 2019-06-03 13:37:34 +10:00
Mikunj 8808100796 Merge signal-1.24.0
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	background.html
#	config/default.json
#	config/production.json
#	js/models/conversations.js
#	js/models/messages.js
#	js/views/conversation_view.js
#	js/views/inbox_view.js
#	js/views/settings_view.js
#	main.js
#	package.json
#	test/index.html
#	ts/components/conversation/ContactName.tsx
#	yarn.lock
2019-04-18 12:45:19 +10:00
Mikunj 3a8111020e Merge v1.23.0
# Conflicts:
#	background.html
#	package.json
#	yarn.lock
2019-04-18 11:12:02 +10:00
Mikunj e343a04eea Merge commit '18b5b7c046436f2defab2e20407e22da180bf97b' into signal-1.22
# Conflicts:
#	app/sql.js
#	background.html
#	config/default.json
#	js/background.js
#	js/models/conversations.js
#	js/models/messages.js
#	js/modules/data.js
#	js/signal_protocol_store.js
#	js/views/conversation_search_view.js
#	libtextsecure/message_receiver.js
#	libtextsecure/sendmessage.js
#	main.js
#	package.json
#	preload.js
#	test/index.html
#	ts/components/Avatar.tsx
#	ts/components/conversation/ConversationHeader.md
#	ts/components/conversation/ConversationHeader.tsx
2019-04-17 11:59:54 +10:00
Beaudan 960bd3fff2 Move JobQueue to be a module so that we can use it in preload 2019-04-15 15:26:48 +10:00
Scott Nonnenberg 5a50786e7a Lint fixes 2019-04-10 12:14:32 -07:00
Gabe Stocco 851c1a0e47 Adding right click listener for URLs and Text Selections (#3197)
* Adds right-click listener

For urls and text selections

* Fixes build-release on windows

Should still be bash compatible too

* Update context menu line

Responding to feedback from @JaredPotter
2019-04-10 12:06:21 -07:00
Beaudan 531ee92dcb Updated messenger to work with slightly different storage server API and changed swarm requests to go through storage server 2019-04-08 13:37:20 +10:00
Scott Nonnenberg c8ea2e9463 Download and install updates without the help of electron-updater 2019-04-05 17:18:37 -07:00
Scott Nonnenberg 7cfd3870d5 Escape XML delimiters for notifications on linux
Thanks to @whitequark for pointing out an inconsistency in the way that
some Linux desktop environments were displaying markup in notifications.
2019-03-18 16:30:53 -07:00
Beaudan 0d3c010cf7 I didn't realise there were 2 different windows between processes and I shouldn't have removed this 2019-03-04 12:36:19 +11:00
Beaudan Campbell-Brown 8e3542b511
Merge pull request #213 from sachaaaaa/channel_encryption
Hook up channel encryption
2019-03-04 12:19:34 +11:00
sachaaaaa 4714cafa6f
Merge pull request #238 from sachaaaaa/commit_hash_about
Show commit hash in About window for beta builds
2019-03-04 10:52:26 +11:00
sachaaaaa 37f0fced29 Show commit hash in About window for beta builds 2019-03-01 17:10:20 +11:00
Beaudan 5030ad4021 Made the slider label populate as well, plus removed redundant window function 2019-03-01 12:52:18 +11:00
sachaaaaa aa722590fa use channel encryption with storage server 2019-02-27 14:04:15 +11:00
Mikunj 75d0894104 Fixed files not included in release.
Moved node relevant stuff in libloki into its own modules folder.
2019-02-22 12:00:04 +11:00
Scott Nonnenberg ce9a52dde3 Remove unnecessary methods on window 2019-02-20 16:40:35 -08:00
Beaudan 6426a5eb9b Added ability to look up our .loki address and now send that with our LokiAddress messages 2019-02-14 13:09:04 +11:00
Beaudan 5d823de6f9 Renamed lokiSnodeAPI to start with lower case for consistency, refactor snode API to use conversation controller 2019-02-11 16:35:22 +11:00
Mikunj 725a41a8d7 Added link preview setting. 2019-02-08 14:58:31 +11:00
sachaaaaa f900a08eda
Merge pull request #177 from sachaaaaa/merge_1_21_0
Merge Signal 1.21.0
2019-02-07 10:08:50 +11:00
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
2019-02-06 13:53:20 +11:00
Beaudan 69ebf017ff Reworked loki_p2p_api to not use the window object, which means it needs to be instantiated after the storage is ready so that your pubkey can be passed in to the constructor. This makes it more modular and allows for easier testing 2019-02-06 10:26:25 +11:00
Mikunj 3c07d99a89 Fix variable names.
Fix module export to be more consistent.
2019-01-31 11:30:26 +11:00
Beaudan 07076c27ae Moved friend status to window, added start of p2p api stuff 2019-01-31 10:24:34 +11:00
Beaudan b417edfc9b Added new protos for online broadcast messages, added db hits for getting friends, local server now instantiated on the window, now sending online broadcast messages when the local server starts 2019-01-31 10:24:34 +11:00
Scott Nonnenberg 813924685e Link Previews 2019-01-29 13:53:14 -08:00
Mikunj Varsani b226feaac7
Merge pull request #148 from Mikunj/signal-1.20
Signal 1.20
2019-01-25 10:13:08 +11:00
Mikunj 69f51021b6 Travis windows fixes. 2019-01-24 14:47:38 +11:00
Mikunj 1a15ec9c15 Merge commit signal/master into signal-1.20 2019-01-22 13:54:03 +11:00
Mikunj 8c9b1a7a7a Added loki server.
Added test.
2019-01-21 15:23:20 +11:00
Mikunj e08a63d078 Merge development into lint 2019-01-17 12:58:33 +11:00
Beaudan 7b1799c418 Big ol' hunk o' chunk. Now using random.snode to populate swarm lists, now making multiple requests from said lists and they are processed as they complete rather than waiting for all to resolve 2019-01-16 17:08:46 +11:00
Beaudan 37ba762312 First stuff for contacting specific nodes for each contact. Hard coded to hit the same bootstrap node for now plus doesn't handle unreachable nodes/errors well yet 2019-01-16 17:08:46 +11:00
Mikunj 6bd2d3962e Linted files 2019-01-16 16:18:08 +11:00
Mikunj 924c51d5c7 Removed min and max clamping in code.
This should be done UI and Server side instead.
2019-01-14 15:39:42 +11:00
Mikunj 87113b6cc1 Added message ttl setting storage 2019-01-11 15:59:44 +11:00
Scott Nonnenberg e4babdaef0 Updates to backup infrastructure 2019-01-04 12:21:26 -08:00
Mikunj 3690f4acda Added timeout argument to WorkerInterface. 2018-12-19 14:05:57 +11:00
Mikunj 654b0dac84 Merge signal-master. 2018-12-17 12:56:04 +11:00
Beaudan bb3ca610ff Cleaned up utilWorker spawning 2018-12-14 10:03:15 +11:00
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 2018-12-13 17:13:52 +11:00
Mikunj 26ba553e6a Added menu options to set, change and remove password. 2018-12-07 11:43:48 +11:00
Mikunj f53bec38a5 Added password inputs on registration screen.
Fix case where db is deleted but password hash still remains which causes user to never register.
Allow password to have symbols and other characters.
Added more tests.

Moved passHash from config into the sqlite db.
We can do this because we assume if sql failed to initialise then the key provided was wrong and thus we can show the user the password page.
2018-12-06 15:47:37 +11:00
Mikunj 1cb09cad2a Add header options. 2018-12-04 08:47:09 +11:00
Mikunj 961eb53915 Auto-generate profile images on conversations. 2018-12-03 08:55:43 +11:00
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
2018-11-27 16:20:48 -08:00
Beaudan bed9ce5be2 Added read receipt checkbox to the settings window which enables or disables the sending and receiving of read receipts 2018-11-22 16:49:15 +11:00
Mikunj 5f4a44ba8c Remove returning models from block/unblock.
lint fixes.
2018-11-20 11:36:44 +11:00
Mikunj dbb92aa9c8 Added i18n messages. 2018-11-19 16:22:17 +11:00
Mikunj ba390e354b Added unblocking.
Added styling.

Trigger changes on both conversation and messages when we block/unblock.
2018-11-19 16:08:01 +11:00
Mikunj 4d3fb17e61 Merge branch 'sig-development' into merge/signal 2018-11-14 15:06:46 +11:00
Beaudan 3aa135fdb4 Grabbing last hash from server response. only requesting messages after the lasthash. Keeping track of lasthash for array of nodes (currently hardcoded for one) 2018-11-14 13:09:33 +11:00
sachaaaaa ad1cf94526 ES2015 classes for LokiServer and FallBackSessionCipher 2018-11-13 15:03:06 +11:00
Scott Nonnenberg 6300256a3e Gracefully shut down database operations before app exit 2018-11-12 15:31:17 -08:00
Mikunj f589fdac5c Merge signal changes into branch. 2018-11-07 15:26:37 +11:00
sachaaaaa 4b9fcb98d4 Linting and other housekeeping stuff 2018-11-01 11:10:30 +11:00
Scott Nonnenberg a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -07:00
sachaaaaa 1ce29d77c3 Moved mnemonic to node side. Added sc_reduce32 (asm) to generate privkey. Moved mnemonic languages to separate files. 2018-10-24 17:04:54 +11:00
sachaaaaa a418a9d23b allow registering using a mnemonic word list (seed used as privKey for now) 2018-10-24 10:13:54 +11:00
sachaaaaa 1e14022e2f Add skeleton for Loki Message API. Wrap data in json (for now?) 2018-08-21 19:44:30 +10:00
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 2018-07-21 14:52:43 -07:00
Scott Nonnenberg f2a63c99ed Streamline code to clean logs based on version number 2018-07-20 15:49:51 -07:00
Scott Nonnenberg c517e4193b New option: Disable spell check 2018-07-18 19:41:16 -07:00
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
2018-07-17 15:58:07 -07:00
Scott Nonnenberg d8e5e5fcf2 Open separate windows with theme, update settings theme on change 2018-07-13 08:57:30 -07:00
Scott Nonnenberg ad4387803b New media permission, show dialog when not enabled for voice msg
UI now in separate renderer:
  - the permissions popup
  - settings dialog
  - debug log dialog
  - about window

Couple bug fixes:
  - About Window: Fix 'escape' to close window
  - Remove outdated dist/copy tasks from Gruntfile

Eslintified settings_view.js
2018-07-03 16:04:21 -07:00
Scott Nonnenberg 91e7155736
Restore version/environment details to about window (#2477) 2018-06-21 12:02:19 -07:00
Scott Nonnenberg 8eeaad8e18 Remove unused export/import functionality 2018-06-21 11:54:01 -07:00
Scott Nonnenberg 1c23c6a9d7 Remove window.config in favor of window.getXXX() accessors 2018-06-14 17:03:53 -07:00
Scott Nonnenberg f3bd0cf903 Refactor api.js into web_api, which encapsulates all web access 2018-05-31 13:25:45 -07:00
Scott Nonnenberg a58e94e17e Disable eval() since we never use it 2018-05-31 13:25:45 -07:00
Scott Nonnenberg 34f423b52c Remove unused code; move signal.js to js/modules for eslint
(noticed as I was doing this that signal.js doesn't get eslint coverage)
2018-05-23 16:26:48 -07:00
Scott Nonnenberg a5416e42c4 Refactor all emoji utility methods into window.Signal.Emoji 2018-05-23 16:26:47 -07:00
Scott Nonnenberg 559b2157d4 Disable window.open(); has extra Electron functionalnity
(that we never use)

https://electronjs.org/docs/api/browser-window-proxy
2018-05-23 12:27:03 -07:00
Scott Nonnenberg aa13a2c6f7 Parse phone numbers into e164 as part of schema upgrade 2018-05-10 11:54:58 -07:00
Scott Nonnenberg 9d1847a7e5 Pull all setup in preload.js into signal.js. goal: webpackable 2018-05-07 19:30:49 -07:00
Scott Nonnenberg 37821e5a1b Wire up all contact behaviors, refactor Contact type/selector 2018-05-07 19:11:35 -07:00
Scott Nonnenberg 41be7f126b Visuals for embedded contacts as well as contact detail screen 2018-05-07 19:09:55 -07:00
Daniel Gasienica a102016ed8 Port Settings and OS to TypeScript 2018-05-02 20:01:57 -04:00
Daniel Gasienica c591c3ca55 Use native notifications on all platforms 2018-05-02 19:58:33 -04:00
Daniel Gasienica d5b391757d Add Notifications.getStatus 2018-05-02 19:18:33 -04:00
Daniel Gasienica 1dd87ad197 Format all source code using Prettier 2018-04-30 16:53:34 -04:00
Daniel Gasienica b8d20052e1 Remove unnecessary AttachmentTS reference 2018-04-30 11:00:38 -04:00
Daniel Gasienica e1b620602d Display attachments from disk 2018-04-27 16:31:43 -04:00
Daniel Gasienica f56dc09d01 Add getAbsoluteAttachmentPath 2018-04-27 16:31:43 -04:00
Daniel Gasienica b74b761255 Implement click to save for document list 2018-04-27 16:31:42 -04:00
Daniel Gasienica 41fe50553f Replace Backbone saveFile with Attachment.save 2018-04-27 16:31:42 -04:00
Daniel Gasienica 9134701f7c Move filesize from Bower to npm 2018-04-25 15:24:52 -04:00
Daniel Gasienica 4a5a2cb5c1 Replace Backbone with React lightbox 2018-04-25 15:24:51 -04:00
Daniel Gasienica 4ce0472b9f Extract Message.loadWithObjectURL 2018-04-25 15:24:51 -04:00
Daniel Gasienica 27c4bf90e3 Add Signal.Backbone 2018-04-25 15:24:51 -04:00
Daniel Gasienica c46e1a1519 Move top-level functions to Signal.Util 2018-04-25 15:24:51 -04:00
Daniel Gasienica 32a3ef518b Render media gallery placeholder panel 2018-04-25 15:24:50 -04:00
Daniel Gasienica df2e6e7864 Port MIME module to TypeScript 2018-04-25 15:24:50 -04:00
Scott Nonnenberg c02860af5c
Responding to pull request review feedback
- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
  - remove extraneous logging
  - fix indentation
  - upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus
2018-04-23 15:36:47 -07:00
Scott Nonnenberg a7d44d3344
Backup and end-to-end test! 2018-04-20 15:24:04 -07:00
Scott Nonnenberg 5412ce051e
preload.js: Fix quote support, load Quote properly 2018-04-13 18:10:49 -07:00
Scott Nonnenberg b4ce79cac0
Reply -> Quote 2018-04-13 18:05:43 -07:00
Daniel Gasienica ad05efb7a0 Expose Signal.Types.Conversation 2018-04-11 19:34:21 -04:00
Daniel Gasienica 55fc21505e Rename ts/test to ts/styleguide 2018-04-11 16:36:42 -04:00
Daniel Gasienica ac50713f86 Improve auto-linking of URLs in messages
Fixes #598.
2018-04-11 16:36:42 -04:00
Scott Nonnenberg c6c3b65bbc
Introduce React, TypeScript, TSLint and React-StyleGuidist (#2219)
Quite a bit of change here.

First, the basics:

- New dependencies were added: react, typescript, tslint, and react-styleguidist
- A new npm script: transpile. It uses typescript to process .tsx files in js/react, putting .js files next to the original file. It's part of the watch functionality of grunt dev as well as the default task run with just grunt (used to build the app prior to release). A lighter-weight to get watch behavior when just working on React components is to run yarn transpile --watch.
- yarn run clean-transpile will remove generated .js files


Style guide via react-styleguidist. Example site: https://react-styleguidist.js.org/examples/basic/

- Start with yarn styleguide
- Component.md files right next to the .tsx file
- jsdoc-style comments are picked up and added to the generated part of the styleguide - the overall summary and a table listing methods and properties of the component
- It has hot-reloading!
- It uses webpack, which means that our app now pulls in webpack though we don't use it to generate anything for the production app.
- I did a bunch of work to enable the use of Backbone views in this context, which will allow us to move smoothly from the old world to the new. First, add all the permutations in the old way, and then slowly start to re-render those same views with React.

A bit of dependency cleanup to enable use in React components:

- moment was moved from our Bower dependencies to our npm dependencies, so it can be used in React components not running in a browser window.
- i18n was moved into the new commonjs format, so it can be used in React components even if window is not available.

Lastly, a bit of Gruntfile cleanup:

- Removal of Chrome App-era modifications of background.js
- Make jshint/jscs watch more targeted, since more and more we'll be using other tools
2018-04-06 08:13:00 -07:00
Scott Nonnenberg 96bd90a4e0
Simplify assignment; add warning to preload.js about Style Guide 2018-04-05 17:16:15 -07:00
Scott Nonnenberg 05303233fb
window.Signal.React -> window.Signal.Components 2018-04-05 16:10:59 -07:00
Scott Nonnenberg 76be13552f
js/i18n.js -> js/modules/i18n.js 2018-04-05 12:51:29 -07:00
Daniel Gasienica 4c4443390a Rename createImporter to createAttachmentDataWriter 2018-04-04 19:11:46 -04:00
Scott Nonnenberg 893fb1cb9e
Introduce React/TypeScript/TSLint into app for new UI components
npm run transpile
  Works on files under js/react/
  Outputs files right next to the .tsx file

This is part of our `grunt dev` task, as well as the default grunt task,
which does everything else necessary to get a raw git checkout ready to
run.
2018-04-04 16:08:27 -07:00
Scott Nonnenberg f86a6ef752
Update style of i18n, pull it in via preload instead of .html 2018-04-04 16:03:10 -07:00
Scott Nonnenberg 1ad2b080c8
Move moment from bower deps to npm deps 2018-04-04 16:00:38 -07:00
Daniel Gasienica 94c75762b5 Add Message.createAttachmentLoader 2018-04-04 18:41:50 -04:00
Daniel Gasienica 43ab320d31 Load attachments before writing them upon export 2018-04-04 18:41:50 -04:00
Daniel Gasienica bf67254cc5 Add Message.createImporter 2018-04-04 18:41:50 -04:00
Daniel Gasienica efd673083d Rename writeAttachmentData to writeNewAttachmentData 2018-04-04 18:41:50 -04:00
Daniel Gasienica ce8fe0d345 Add Signal.Startup module 2018-04-04 18:10:52 -04:00
Daniel Gasienica 8474f3cf7f Use create* prefix to clarify curried functions 2018-04-03 15:25:24 -04:00
Daniel Gasienica 6e6b93d917 Run ESLint on preload.js 2018-04-03 15:03:57 -04:00
Daniel Gasienica 805031ade8 Conditionally run post-attachment migrations
Introduce placeholder migrations for Backbone models so they never implicitly
run migrations whenever they are `fetch`ed. We prefer to run our migrations
explicitly upon app startup and then let Backbone models be (slightly) dumb(er)
models, without inadvertently triggering migrations.
2018-04-02 17:42:04 -04:00
Daniel Gasienica d3c9de4712 Add debug module
Lets us generate large conversations with large attachments.
2018-04-02 12:17:36 -04:00
Daniel Gasienica ce8fd3d847 Expose Signal.Settings module 2018-04-02 12:17:36 -04:00
Daniel Gasienica 02354ce655 Expose Signal.Database module 2018-04-02 12:17:36 -04:00
Daniel Gasienica a18e462817 Move migrations to Signal.Migrations 2018-04-02 12:17:36 -04:00
Daniel Gasienica c765422fa1 Extract deferredToPromise 2018-04-02 12:17:36 -04:00