Commit Graph

711 Commits (9e4e524807f4895429e3afc29c86c1b8dd58e03c)

Author SHA1 Message Date
Maxim Shishmarev cf18572049 Adding new group members; establishing sessions between non-friends 6 years ago
Maxim Shishmarev 0d19b708f9 Creating private group chats between friends 6 years ago
sachaaaaa 65361d33f5 New menu item "show pairing words" for secondary devices 6 years ago
Beaudan Brown e9dc3b531e Simplify auto accept check 6 years ago
Beaudan Brown 8ccf62ed4e Trigger endSession code if we receive a friend request from a friend 6 years ago
Beaudan Brown d97eced37b Merge branch 'clearnet' into multi-device 6 years ago
Mikunj 3ba71fad9e Linting. 6 years ago
Beaudan Brown 5e1e70ac8c Enable link previews by default 6 years ago
Beaudan Brown 4e70b66131 Extract the async token grab from the server api constructor and put in the factory. Fix up the areas this affects 6 years ago
Beaudan Brown 5d2f7ddb20 Add messages needed for UI, bit of house work 6 years ago
Beaudan Brown 39fac5fd02 Add initial add server UI skeleton 6 years ago
sachaaaaa cbee5a884c Secondary device to update device mapping to server after lokiFileServerAPI creation 6 years ago
sachaaaaa 73d90a5277
Merge pull request #537 from sachaaaaa/secondary_device_minimum_receiver
[multi-device] Start all the receivers only after the secondary registration is fini…
6 years ago
sachaaaaa cc04bee38a Start all the receivers only after the secondary registration is finished 6 years ago
sachaaaaa 5a8ab00a96 Rename pairing getters to specify secondary or primary. Add getGrantAuthForPrimary. 6 years ago
sachaaaaa b63d8ec84f Merge branch 'clearnet' into multi-device
* clearnet: (35 commits)
  yarn lint
  return early if signature is not a string
  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 review
  address reviews
  Custom message rendering of mentions
  fix method
  separate out new/open, more lint/cleanup
  separate out note to self
  create window.mixpanel here
  use window.mixpanel, remove eventEmitter
  lint and remove unneeded params
  ...
