Commit graph

496 commits

Author SHA1 Message Date
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
Daniel Gasienica
d16178638e Split database migrations into pre- and post-attachment migration
- Run light-weight migrations before attachment migration.
- Run regular migrations after attachments have been moved to disk.
2018-04-02 12:17:36 -04:00
Daniel Gasienica
add19aa732 Add initialization view 2018-03-26 16:56:37 -04:00
Daniel Gasienica
1c4b7eb01c Make namespace generation clearer
Let’s make it clear that this is where we initialize our namespaces to avoid
proliferation of various initialization points now that we support CommonJS.
2018-03-26 16:56:20 -04:00
Daniel Gasienica
7c2fde4433 Add Signal.Workflow namespace 2018-03-26 16:49:21 -04:00
Daniel Gasienica
5c9f18e1ae Wire up background message migration 2018-03-26 16:49:21 -04:00
Daniel Gasienica
d13668544d Rename IdleListener to IdleDetector 2018-03-26 16:49:21 -04:00
Daniel Gasienica
92ace67846 Start idle listener on startup 2018-03-26 16:49:21 -04:00
Daniel Gasienica
0c06fff47b Wire up Message / Attachment migration functions on startup
Makes `migrationContext` obsolete.
2018-03-26 16:38:34 -04:00
Daniel Gasienica
9d25aa4e43 Delete attachment files on disk upon message delete 2018-03-26 16:38:34 -04:00
Daniel Gasienica
1c8123ff1a Move writeAttachmentData into Attachments
Encapsulates all attachment operations that require Node.js / Electron APIs,
e.g. file system access.
2018-03-26 16:38:34 -04:00
Daniel Gasienica
e0428355be Wire up writeAttachment 2018-03-26 16:38:34 -04:00
Scott Nonnenberg
cea42bde7d
Encryption support for backup and restore
Also moved to the _ prefix in backup.js for all private methods exported
for testing.
2018-03-20 11:53:54 -07:00