Commit Graph

319 Commits (ca331b95a6e25dbe2eab69102bdaaa0a9069f812)

Author SHA1 Message Date
Beaudan Brown de0a5c7b78 Unique constraint and prevent some undefined bugs 6 years ago
sachaaaaa 8df692901a Merge branch 'clearnet' into multi-device
* clearnet:
  set active_at to now() for public channels
6 years ago
sachaaaaa 634d274ffc
Merge pull request #531 from sachaaaaa/remove_all_private_conv
[multi-device] Remove private convs only
6 years ago
sachaaaaa 8ce21b13fe Remove only private conversation during secondary registrations steps to keep public chats in db 6 years ago
sachaaaaa 5a8ab00a96 Rename pairing getters to specify secondary or primary. Add getGrantAuthForPrimary. 6 years ago
sachaaaaa 7d7eea9547 set active_at to now() for public channels 6 years ago
sachaaaaa f8e9e1d3bd Remove rejected authorisation from database 6 years ago
sachaaaaa 0426d85e7a Merge branch 'clearnet' into multi-device
* clearnet: (136 commits)
  Fix more check on deletion.
  Only shorten pubkeys if name is present
  Shorten pubkeys in quotations too
  better guard
  pass serverId back to the server
  Bump version.
  Purge cache on failure.
  Fix unnecessary link preview fetches.
  Review changes. Increase mod time to 30 seconds.
  Undo defaultPublicChatServer change,
  Modified colour of dark mod badge
  Linting.
  Updated design
  Show crown icon for moderators
  Fix last hash all being NULL in database
  Poll for moderators, store them on the conversation and use the list to determine our own mod status
  Make sure we are always updating the last deleted id
  Update ts/components/conversation/FriendRequest.md
  Fix #355 Display timestamp for friend requests
  Fix duplicate detection for sent messages in public chat
  ...

# Conflicts:
#	app/sql.js
#	js/background.js
#	js/models/messages.js
#	js/views/app_view.js
#	libloki/crypto.js
#	libtextsecure/message_receiver.js
6 years ago
sachaaaaa d17f86679f
Merge pull request #495 from sachaaaaa/fix_unknown_signedkey
[multi-device] Ensure the latest contact signed prekey is used
6 years ago
sachaaaaa 6de6b762e6 Ensure the latest contact signed prekey is used 6 years ago
sachaaaaa d3c3184405 Search returns primary device when looking up secondary pub key 6 years ago
sachaaaaa b10835ffc7 Share contact upon authorising secondary device 6 years ago
Mikunj a9189979e1 Added JazzIcon 6 years ago
Mikunj 500a88dbab Removed identicon.js
Updated profile image helper.
6 years ago
Beaudan Brown 9beea2cbd3 Enforce curlies completely and lint with new settings 6 years ago
Beaudan Brown 6f995d6a96 Resolve linter issues 6 years ago
Ryan Tharp b4277532d6
Update app/sql.js
Co-Authored-By: Beaudan Campbell-Brown <beau@loki.network>
6 years ago
Ryan Tharp dffcf51f88 add defaultPublicChatServer to config 6 years ago
sachaaaaa 35b6182074 Clean up after account registration failure 6 years ago
Beaudan Brown 6392c77952 Fix database helpers 6 years ago
Beaudan Brown 700ed5d2a8 Some refactoring from reviews, and include the token in the message pipeline instead of getting in message_api 6 years ago
Beaudan Brown 716e142ac4 Reviews 6 years ago
Beaudan Brown 37366198fc Add database tables and helper functions for public server auth 6 years ago
sachaaaaa a4411007b0 Pairing authorisations: refactor proto, change sql table, add getters 6 years ago
Beaudan Brown 895cedc801 Lint 6 years ago
Beaudan Brown 3f4b94ba74 Transition to initialising rss feeds in schema update 6 years ago
sachaaaaa edd800d382 Make linter happy 6 years ago
sachaaaaa 88c1454c18 Use Loki Schema for database versioning 6 years ago
sachaaaaa d208614909 Multi-device part 1: make primary account generate and send authorisation to secondary 6 years ago
Beaudan c9f433fbba Save message id when sending/receiving to/from public server and lint 6 years ago
Beaudan 899bfc3b2b Add channel id to message table and provide helper functions 6 years ago
Beaudan 1fc2173d9b Update header template to display group names properly and update migration to only store name for public chat 6 years ago
Beaudan 014558d939 Squash and clean of old PRs, move towards sending cleartext again 6 years ago
Beaudan 90f788c591 Add the server and channel plus proper displayName 6 years ago
Beaudan 89980e3248 Better sql for selecting version 6 years ago
Beaudan 8225bf5847 Slight sql changes 6 years ago
Beaudan 06832e4978 Lint 6 years ago
Beaudan b4cc9430be Add loki schema versioning and create new public conversation 6 years ago
Beaudan 0a231ea2ae Allow start-prod and start-prod-multi so launch in production (mainnet) mode 6 years ago
Beaudan 5887f8c14c Fix password error 6 years ago
Beaudan 8d4bfc27c9 Have to put the tls setting here for some reason 6 years ago
sachaaaaa 9d6c5bff36 make unverified https queries to the snodes 6 years ago
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
6 years ago
Mikunj 12ce0140de Left pane changes.
Merge commit 'b3ac1373fa64117fe2a9ccfddf3712f1826c06d9' into signal-1.23