6 years ago
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
6 years ago
Ryan Tharp 51eaa90823 use window.mixpanel, remove eventEmitter 6 years ago
sachaaaaa f8e9e1d3bd Remove rejected authorisation from database 6 years ago
sachaaaaa e07f81c150 Add LokiFileServerAPI 6 years ago
Ryan Tharp c921d3e3b3 allow mixpanel to be already set up elsewhere 6 years ago
Ryan Tharp 88b44390bf Desktop Analytics 6 years ago
sachaaaaa d3653e8665 lint after manual merge 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 6de6b762e6 Ensure the latest contact signed prekey is used 6 years ago
Mikunj Varsani 51f161a613
Merge pull request #498 from Mikunj/mod-badges
Mod badges
6 years ago
sachaaaaa f9df221638
Merge pull request #497 from sachaaaaa/prevent_multiple_retrievers
[multi-device] Ensure API objects are inited only once
6 years ago
sachaaaaa 025ad10fc5 Ensure API objects are inited only once 6 years ago
Beaudan Brown e9a2b57d37 Show crown icon for moderators 6 years ago
Beaudan Brown 9fe613967a Fix duplicate detection for sent messages in public chat 6 years ago
sachaaaaa b10835ffc7 Share contact upon authorising secondary device 6 years ago
Ryan Tharp b3e2a5aba8 move refreshModStatus into constructor of channelAPI, just instantiate channelAPI now 6 years ago
sachaaaaa 35b6182074 Clean up after account registration failure 6 years ago
Beaudan Campbell-Brown 48b6bf54c1
Merge pull request #461 from Mikunj/qr-code
Pubkey QR code
6 years ago
Beaudan Campbell-Brown a6abcaf826
Merge pull request #453 from Mikunj/profile-simplification
Profile simplification
6 years ago
Mikunj 831ae09576 Cherry pick "profile simplification" from Mik 6 years ago
Beaudan Brown 27976a053c Save the last retrieved message for public chats on the conversation 6 years ago
Beaudan Brown ef8b515d70 Make sure we only initialise special conversations after both registration and storage load have complete 6 years ago
Mikunj 3380500a2d Added QR code viewing. 6 years ago
Beaudan Brown 8066affd2c Move initialisation of public and rss conversations to fix early loading error. Rename function to be more readable 6 years ago
Beaudan Brown 8d77d6fd79 All the API updates, enable mod status retrieval and allow for message deletion 6 years ago
Beaudan Brown e4ecc5b389 A prepare for message deletion 6 years ago
Mikunj c4dd10a5cd Simplified profile setting. Renamed functions to be less confusing. Removed storing profile in local storage. 6 years ago
Beaudan Brown 1f7787ecf7 Add token retrieval functions to public chat api 6 years ago
sachaaaaa 7e0217dca8
Merge pull request #439 from sachaaaaa/registration_done_secondary
[multi-device] Prevent showing inbox if secondary registration is ongoing
6 years ago
sachaaaaa 2c052a65a2 Display incoming messages in the primary device conversation 6 years ago
sachaaaaa 415ea7992c Prevent showing inbox if secondary device registration is still ongoing 6 years ago
sachaaaaa b5aee4f4be Display "Pair New Device" in menu for non-secondary devices 6 years ago
Beaudan Brown 895cedc801 Lint 6 years ago
Beaudan Brown 3f4b94ba74 Transition to initialising rss feeds in schema update 6 years ago
Ryan Tharp 48f2637ff9 lint 6 years ago
Ryan Tharp 962469a54c messenger and loki.network feeds 6 years ago
Ryan Tharp c57571fdfd loki.network rss feed 6 years ago
Beaudan c9f433fbba Save message id when sending/receiving to/from public server and lint 6 years ago
Beaudan f857744e88 Revert sending id 6 years ago
Beaudan f7039080af Remove accidental swapfile, save messages with the id given to them from public server 6 years ago
Beaudan 143bf1bdc1 Fill out unregister channel stub, trigger unregister channel on conversation deletion 6 years ago
Beaudan 014558d939 Squash and clean of old PRs, move towards sending cleartext again 6 years ago
Beaudan Campbell-Brown dd7bf1b2bb
Merge pull request #370 from msgmaxim/clipboard
Add a button to paste pubkey from clipboard if valid
6 years ago
Maxim Shishmarev cdd374a4b2 Add a toggle option for typing indicators; use short ttl for them 6 years ago
Maxim Shishmarev d0e73ed7f8 Add a button to paste pubkey from clipboard if valid 6 years ago
Beaudan df2c4af67c Run lint and check for ip or address when removing unreachable nodes 6 years ago
Beaudan 580931c4fb Pass ourKey to message api, initialise these APIs after registration or when storage is ready so we always have ourKey 6 years ago
Beaudan 676cebdce4 Fix async 6 years ago
sachaaaaa 37e95cf7d2 remove unnecessary await 6 years ago
sachaaaaa c53633e367 Clearnet p2p with https (no verification yet) 6 years ago
Beaudan d12f6b6d32 Handle swarm nodes the same for us or contacts, attach our key to message api object 6 years ago
Beaudan e520bf109a Persist PoW difficulty and update if get response from snodes 6 years ago
Mikunj 2c12c8a1d8 Convert profile field in data message to use LokiProfile instead of signal Contact. 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 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
Beaudan 796181e00c Add database functions for storing, retrieving and cleaning last hash for snodes 6 years ago
Scott Nonnenberg c8ea2e9463 Download and install updates without the help of electron-updater 6 years ago
Scott Nonnenberg b3ac1373fa Move left pane entirely to React 6 years ago
Scott Nonnenberg 782516186f Move expiring message cleanup after ConversationController.load() 6 years ago
Beaudan 14367620d9 lint 6 years ago
Beaudan d0d57ea8c7 Add more functionality to the conversation right click menu, add right click for messages, change some of the ways toasts/confirmation dialogs are created, auto focus text input for nickname, clean up some stuff 6 years ago
Beaudan df93c97b48 Added ability to delete contacts and destroy all sessions with them. Added right click menu to contacts/conversations in list which can block, delete messages and delete contact 6 years ago
Mikunj 06be1da40d Added p2p message styling 6 years ago
Scott Nonnenberg ad53423e0a Queue quote reference handling per convo in handleDataMessage 6 years ago
Scott Nonnenberg 5165eb3bd4 On database error: show popup, allow user to delete and relaunch 6 years ago
Scott Nonnenberg 77ae717b9b Clean up shutdown handling - stop processing incoming messages 6 years ago
Beaudan b00a0cb699 Rename isOnline to isPing for clarity, and reduce the ttl for online broadcast messages to 1 min 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
Mikunj 7564e270f8 Lint and code cleanup 6 years ago
Mikunj 725a41a8d7 Added link preview setting. 6 years ago
sachaaaaa f900a08eda
Merge pull request #177 from sachaaaaa/merge_1_21_0
Merge Signal 1.21.0
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 cde7bbf3c3 Removed forceP2p as argument for the pingContact event and enforced it on the other side 6 years ago
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 6 years ago
Scott Nonnenberg 813924685e Link Previews 6 years ago
Mikunj 1a15ec9c15 Merge commit signal/master into signal-1.20 6 years ago
Mikunj f92e8485f8 Merge development into lint
Added gitattributes
6 years ago
Beaudan Campbell-Brown ea1d007b4f
Merge pull request #136 from Mikunj/tests
Tests
6 years ago
Mikunj 6bd2d3962e Linted files 6 years ago
Beaudan Campbell-Brown c1dfd400f5
Merge pull request #131 from Mikunj/ttl-setting
Added TTL to settings.
6 years ago
Mikunj b8aa60b95d Added loki icon. 6 years ago
Mikunj feb8af476a Refactored BlockedNumberController. 6 years ago
Scott Nonnenberg 43e5d16020 Support for web socket communication with no signaling key 6 years ago
Mikunj 924c51d5c7 Removed min and max clamping in code.
This should be done UI and Server side instead.
6 years ago
Mikunj 235dbb2176 Added display of message ttl in settings.
Fixed setting message ttl.
6 years ago
Mikunj 87113b6cc1 Added message ttl setting storage 6 years ago
Scott Nonnenberg 47f834cf5c Encrypt device name on account create, on first launch if needed 6 years ago
Mikunj 654b0dac84 Merge signal-master. 6 years ago
Mikunj 0491ceacf1 Added seed dialog.
Fixed issue where incorrect language was used to generate seed.
6 years ago
Mikunj 0b87f13699 Added password dialog view. 6 years ago
Mikunj 26ba553e6a Added menu options to set, change and remove password. 6 years ago
sachaaaaa 962c947605 Prevent "secure session reset succeeded" message from being cleaned up at startup 6 years ago
Mikunj 570a7f5bf8 Fix header not updating when editing nickname. 6 years ago
Beaudan 2de01d0343 Back to multiple pending states, fix some notification bugs and friend requests should now work for all cases besides message sending interruption 7 years ago
Mikunj 06f79eb3fd Allow user to set display name when registering. 7 years ago
Mikunj 62135a1810 Added a section below conversation list.
Fixed scrolling on conversations.
7 years ago
Scott Nonnenberg 313d08344a Request configuration sync on startup of new version 7 years ago
Mikunj 18d638fdbf Fix sending and receiving profile.
Don't delete profile after if we set the display name to empty.
7 years ago
Mikunj 610a305e23 Added localised strings.
Only override name when editing profile.
7 years ago
Mikunj ac4e04912c Minor language fixes. 7 years ago
Mikunj 14ee7fec65 Moved and nicknames into conversations. 7 years ago
Mikunj 98c4b5d77b Added editing own nickname.
Fix dark theme support.
Fix notification titles.
7 years ago
Mikunj 6ce9d6a08c Added nickname dialog. 7 years ago
Scott Nonnenberg 79a861a870 Typing Indicators 7 years ago
Beaudan b65d6a6d2c Refactor friend request status to use a state enum variable 7 years ago
Mikunj d37b02421c Merge commit '96595a46d81b2d7361dfde213392e203b18ee279' into fix/prekey-saving 7 years ago
Mikunj 0dabce9e28 Remove preKeyBundle from message.
Always save preKeyBundles if we receive them.
Always override preKeys when saving.
7 years ago
sachaaaaa 19b6698a24
Merge pull request #53 from BeaudanBrown/read-receipts
Read receipts setting
7 years ago
Beaudan bed9ce5be2 Added read receipt checkbox to the settings window which enables or disables the sending and receiving of read receipts 7 years ago
sachaaaaa dbdd52b4eb
Merge pull request #50 from Mikunj/fix/friend-request
Friend request fixes
7 years ago
Mikunj dba6a36e83 removed old unused code. 7 years ago
Mikunj 110387508f UI fixes. 7 years ago
Mikunj a3a7f4a621 Merge commit 'ef44a123ed4ada70489d78fde16a86c60ced34a8' into feature/blocking 7 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
7 years ago
Mikunj a82999818a Added blocking/unblocking from friend request.
Fixed incoming messages being deleted.
7 years ago
Mikunj 8cc9b7b54b Added blocked number model and collection.
Added blocked number controller.
Hooked up BlockedNumberController loading.
7 years ago
Mikunj 34f43088ff Fix incoming messages being deleted on startup. 7 years ago
Mikunj 4148628e70 Remove any unsent messages when app is started. 7 years ago
Mikunj ece266fffd Added showing pow icon. 7 years ago
Mikunj 4d3fb17e61 Merge branch 'sig-development' into merge/signal 7 years ago
Mikunj 5e48efc935 Merge commit 'd94365f1c6dbb315f67f29b47982b5f24bd11f5f' into feature/friend-request 7 years ago
Mikunj a80d6bb868 Merged branch correctly. 7 years ago
sachaaaaa 2451ffdca4 Comment out signal-specific logic introduced in latest merge 7 years ago
Scott Nonnenberg ecf3f18762 Improve our deletion of IndexedDB post-SQLCipher migration 7 years ago
Scott Nonnenberg 6300256a3e Gracefully shut down database operations before app exit 7 years ago
Mikunj fca5a74da3 Fixed review issues. 7 years ago
Mikunj c583819ccf Fixed view layouts after deleting a conversation. 7 years ago
Mikunj 0a88f337d5 Merge branch 'sig-development' into merge/signal 7 years ago
Mikunj b9e85bb141 Added handling of accept and decline events. 7 years ago
Scott Nonnenberg 2d48daa7b6 Refine Sealed Sender behaviors 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 e08c5e3307 Add current message counter to the log to help with debugging 7 years ago
Scott Nonnenberg e2e0e4c96b Refine sealed sender logic 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 739bd4dbda Request contact sync only on the first connect after upgrade 7 years ago
Scott Nonnenberg 2060118e85 Remove messages/conversations/unprocessed IndexedDB object stores 7 years ago
sachaaaaa e1ffe582c3 Prompt user when an incoming friend request is received 7 years ago
sachaaaaa 9370e2b74a Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
* 'master' of https://github.com/signalapp/Signal-Desktop: (38 commits)
  v1.17.0
  v1.17.0-beta.4
  Ensure that blue group avatars are preserved in dark theme
  Android theme: Incoming quotes take color from containing message
  Conversations have blue avatar backgrounds if no image provided
  Fix lint errors
  Add ca language
  inboxView: Ensure Conversation exists for our own number
  Ensure that file is not attached if we've filtered it
  v1.17.0-beta.3
  Localization updates
  v1.16.3
  Lint fixes
  Lint fixes
  Better handle large numbers of messages in cache on startup
  Keep object stores after conversations migrate to SQLCipher
  Longer timeout for orphaned file cleanup
  Tests and increase consistency for isFileDangerous calls
  Longer timeout for orphaned file cleanup
  v1.17.0-beta.2
  ...

