Josh Perez
d82ce07942
Improve cold start performance
2021-03-19 16:57:35 -04:00
Scott Nonnenberg
c73e35b1b6
Support for translating Desktop sessions to libsignal-client sessions
2021-03-19 16:57:35 -04:00
Scott Nonnenberg
c9ffb7c014
Move SecretSessionCipher to TypeScript
2021-03-19 16:57:35 -04:00
Scott Nonnenberg
7e629edd21
Move SignalProtocolStore to TypeScript
2021-03-19 16:53:52 -04:00
Fedor Indutny
1934120e46
Disable Dev Tools in production releases
...
`--enable-dev-tools` will bring it back.
2021-03-19 16:53:51 -04:00
Scott Nonnenberg
98e7e65d25
Automatic session reset
2021-03-19 16:53:51 -04:00
Fedor Indutny
7c0f5a356e
Add curly: 'error'
to eslintrc and fix linting
2021-03-19 16:44:40 -04:00
Evan Hahn
bc37b5c907
Add an assertion when updating conversations; update cleanData
2021-02-04 11:54:03 -08:00
Evan Hahn
ddebbf8121
Hide title bar on macOS
2021-02-01 12:01:25 -08:00
Evan Hahn
a8787e7c9e
Convert logging infrastructure to TypeScript
2021-01-27 13:13:33 -08:00
Evan Hahn
8ccf402497
Use consistent User-Agent when uploading debug logs
2021-01-25 18:28:59 -08:00
Scott Nonnenberg
cbc6c29479
Finish in-redux conversation lookups, getPropsForSearchResult moved
2021-01-25 18:28:58 -08:00
Josh Perez
2529e208c1
Move confirmation_dialog_view to ts and React
...
* Moves confirmation_dialog_view to ts and React
* showConfirmationDialog API
2021-01-25 18:28:58 -08:00
Scott Nonnenberg
be9721c72d
Don't change left pane preview or order when someone leaves group
2021-01-20 11:31:44 -06:00
Scott Nonnenberg
9f81b4157b
Also use sent_at whenever we query database with received_at
2021-01-19 17:35:11 -08:00
Scott Nonnenberg
8116a8561d
Show progress dialog during delete
2021-01-12 18:42:15 -06:00
Scott Nonnenberg
5369950c1d
Don't promote archived sessions, more logging on error
2020-12-09 14:05:11 -08:00
Scott Nonnenberg
2c69f2c367
Support for GV1 -> GV2 migration
2020-11-23 14:48:12 -05:00
Evan Hahn
022c4bd0f4
Initial group calling support
2020-11-23 14:45:44 -05:00
Brandon Outlaw
2013378136
MacOS – Add shortcut for Window -> Show ( #4632 )
2020-11-10 16:30:56 -08:00
Evan Hahn
618c0fce1e
test-electron: wait to run tests until protos are ready
2020-11-04 13:03:14 -06:00
Evan Hahn
8bfaf598af
Add license headers across the project
2020-11-04 13:03:13 -06:00
Evan Hahn
cb9a7f79d1
Rewrite Message model tests in TypeScript
2020-11-04 13:00:41 -06:00
hashes4merkle
b8dbd5970d
Fixing spelling errors ( #4615 )
2020-11-02 16:46:49 -08:00
Scott Nonnenberg
8eea20ea91
Reliability fixes for conversation formatting and message send
2020-10-28 14:54:33 -07:00
jimio-signal
1c057323ba
Point to support flow instead of github
2020-10-26 15:48:44 -07:00
Evan Hahn
c4de9436f3
Fix error thrown on message retry
2020-10-22 10:32:23 -07:00
Josh Perez
df2fa3c7b1
updateLastMessage: Use MessageController for latest data
2020-10-20 16:26:58 -07:00
Evan Hahn
f21dad1519
Mark long hrefs or those with invalid characters as sneaky
2020-10-12 18:10:08 -04:00
Evan Hahn
693deaebe8
Remove IP addresses from "sneaky" link detection
2020-10-12 18:10:08 -04:00
Evan Hahn
313faab774
Outbound link previews
2020-10-12 18:10:08 -04:00
Chris Svenningsen
b5df9b4067
Migrate messages, conversations, conversation_view, background to TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-10-12 18:10:07 -04:00
Evan Hahn
a04f9a0e51
Add tests: localhost
is a "sneaky link"
2020-09-09 17:34:57 -07:00
Scott Nonnenberg
7a02cc815d
Support for new GroupV2 groups
2020-09-09 17:34:57 -07:00
Chris Svenningsen
8a2c17f65f
Apply new ESLint rules to legacy code
2020-09-09 17:34:57 -07:00
Evan Hahn
91a591c6ca
Show group names in notifications, and only show the latest
2020-09-09 17:34:57 -07:00
Evan Hahn
496a90efbb
More descriptive notification/left pane text
2020-09-09 17:34:57 -07:00
Chris Svenningsen
5b1536cc02
Initial move towards new ESLint config supporting TS
...
Co-authored-by: Sidney Keese <sidney@carbonfive.com>
2020-09-01 17:11:16 -04:00
Evan Hahn
2e1e6e847a
Widen the set of link previews which can be received
2020-09-01 17:10:18 -04:00
Evan Hahn
f8fc23a7a3
Improve nested path detection across app
2020-08-28 15:42:25 -04:00
Evan Hahn
aaed0db2e5
Verify sticker data in getDataFromLink
2020-08-28 15:42:25 -04:00
Evan Hahn
45d829e439
Improved link verification logic.
2020-08-28 15:42:24 -04:00
Evan Hahn
3b05e9ad8f
Add test for Stickers.redactPackId
2020-08-28 15:42:24 -04:00
Scott Nonnenberg
d75eee015f
Show notifications when a user's profile name changes
2020-07-30 13:27:44 -07:00
Scott Nonnenberg
901179440f
Merge contacts when we discover split or duplicated contacts
2020-07-30 13:17:45 -07:00
Josh Perez
68e432188b
Add unknown fields support to Protobuf.js
2020-07-30 13:10:05 -07:00
Josh Perez
5b83485c89
Update safety number change warning dialog
2020-07-30 13:10:05 -07:00
Peter Thatcher
d3a27a6442
Calling support
2020-07-30 13:08:47 -07:00
Ken Powers
83574eb067
Message Requests
2020-07-30 13:08:44 -07:00
Scott Nonnenberg
2529c7f9e3
Ensure that 'Join the Beta' menu item shows in production
2020-07-27 14:39:19 -07:00
Scott Nonnenberg
a8789919e8
Github -> GitHub
2020-06-24 17:26:37 -07:00
Ken Powers
b842b69660
Help Menu changes
2020-06-23 17:30:33 -07:00
Scott Nonnenberg
55f4cd591c
Improve safety number logic in group conversations
2020-06-10 14:39:45 -07:00
Ken Powers
980862768b
Linkify URLs containing @
2020-04-29 17:42:41 -07:00
Ehren Kret
a0e9791623
Add support for receiving attachments from CDN 2
2020-04-29 17:42:41 -07:00
Scott Nonnenberg
6b094e1514
Refactor: Move data-access code to Typescript w/ shared interface
2020-04-15 14:45:11 -07:00
Scott Nonnenberg
71436d18e2
Include sender in group update notifications
2020-04-15 14:44:46 -07:00
Ken Powers
14b11041ea
Spellcheck: Fallback to all xx-YY locales when xx isn't available
2020-04-15 13:44:46 -07:00
Ken Powers
4a8f5db0a4
Use Electron Spellchecker
2020-03-24 17:03:22 -07:00
Ken Powers
37ad95af27
Passive UUID fixes
2020-03-24 17:03:22 -07:00
Scott Nonnenberg
8d6cba1b43
Eliminate remaining Electron 8 deprecations
...
* Change systemPreferences.isDarkMode() to nativeTheme.shouldUseDarkColors
* Remove vibrancy parameter to BrowserWindow
* Update curve25519-n; removes context-aware deprecation warning
* Set app.allowRendererProcessReuse = true to remove warning
* Move from deprecated setters to direct property set
* Serialized sender certificates: Store less, store plain object
* isMenuBarAutoHide -> autoHideMenuBar
* UUID: Fix sealed sender indicator on message details screen
* Data._cleanData: Remove function keys, handle null in array
Also:
- run _cleanData when saving attachment download jobs
- remove job from jobs table when the send itself throws error
* _cleanData: Don't dig into strings, booleans, or numbers
* getPropsForMessageDetail: Make it clear what we're reducing
Co-authored-by: Ken Powers <ken@signal.org>
2020-03-24 17:03:01 -07:00
Josh Perez
12457d47a3
Move to new logo and primary blue color
2020-03-24 17:01:51 -07:00
Ken Powers
a90246cbe5
Passive UUID support
...
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-03-24 16:59:35 -07:00
Scott Nonnenberg
a840e2e5b1
Remove legacy import flow
2020-03-04 17:12:56 -08:00
Scott Nonnenberg
1726e1b77a
Fix windows fast-glob usage in lint-deps test task
...
* Introduce normalize-path wherever we use fastGlob
* CI: Update yarn version; install yarn via npm on windows
* Add more logging to Grunt file spectron usage
* Lock core.js to what it was resolving to before: 2.4.1
* test/index.html: Remove nonexistent test file
* test/index.html: Remove missing registration.js
* preload.js: Introduce client-side logging for load failures
* Gruntfile: Introduce better debuggability if prod test fails
* Reintroduce glob for searches inside asar
2020-02-26 17:53:39 -08:00
Ken Powers
8d9ccd3c0a
Ensure proper file permissions on startup
...
Co-authored-by: Scott Nonnenberg <scott@signal.org>
2020-02-21 15:40:04 -08:00
Ken Powers
f0028a5cfe
Don't linkify invalid URLs
2020-02-19 15:22:37 -08:00
Josh Perez
afddc852cc
Add interpolation for fallback dialog messages
2020-02-13 10:14:08 -08:00
Josh Perez
18fd44f504
Move all status/alert dialogs into the Left Pane
2020-02-12 13:30:58 -08:00
Scott Nonnenberg
f5be32ba14
Simplify linkification filter - check for ASCII/non-ASCII only
2019-12-18 14:45:11 -05:00
Ken Powers
11d47a8eb9
Sticker Creator
2019-12-17 12:28:46 -08:00
Scott Nonnenberg
0876bf7ae7
Visual bug fixes for v1.29
2019-11-21 10:17:55 -08:00
Scott Nonnenberg
8194b2446b
Move to CTRL+= for windows, remove the need for the shift
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
927a0677f1
Zoom In: Remove custom accelerator for windows/linux
2019-11-15 14:34:24 -08:00
Scott Nonnenberg
20a892247f
Keyboard shortcuts and accessibility
2019-11-13 16:53:42 -08:00
Scott Nonnenberg
0c09f9620f
Improve message download performance
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
8ccb89310b
New Idle timer; messages not marked read if user is idle
2019-09-24 13:43:08 -07:00
Scott Nonnenberg
b19659f5ac
Address beta feedback
...
* Use signal blue for search box focus outline
* Reduce debounce for draft saves
* Be less aggressive in our scrolling corrections
* Lightbox: Ensure that a tall image is still fully visible
* Fix spell checking after Electron API breaking changes
* Fix link preview image generation
* Message highlight: Move to border in signal blue
2019-08-22 17:11:36 -04:00
Scott Nonnenberg
d3d2b0ec52
Use curve functions from native module
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
9d4f2afa5a
Persist drafts
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
5ebd8bc690
Virtualize Messages List - only render what's visible
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
e62a1a7812
Receive support for View Once photos
2019-07-17 11:29:51 -07:00
Michael Walker
4a8e0bd466
Add pinterest domain and asset domains for link preview support
...
Co-authored-by: ken@signal.org
Co-authored-by: @cmswalker
2019-05-16 15:43:29 -07:00
Scott Nonnenberg
c41bc53614
Refactor messages model; New timeline react components
2019-05-16 15:23:21 -07:00
Jonathan Canfield
97b26778b3
Remap zoom to Command+= on macOS ( #3296 )
2019-04-08 10:17:35 -07:00
Scott Nonnenberg
74cb808763
New MessageController as the single place for in-memory messages
2019-04-04 17:17:19 -07:00
Scott Nonnenberg
8c4d90df07
Send long text as an attachment instead of inline
...
Remove Android length warning
Handle incoming long message attachments
Show long download pending status in message bubble
Fix the width of the smallest spinner
Remove Android length warning from HTML templates
2019-03-14 17:30:46 -07:00
Scott Nonnenberg
b3ac1373fa
Move left pane entirely to React
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ae161c6cf6
Update to Electron 4.x
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ae2db9f09a
Improve handling for URLs composed of mixed character sets
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
5b54c9554e
Remove groups table, conversation is single source of truth
2019-02-13 16:04:58 -08:00
Scott Nonnenberg
041fe4be05
Remove JSON column and Backbone Model for unprocessed
2019-02-13 16:04:58 -08:00
Scott Nonnenberg
9c540ab977
Add cache support to Signal Protocol Store
2019-02-13 16:04:58 -08:00
Scott Nonnenberg
1d2c3ae23c
Download attachments in separate queue from message processing
2019-02-12 16:34:21 -08:00
Scott Nonnenberg
858c7e629f
Fine-tune linkification technique for link previews
2019-02-11 18:32:05 -08:00
Scott Nonnenberg
813924685e
Link Previews
2019-01-29 13:53:14 -08:00
Scott Nonnenberg
e4babdaef0
Updates to backup infrastructure
2019-01-04 12:21:26 -08:00
Scott Nonnenberg
47f834cf5c
Encrypt device name on account create, on first launch if needed
2019-01-04 12:21:26 -08:00
Scott Nonnenberg
313d08344a
Request configuration sync on startup of new version
2018-11-28 12:35:26 -08:00
Scott Nonnenberg
70eed938d9
Store arrayBuffers in database for remote identity keys
2018-11-26 16:22:49 -08:00
Scott Nonnenberg
11fdf22881
Change sessions.id to a TEXT field to prevent type coercion
2018-11-26 15:22:55 -08:00
Scott Nonnenberg
e828253ef0
Restor full function syntax to custom Mocha reporter
2018-11-07 16:53:41 -08:00
Scott Nonnenberg
dbf0be2db5
eslintify all test files
2018-11-07 16:34:38 -08:00
Scott Nonnenberg
884bc9333d
Make timestamp test a bit more forgiving
2018-11-07 16:34:20 -08:00
Scott Nonnenberg
0297279084
Eliminate some conversation fields which are no longer used
2018-11-01 17:00:24 -07:00
Scott Nonnenberg
1755e0adfd
Move all remaining stores to SQLCipher
2018-10-31 17:36:51 -07:00
Scott Nonnenberg
a7d78c0e9b
Sealed Sender support
...
https://signal.org/blog/sealed-sender/
2018-10-29 14:49:18 -07:00
Scott Nonnenberg
ca61c9cb85
Warnings for dangerous files
2018-10-09 13:48:32 -07:00
Scott Nonnenberg
cd60bdd08a
Move conversations to SQLCipher
2018-10-01 18:18:37 -07:00
Scott Nonnenberg
7983300f4a
Use base64 strings for incoming message cache instead of binary
2018-08-10 13:13:25 -07:00
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
2018-07-31 17:08:45 -07:00
Scott Nonnenberg
61f7b8360b
Conversation: store lastMessage/lastMessageStatus in memory only
2018-07-27 10:55:10 -07:00
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.
2018-07-27 10:55:10 -07:00
Scott Nonnenberg
34231168a7
On message delete, ensure that all external files are deleted
2018-07-27 09:15:57 -07: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
b159a8d7c7
Update the user agent for debug log requests
2018-07-18 20:00:10 -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
43a44793c5
Remove jshint - move everything over to eslint
...
Also removed all hints of previous linters
2018-07-17 15:54:32 -07:00
Scott Nonnenberg
fc5c52fbdf
Remove iOS theme in favor of plain light/dark themes
2018-07-17 15:45:40 -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
4415293100
Make all OS menus localizable
...
Turns out that Electron is not localizing the 'role' elements like we
expected would happen.
2018-07-03 16:04:21 -07:00
Scott Nonnenberg
8eeaad8e18
Remove unused export/import functionality
2018-06-21 11:54:01 -07:00
Scott Nonnenberg
068cce61e6
Fix path-oriented unit test on Windows
2018-05-31 14:09:41 -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
eec61f5289
Fine-tune file protocol filter
2018-05-31 13:25:45 -07:00
Scott Nonnenberg
06b0544bbe
Hardening: normalize on-disk attachment paths before save/load
2018-05-31 13:25:45 -07:00
Scott Nonnenberg
cfe0bd0e79
Move to npm for several dependencies
...
mustache
jQuery
underscore
backbone
mocha
chai
intl-tel-input
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
01be58acc2
Remove formatting in importError localization string
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
548c8e69cf
Emojification now all done with react via a few new components
...
Three locations were changed:
1. a group update, which lists a set of contacts
2. the contact name in the left pane
3. the conversation title
Three new components were added to window.Signal.Components to support
these scenarios, respectively:
1. Emojify
2. ContactName
3. ConversationTitle
Note that there are a number of other places in the app that should be
emojified, but never have been before. Essentially any place that a
contact name might be shown. A non-exhaustive list:
- Show group members
- Show safety number
- Verified change notification
- Disappearing timer change notification
- Contact verification notification
- Quote contact name
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
a5416e42c4
Refactor all emoji utility methods into window.Signal.Emoji
2018-05-23 16:26:47 -07:00
Scott Nonnenberg
e2d044e02b
Filter file scheme; disable http, https and ftp entirely
2018-05-23 16:26:40 -07:00
Scott Nonnenberg
4e5c8965ff
Move to react for newlines, emoji, and links in message body
2018-05-14 16:09:37 -07:00
Scott Nonnenberg
aa13a2c6f7
Parse phone numbers into e164 as part of schema upgrade
2018-05-10 11:54:58 -07:00
Daniel Gasienica
16bc1d34c6
Message schema 6: Change classification of media and documents
...
For an easier implementation, we change our original definition of
`initializeAttachmentMetadata`. This means we have to re-run it marked as
version 6 and mark schema version 5 as deprecated as its definition has changed.
2018-05-08 16:41:07 -04:00
Scott Nonnenberg
26be658892
Remove 'Contact' from 'Contact.*' properties, clean->parse
2018-05-08 13:12:11 -07:00
Scott Nonnenberg
adbe989949
validateContact: Return error instead of logging
2018-05-08 10:31:16 -07:00
Scott Nonnenberg
420f81ebcd
Move contact migrate code from message.js to contact.js
2018-05-08 09:48:47 -07:00
Scott Nonnenberg
41be7f126b
Visuals for embedded contacts as well as contact detail screen
2018-05-07 19:09:55 -07:00
Scott Nonnenberg
3ea3e4e256
Contact sharing: protos and data pipeline
...
As of this commit: 82b76ccf37
2018-05-07 19:09:55 -07:00
Daniel Gasienica
5c8f734e67
Remove newlines from group IDs
2018-05-03 13:24:39 -04:00
Daniel Gasienica
a102016ed8
Port Settings
and OS
to TypeScript
2018-05-02 20:01:57 -04:00
Daniel Gasienica
95321e5d3e
Remove Vim mode lines
2018-04-30 16:53:34 -04:00
Daniel Gasienica
1dd87ad197
Format all source code using Prettier
2018-04-30 16:53:34 -04:00
Daniel Gasienica
41fe50553f
Replace Backbone saveFile
with Attachment.save
2018-04-27 16:31:42 -04:00
Daniel Gasienica
9a76d4bcf8
Whitelist assert
global for tests
2018-04-27 16:31:42 -04:00
Daniel Gasienica
19411a78c8
Remove dead code
2018-04-25 15:25:12 -04:00
Daniel Gasienica
52e4e5aece
Omit undefined keys when comparing IndexedDB data
2018-04-25 15:25:12 -04:00
Daniel Gasienica
f36f206a01
Use IndexablePresence
for hasFileAttachments
and hasVisualMediaAttachments
...
Reduces index size, makes it easier to debug using IndexedDB inspector, and
hopefully improves lookup performance.
2018-04-25 15:25:12 -04:00
Daniel Gasienica
3a33d862c0
Update backup test fixture
2018-04-25 15:25:12 -04:00
Daniel Gasienica
8b9516de72
Update test for attachment metadata
2018-04-25 15:24:52 -04:00