# Conflicts:
#	_locales/en/messages.json
#	background.html
#	js/background.js
#	js/conversation_controller.js
#	js/models/conversations.js
#	js/models/messages.js
#	js/views/conversation_list_item_view.js
#	js/views/conversation_list_view.js
#	js/views/conversation_search_view.js
#	js/views/inbox_view.js
#	libtextsecure/account_manager.js
#	package.json
#	stylesheets/_global.scss
#	stylesheets/_index.scss
#	stylesheets/_modules.scss
#	test/_test.js
#	test/index.html
#	test/models/conversations_test.js
#	test/views/conversation_search_view_test.js
#	ts/components/ConversationListItem.tsx
#	ts/components/MainHeader.tsx
#	ts/components/conversation/ConversationHeader.tsx
#	ts/components/conversation/ResetSessionNotification.tsx
6 years ago
Mikunj 48c4ed1a29 Partial Merge commit 'bf904ddd129ceba8fa363ccf6d10ecd256c65f63' into signal-1.23
# Conflicts:
#	_locales/en/messages.json
#	app/sql.js
#	js/background.js
#	js/conversation_controller.js
#	js/models/conversations.js
#	js/views/inbox_view.js
#	main.js
6 years ago
Mikunj 57195017f9 Linting 6 years ago
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
6 years ago
Scott Nonnenberg 6cf4f19317 Add a new env variable to the hardening list 6 years ago
Beaudan 3522513590 Use TEXT over STRING 6 years ago
Beaudan faf1b4b66b Lint 6 years ago
Beaudan 796181e00c Add database functions for storing, retrieving and cleaning last hash for snodes 6 years ago
Scott Nonnenberg f92769db8c Windows: Return real path, not lowercase path 6 years ago
Scott Nonnenberg be86169a8a Windows: Do our file filtration with case-insensitive checks 6 years ago
Jonathan Canfield 97b26778b3 Remap zoom to Command+= on macOS (#3296) 6 years ago
Scott Nonnenberg c8ea2e9463 Download and install updates without the help of electron-updater 6 years ago
Mikunj ae8b3899ad Changed registration to be a 2 step process. 6 years ago
Scott Nonnenberg 6ef0eb7284 When closing database, be resilient to null db 6 years ago
Scott Nonnenberg b3ac1373fa Move left pane entirely to React 6 years ago
Scott Nonnenberg ca5132f712 Present 'database error' dialog in more situations 6 years ago
Scott Nonnenberg ae161c6cf6 Update to Electron 4.x 6 years ago
Scott Nonnenberg e4b0901620 If logs are malformed on startup, delete them all and start over 6 years ago
sachaaaaa 01577a7b45
Merge pull request #236 from BeaudanBrown/fix-database-bug
Fix windows database crash
6 years ago
Beaudan d317b020f0 Close the database if the password is incorrect, fixes windows crash 6 years ago
sachaaaaa b39b45e29d Fix #214 Replace help menu links 6 years ago
Scott Nonnenberg 6bcd434585 Prevent crash when tray icon no longer available (due to apt) 6 years ago
Scott Nonnenberg 5165eb3bd4 On database error: show popup, allow user to delete and relaunch 6 years ago
Scott Nonnenberg 3fb6ab295f Debug log optimizations and improvements 6 years ago
Scott Nonnenberg 5b54c9554e Remove groups table, conversation is single source of truth 6 years ago
Scott Nonnenberg 041fe4be05 Remove JSON column and Backbone Model for unprocessed 6 years ago
Scott Nonnenberg 9c540ab977 Add cache support to Signal Protocol Store 6 years ago
Scott Nonnenberg 1d2c3ae23c Download attachments in separate queue from message processing 6 years ago
Scott Nonnenberg 462fa712bc Show members: Pull conversation from group table 6 years ago
sachaaaaa 68fe552156 Merge commit '5c8558e293989094693f918a63b672301f1aeb55' into merge_1_21_1
* commit '5c8558e293989094693f918a63b672301f1aeb55':
  v1.21.1
  v1.21.1-beta.1
  Fix: Navigation to message via quote click didn't always work
  mainWindow.close - be ready for null mainWindow
  Ensure that Curve.async points to worker after startWorker call
  Protect against unhandled promises when calling checkForUpdates
  Reenable send when link preview is missing an image

# Conflicts:
#	package.json
6 years ago
Scott Nonnenberg 0ec0ae9dac Protect against unhandled promises when calling checkForUpdates 6 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
Beaudan 80fa4f866e Stale comment from review 6 years ago
Beaudan 38ff70e2ec Fixed some little redundant stuff in the message and snode api 6 years ago
Beaudan 07076c27ae Moved friend status to window, added start of p2p api stuff 6 years ago
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 6 years ago
sachaaaaa 7e583499f4
Merge pull request #155 from Mikunj/password-clear-database
Allow resetting database from password view.
6 years ago
Scott Nonnenberg 813924685e Link Previews 6 years ago
sachaaaaa 9f35b50301 Changed development folder to 'Loki-Messenger-Development` instead of 'Signal-Development' 6 years ago
Mikunj ac59e1249f Added db resetting.
Use built in signal warning view.
6 years ago
Mikunj 1a15ec9c15 Merge commit signal/master into signal-1.20 6 years ago
Mikunj e08a63d078 Merge development into lint 6 years ago
Beaudan bdbdf15469 Added timeouts for requests so they don't for ages. Changed swarmNodes to be a set to work property with merge, now removing contact swarmNodes if they timeout 6 years ago
Beaudan 24553e29e7 Made swarm requests ACTUALLY not wait for them all to finish and stop saving swarmNodes as DB column 6 years ago
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 6 years ago
Mikunj 6bd2d3962e Linted files 6 years ago
Scott Nonnenberg 92c2a0f996 Data infrastructure work 6 years ago
Scott Nonnenberg e4babdaef0 Updates to backup infrastructure 6 years ago
Scott Nonnenberg 775e31c854 Lint fixes after recent PRs 6 years ago
Herohtar 22ca4f9cc7 Change tray icon click to always show/focus window (#2984)
* Added function to always show the window on tray icon click and reassigned click event

* Refactored the code to force the window on top into its own function
6 years ago
Mikunj 654b0dac84 Merge signal-master. 6 years ago
Beaudan 415d0858e8 Allow spaces in password 6 years ago
sachaaaaa a1255dd31e
Merge pull request #77 from Mikunj/password-protection
Password protection
6 years ago
Mikunj e1aba93aea Merge signal 1.18.1 changes. 6 years ago
Beaudan Campbell-Brown 1303603db9
Apply suggestions from code review
Co-Authored-By: Mikunj <Mikunj@users.noreply.github.com>
6 years ago
Mikunj 9e995bde6c Review fixes.
Updated tests.
6 years ago
Mikunj 0b87f13699 Added password dialog view. 6 years ago
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.
6 years ago
Mikunj 7a96b8446a Rename launcherView to passwordView. 6 years ago
Mikunj 6620244d03 Show main window on correct password; 6 years ago
Mikunj 6b9764e6c6 Added launcher view. 6 years ago
Mikunj 08f9101fec Hide new contact view unless we have no matches. 6 years ago
Beaudan 051e4dd22c XAnother big refactor to tie conversation UI logic to the friendRequestStatus variable 6 years ago
Mikunj 75bbf374f5 Default icon background to transparent. 6 years ago
Mikunj d60f147659 replaced jdenticon with identicon.js.
Cleanup any unused images.
6 years ago
Mikunj d75dee4fef Fix up new line. 6 years ago
Mikunj 961eb53915 Auto-generate profile images on conversations. 6 years ago
sachaaaaa 248c9fb4e9 Ensure the contact prekey returned is always the latest available 6 years ago
Scott Nonnenberg 68af1ae1ea Show dialog if application fails to start up properly 6 years ago
Scott Nonnenberg 11fdf22881 Change sessions.id to a TEXT field to prevent type coercion 6 years ago
Scott Nonnenberg bde1462159 Change sessions.id to a TEXT field to prevent type coercion 6 years ago
Beaudan b65d6a6d2c Refactor friend request status to use a state enum variable 6 years ago
Mikunj 9fd822a7e3 Remove preKeys on friend request decline. 6 years ago
Beaudan ff3cc7a315 Review changes 6 years ago
Beaudan 489ec8fc65 Heap of linting, eslint warning/error removal, and fixed a couple small bugs found along the way
Created new table to store the received message hashes. Checking this table when receiving messages to look for duplicates. Should be cleared of expired messages on app start and every hour after

Removed id which was not needed for seen messages. Refactored filter logic into function and found function name error

create unique index for contact prekeys (to allow using REPLACE)

Fixed lint stuff that merge brought back
6 years ago
Mikunj 34f43088ff Fix incoming messages being deleted on startup. 6 years ago
Mikunj 4148628e70 Remove any unsent messages when app is started. 6 years ago
Mikunj 33ee45b819 Cleaned up SQL for getMessagesByConversation. 6 years ago
Mikunj 1150f0f915 Allow fetching conversation messages by a specific type. 6 years ago
Mikunj d5154bef73 Move version 7 schema to version 6. 7 years ago
Mikunj e678d84d7e Oops forgot semi colons 7 years ago
Mikunj abe7170b4e Added sql deletion of contact pre keys and contact signed pre keys 7 years ago
Mikunj 98185fa6fd Added sql migration. 7 years ago
Mikunj 77602e3dbb Moved contactPreKey and contactSignedPreKey to sql. 7 years ago
Mikunj 525007f944 Added fetching preKey by recipient. 7 years ago
Mikunj f589fdac5c Merge signal changes into branch. 7 years ago
Scott Nonnenberg fb670ad6b9 Remove IndexedDB files after removing IndexedDB database 7 years ago
Scott Nonnenberg 9f647f00d8 A couple fixes for the data layer, legacy message upgrade/migrate 7 years ago
Scott Nonnenberg f11dd18536 Be resilient to malformed ephemeral.json 7 years ago
Scott Nonnenberg 1755e0adfd Move all remaining stores to SQLCipher 7 years ago
Scott Nonnenberg a7d78c0e9b Sealed Sender support
https://signal.org/blog/sealed-sender/
7 years ago
Scott Nonnenberg 2cfbfe477a Better handle large numbers of messages in cache on startup 7 years ago
Scott Nonnenberg cd60bdd08a Move conversations to SQLCipher 7 years ago
Scott Nonnenberg 48d937b66a Follow symlinks on target file path as well as user/config paths 7 years ago
Scott Nonnenberg 998c35dcb3 Split configuration into low and high traffic files
Also, we're now handling config ourselves instead of using
electron-config and config dependencies.
7 years ago
Scott Nonnenberg 496ebf2a47 Store SQLCipher decryption key in separate file
First, we write the key a whole lot less. We write it on creation, then
never again.

Second, it's in a file we control very closely. Instead of blindly
regenerating the key if the target file generates an error on read,
we block startup unless the error is 'ENOENT' - the file isn't there
at all.

This still allows for the key.txt file to be deleted or corrupted
somehow, but it should be a lot less common than the high-traffic
config.json used for window location and media permissions.
7 years ago
Scott Nonnenberg 9f920aa35b Re-enable orphaned attachment cleanup 7 years ago
Scott Nonnenberg a247ffe5cf When iOS device has been linked, use iOS color scheme 7 years ago
Scott Nonnenberg fba8e8d479 Add logging to help diagnose protocol handler false positives 7 years ago
Scott Nonnenberg c88df69094 New SQL indices and query tweaks to eliminate table scans
Also: New logging on client side to track performance of db queries
7 years ago
Scott Nonnenberg 727925a266 Clean up old messages, better handle errors from sending 7 years ago
Scott Nonnenberg 6e193456f9 Eliminate orphaned external message files on startup
Attachments, visual attachment thumbnails, video attachment screenshots
Quote thumbnails
Contact avatars
7 years ago
Scott Nonnenberg c56ea55e36 Fix duplicate message detection 7 years ago
Scott Nonnenberg 4d5894bf04 Ensure that all multi-statement sql functionss are serialized 7 years ago
Scott Nonnenberg 3105b77475 Migrate to SQLCipher for messages/cache
Quite a few other fixes, including:
  - Sending to contact with no avatar yet (not synced from mobile)
  - Left pane doesn't update quickly or at all on new message
  - Left pane doesn't show sent or error status

Also:
 - Contributing.md: Ensure set of linux dev dependencies is complete
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