# Conflicts:
#	background.html
#	package.json
7 years ago
Scott Nonnenberg 7532f397ea Keep object stores after conversations migrate to SQLCipher 7 years ago
Scott Nonnenberg 7d9711ba65 Restore iOS-specific theme; colors on left in android theme 7 years ago
Scott Nonnenberg 3b8f934741 On startup, if we've just upgraded to a new version, contact sync 7 years ago
Scott Nonnenberg 10c53bddb0 Move to new colors, switch incoming/outgoing colors 7 years ago
Scott Nonnenberg cd60bdd08a Move conversations to SQLCipher 7 years ago
sachaaaaa 33ad509fbf Merge branch 'master' of https://github.com/signalapp/Signal-Desktop into development
# Conflicts:
#	_locales/ar/messages.json
#	_locales/es_419/messages.json
#	_locales/he/messages.json
#	_locales/hi/messages.json
#	_locales/hr/messages.json
#	_locales/kn/messages.json
#	_locales/ko/messages.json
#	_locales/mk/messages.json
#	_locales/sr/messages.json
#	_locales/uk/messages.json
#	_locales/vi/messages.json
#	package.json
7 years ago
Scott Nonnenberg 814b9cf26a Only accept 'you left group' messages when group blocked 7 years ago
Scott Nonnenberg 9c399624cc Support for blocking groups on mobile, via group/blocked syncs 7 years ago
Scott Nonnenberg 8584a79352 Don't treat sends to a group with unregistered users as an error 7 years ago
sachaaaaa 9638639045 Bypass SMS verification 7 years ago
Scott Nonnenberg 9f920aa35b Re-enable orphaned attachment cleanup 7 years ago
Scott Nonnenberg fedfbed304 Copy quoted message contents into quote on receipt
Also:
  - visually distinguish any reference we couldn't verify on receipt
  - show toast on quote click if we can't scroll to message
  - toast visuals redesigned to match rest of app
7 years ago
Scott Nonnenberg 0eb2c958a5 Handle contact: don't exit early if timer is 'invalid' 7 years ago
Scott Nonnenberg 621883a0ce Disable drag and drop if it's not a file attachment 7 years ago
Scott Nonnenberg 7983300f4a Use base64 strings for incoming message cache instead of binary 7 years ago
Scott Nonnenberg 727925a266 Clean up old messages, better handle errors from sending 7 years ago
Scott Nonnenberg 44dec45995 Ensure that all messages in cache are migrated properly 7 years ago
Scott Nonnenberg 1d7987108b Show and log progress during the SQLCipher migration 7 years ago
Scott Nonnenberg 1e8f71f035 Make settings and debug log available during initial migrations 7 years ago
Scott Nonnenberg b1c6a5fe19 When updating message schema pre-SQLCipher, use legacy save 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 aa4339a69f Preserve migration state when deleting config due to failed login 7 years ago
Scott Nonnenberg 02675312c5 Introduce mandatary migration on startup, to minimum version 7 years ago
Scott Nonnenberg f39a96bc76 Move to centralized message/cache data layer
Also, ensure that conversation.messageCollection has nothing in it
unless it has an associated ConversationView.
7 years ago
Scott Nonnenberg 34231168a7 On message delete, ensure that all external files are deleted 7 years ago
Scott Nonnenberg 80dd25e995 Preload all icon images to reduce flickering when they are used 7 years ago
Scott Nonnenberg bffa910c64 Remove too-verbose logging on contact sync 7 years ago
Scott Nonnenberg 4b3f9e969a Ensure a theme is selected on initial load 7 years ago
Scott Nonnenberg 5933a34a18 Use window.log in browser context, turn on console eslint rule 7 years ago
Scott Nonnenberg f2a63c99ed Streamline code to clean logs based on version number 7 years ago
Scott Nonnenberg 12f1932d02
Workaround for linux w/tmp mounted as noexec; spellcheck fails (#2548) 7 years ago
Scott Nonnenberg c517e4193b New option: Disable spell check 7 years ago
Scott Nonnenberg d5d6cdb250 Automatically clean up old debug info, remove unneeded field 7 years ago
Scott Nonnenberg 0ac3517d51 On click of search result, show and focus conversation
Also: remove too-verbose logging on contact sync
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
Scott Nonnenberg fc5c52fbdf Remove iOS theme in favor of plain light/dark themes 7 years ago
Scott Nonnenberg f5852bb357 Be resilient to null thrown errors so we can surface to user 7 years ago
Scott Nonnenberg c54ba8d1fa Ensure that notifications and auto-hide window settings are saved 7 years ago
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
7 years ago
Scott Nonnenberg a40a39314a Disable notifications on new 'reconnect' event for laptop resume 7 years ago
Scott Nonnenberg 125c3fafa8
Idle detector: Fix bug preventing it from ever turning off (#2487) 7 years ago
Scott Nonnenberg 1c23c6a9d7 Remove window.config in favor of window.getXXX() accessors 7 years ago
Scott Nonnenberg 71d873ccfe Ensure message expire timer start times are never in the future 7 years ago
Scott Nonnenberg f3bd0cf903 Refactor api.js into web_api, which encapsulates all web access 7 years ago
Scott Nonnenberg 9400d1a538 eslintify background.js 7 years ago
Scott Nonnenberg b1a54c416f Notifications: All calls are debounced except for shutdown clear 7 years ago
Daniel Gasienica 3bf8a8966a Notification improvements
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
7 years ago
Scott Nonnenberg 37821e5a1b Wire up all contact behaviors, refactor Contact type/selector 7 years ago
Daniel Gasienica 1dd87ad197 Format all source code using Prettier 7 years ago
Daniel Gasienica 50a0048bf2 Skip attachment migration for new users 7 years ago
Daniel Gasienica 6671228028 🎨 Format using ESLint 7 years ago
Daniel Gasienica d5fdf50fae Remove unused reference 7 years ago
Daniel Gasienica 86e48a5713 Implement background migration using index 7 years ago
Scott Nonnenberg b0b1dc6be8
Apply iOS theme after link 7 years ago
Daniel Gasienica bcbd526b99 Sync read receipt configuration upon relink
Fixes https://github.com/signalapp/Signal-Android/issues/7535.
7 years ago
Daniel Gasienica 12cdeee7ec Rename `count` to `numMessagesPerBatch` 7 years ago
Daniel Gasienica 77b1f3c505 Replace startup with attachment background migration
Iterates through `Message::id` index.
7 years ago
Daniel Gasienica c853d1bccd Remove whole database migrations
We should enable this when we are willing to run attachment migration
on startup.
7 years ago
Daniel Gasienica 057762806e Add support for attachment background migration without index 7 years ago
Daniel Gasienica 442f5d7295 Use `done` to match JavaScript iterators
See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators
7 years ago
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.
7 years ago
Daniel Gasienica bfbeedab5c Temporarily disable post-attachment migration migrations 7 years ago
Daniel Gasienica a4ecf1a9d6 Define constant after creating idle detector 7 years ago
Daniel Gasienica a18e462817 Move migrations to `Signal.Migrations` 7 years ago
Daniel Gasienica efe3cd67fc Allow attachment migration run on higher database version 7 years ago
Daniel Gasienica 4ff8bc3357 Use `camelCase` for non-constructors 7 years ago
Daniel Gasienica eca930770c Remove hard-coded database connection settings 7 years ago
Daniel Gasienica 85490fbc98 Disable JSHint for `background.js`
It doesn’t recognize `async` and I couldn’t figure out how to ignore a top-level
`async` without cascading errors.
7 years ago
Daniel Gasienica d5d0eabdfd Remove usage of `storage` module 7 years ago
Daniel Gasienica b8a0bc3423 Run attachment to disk migration on startup 7 years ago
Daniel Gasienica 579b01283e Replace `wrapDeferred` with `deferredToPromise` 7 years ago
Daniel Gasienica da144edc56 Manually close database connection after migration 7 years ago
Daniel Gasienica fcd30cd919 Close database after migration
This is not 100% reliable as database connections are closed in a separate
thread according to the documentation:
- https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/close
- https://stackoverflow.com/a/18639298
- 80c7a06d5c/backbone-indexeddb.js (L558-L565)
7 years ago
Daniel Gasienica e2f1339ab9 Explicitly run post-attachment migrations 7 years ago
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.
7 years ago
Daniel Gasienica dede0f1e25 Improve user messaging during initialization
- We first show a localized loading message.
- If initialization takes longer than a certain threshold, we show a different
  ‘optimization’ message.
- If initialization is below the threshold the message change is canceled right
  before the regular loading screen.
7 years ago
Daniel Gasienica 9b112489cd Upgrade 2 messages every 30 seconds
This results in 4 messages per minute or 240 messages per hour.
7 years ago
Daniel Gasienica 7c2fde4433 Add `Signal.Workflow` namespace 7 years ago
Daniel Gasienica 5c9f18e1ae Wire up background message migration 7 years ago
Daniel Gasienica 4651cbc2eb Improve ``Message.upgradeSchema` preconditions 7 years ago
Daniel Gasienica d13668544d Rename `IdleListener` to `IdleDetector` 7 years ago
Daniel Gasienica 92ace67846 Start idle listener on startup 7 years ago
Daniel Gasienica 0c06fff47b Wire up `Message` / `Attachment` migration functions on startup
Makes `migrationContext` obsolete.
7 years ago
Daniel Gasienica e0428355be Wire up `writeAttachment` 7 years ago
Scott Nonnenberg a728c9efbf
Remove all mention of obsolete safety-number-approval setting 7 years ago
Scott Nonnenberg 3a151393c5
Move wrapDeferred from background.js to preload.js
It's necessary anywhere that will have to deal with Deferreds.
7 years ago
Scott Nonnenberg 9acb189650
Remove config after unlink, clear db when linked with new number 7 years ago
Daniel Gasienica 33bbb12626 Use `Errors.toLogFormat` in `backgrounds.js` 7 years ago
Daniel Gasienica f6fd979ccb Remove explicit ESLint `browser` directives 7 years ago
Daniel Gasienica 3df22026ab UX Improvements: Global Menu & Copy Changes (#2078)
- [x] Removed ‘Restart Signal’ global menu item
- [x] Change _Click to create contact…_ to _Start conversation…_
- [x] Move global menu (top-left kebab) into OS menu bar,
      i.e. **Settings** > **Preferences…**
- [x] Add tests for OS menu bar templates
- [x] Fix bug with **Window** menu on macOS when showing setup options
- [x] Use _Title Case_ for all OS menu bar menu items for consistency

commit dedf7c9af0de90980388559659df0d92a77b864c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:53:42 2018 -0500

    Use ‘Title Case’ to be consistent with OS menus

    References:
    - Apple:
        - https://developer.apple.com/macos/human-interface-guidelines/menus/menu-anatomy/#menu-and-menu-item-titles
        - https://developer.apple.com/library/content/documentation/FinalCutProX/Conceptual/FxPlugHIG/TextStyleGuidelines/TextStyleGuidelines.html#//apple_ref/doc/uid/TP40013782-CH6-SW1
    - https://titlecaseconverter.com/

commit 3286da29b334bd4526c587b17707c2f230cec8f5
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:36:50 2018 -0500

    Fix bug for macOS ‘Window’ menu with setup options

commit 236a23d1eafe2a16073394a27b9013298b682a25
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:27:46 2018 -0500

    Test menus with included setup options

commit c5d5f5abb8d7f52d6a4aa182a86c92f7ddceade0
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:10:27 2018 -0500

    Move settings (‘Preferences’) into OS-level menu

    This reduces our reliance on custom UI until we have more design resources.

commit 027803f8f4983cffa443f0beff1854dcf541689b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 16:02:56 2018 -0500

    Prepare tests for menu with/without included setup

commit 9e2f006924b85eb249a8a1261c1c4dd1a706afa6
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 15:55:46 2018 -0500

    Destructure `includeSetup`

commit 6b2a1eccdf724fd722e58415d2700da73942d9e8
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 15:55:14 2018 -0500

    🔤 `createTemplate` `options`

commit c2fecba34b153fed106f414ed3347d46299f6fe5
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:49:55 2018 -0500

    Test menu for Windows and Linux

commit 60281b1af9ad1f022cdbc40711ebd0b688a7355d
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:40:39 2018 -0500

    Add `yarn run test-app` command

commit 1a0489919c0a97b03fe88196260fef894fb3d9e4
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:40:29 2018 -0500

    Add test for `SignalMenu.createTemplate` on macOS

commit 9638b86c0f00f231e44562a5aa01626f0e5fdd8b
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 12:34:46 2018 -0500

    Make `createTemplate` pure

    Extracting `options.platform` makes it easier to test without having to
    stub `process.platform`.

commit 9c26404892d7c9a7bd0199a9e8367a165a3b365c
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:47:39 2018 -0500

    Extract `locale.load` `appLocale` & `logger` for testability

    This allows us to run this code in a non-Electron environment, e.g. Node.js
    Mocha test suite.

commit 710b22438df25c8d5e8431845a035c55ec8fc0b7
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:46:13 2018 -0500

    🔤 npm scripts

commit 9ae22937fbce078f91443023b560b3c0468c1380
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:45:30 2018 -0500

    Use 2-space indendation for `app` module tests

commit 22c26baf6159bd2e1f5a787c10e2260f09395329
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:22:55 2018 -0500

    Prefer named exports

commit 9c9526195266ac77ac2ca04135a1e675f617dfd2
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:22:46 2018 -0500

    🔤 Organize `require`s

commit 2f144d24d9e9a9ef72fe418996e3c911b304b00a
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Tue Feb 27 11:13:50 2018 -0500

    Remove existing global hamburger menu

    This will be replaced by a OS-level ‘Preferences’ menu.

commit f5adb374cb742e5f319ececda8ab6d8adee88d7e
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 18:40:54 2018 -0500

    Remove ‘Restart Signal’ menu from settings

    Apparently, this is a remnant from the Chrome web application.

commit d7a206bc8e67ef44022085e804ca040ed1b219f7
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 17:16:49 2018 -0500

    Clarify label for starting a new conversation

    When user a enters a number that is not a contact, we prompt them to start a new
    conversation.

commit 715a4064367fb61d85c1a4f9d48261b2ce002435
Author: Daniel Gasienica <daniel@gasienica.ch>
Date:   Mon Feb 26 16:46:26 2018 -0500

    Use ‘Enter name or number’ as prompt’

    This follows implementation of Android and recommendation from Alissa.
7 years ago
Daniel Gasienica caa579f3b8
Hotfix: Ignore iOS group expire timer sync resets (#2086)
Hotfix: Ignore invalid expire timer sync resets

iOS omits `expireTimer` protobuf property to denote disappearing messages have been turned off. However, that doesn’t allow us to distinguish it from old clients that are not aware of this property. This change ignores these invalid values until we consistently use `0` to denote disabled disappearing messages (as Android does).

- [x] Ignore non-numeric `expireTimer` values during contact sync. Long-term, we’ll use `0` to denote turning off expire timers.
- [x] Log what value `expireTimer` is set to.
- [x] Log changes to `expireTimer` in `handleDataMessage` until it uses `ConversationController::updateExpirationTimer`.
7 years ago