Ken Powers
11d47a8eb9
Sticker Creator
2019-12-17 12:28:46 -08:00
Scott Nonnenberg
e9f08c3da9
Bugfixes for v1.29
...
* If focus was set to document.body during archive, focus left pane
* Shortcut Guide: Add space between text and shortcut highlight
* Ensure that draft attachment can be closed with click on X button
* Move to keyDown event for user idle checking
* Additional resiliency around avatars; check for them on on-disk
* Increase timeouts to preserve websocket connection
* On startup, be resilient to malformed JSON in log files
* Don't crash if shell.openExternal returns an error
* Whenever we request a contact/group sync, also request block list
* Avatar popup: Ensure styling is mouse- and keyboard-appropriate
* MainHeader: Create popperRoot on demand, not on mount
* CompositionInput: Disable default Ctrl-/ shortcut
* Update libphonenumber
2019-12-03 15:02:50 -05: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
d9b96a415b
Eliminate unnecessary param in getTapToViewMessagesNeedingErase
2019-10-11 16:00:40 -07:00
Scott Nonnenberg
c81c25bb85
Update colors, icons, and fonts
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
0c09f9620f
Improve message download performance
2019-10-10 14:56:14 -07:00
Scott Nonnenberg
9db42bc4c6
sql_channel: Ensure we save reference to MultipleQueue to start
2019-09-24 13:43:08 -07:00
Scott Nonnenberg
2a7cfd9776
Startup: integrity_check in addition to cipher_integrity_check
2019-09-24 13:43:08 -07:00
Scott Nonnenberg
e39c6e5321
Don't search conversations if searching within conversation
2019-09-05 08:59:21 -07:00
Scott Nonnenberg
85e01ad037
SQL channel: Only serialize data access functions which need it
2019-09-03 16:10:32 -04:00
Scott Nonnenberg
edf66f7552
Migrate from schema_version to user_version
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
d3d2b0ec52
Use curve functions from native module
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
e29eee4583
Update Electron to 6.0.1, SQLCipher to 4.2.0
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
b6da081d05
Only log to console if we're on a TTY stdout interface
2019-08-21 14:55:12 -07:00
Scott Nonnenberg
c39d5a811a
Full-text search within conversation
2019-08-21 14:52:30 -07:00
Scott Nonnenberg
6292019d30
Virtualize search results - only render what's visible
2019-08-21 14:52:30 -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
d42eb2126e
Changes to View Once
2019-08-05 16:23:47 -07:00
Scott Nonnenberg
cb9ba0fe7f
Re-register support for sealed sender when a device is re-linked
2019-08-05 16:23:47 -07:00
Scott Nonnenberg
e62a1a7812
Receive support for View Once photos
2019-07-17 11:29:51 -07:00
Scott Nonnenberg
48691a2558
Clean up transaction handling in sql.js
2019-06-24 14:43:45 -04:00
Scott Nonnenberg
ca1e6c3ccd
To prevent crashes, catch thrown error from tray.setIcon
2019-06-10 17:41:05 -04:00
Scott Nonnenberg
67c4b0885d
Move emojis.shortName from STRING to TEXT to avoid coercion
2019-05-30 12:43:18 -07:00
Ken Powers
be5d0837f8
Support additional sticker states
...
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-29 11:01:32 -07:00
Ken Powers
0e9d549cf3
Fuzzy-Searchable Emoji Picker
2019-05-24 17:03:13 -07:00
Ken Powers
29de50c12a
Stickers
...
Co-authored-by: scott@signal.org
Co-authored-by: ken@signal.org
2019-05-16 16:10:37 -07:00
Botond Horvath
ffb0b5a27b
Hide from Dock on macOS when the tray icon is enabled and the window is closed
2019-05-06 12:46:26 -04:00
Scott Nonnenberg
6cf4f19317
Add a new env variable to the hardening list
2019-04-16 14:35:16 -07:00
Scott Nonnenberg
f92769db8c
Windows: Return real path, not lowercase path
2019-04-10 13:57:27 -07:00
Scott Nonnenberg
be86169a8a
Windows: Do our file filtration with case-insensitive checks
2019-04-10 12:37:41 -07:00
Jonathan Canfield
97b26778b3
Remap zoom to Command+= on macOS ( #3296 )
2019-04-08 10:17:35 -07:00
Scott Nonnenberg
c8ea2e9463
Download and install updates without the help of electron-updater
2019-04-05 17:18:37 -07:00
Scott Nonnenberg
6ef0eb7284
When closing database, be resilient to null db
2019-03-28 17:23:09 -07:00
Scott Nonnenberg
b3ac1373fa
Move left pane entirely to React
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
ca5132f712
Present 'database error' dialog in more situations
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
e4b0901620
If logs are malformed on startup, delete them all and start over
2019-03-12 17:44:14 -07:00
Scott Nonnenberg
6bcd434585
Prevent crash when tray icon no longer available (due to apt)
2019-02-20 16:51:30 -08:00
Scott Nonnenberg
5165eb3bd4
On database error: show popup, allow user to delete and relaunch
2019-02-20 16:51:30 -08:00
Scott Nonnenberg
3fb6ab295f
Debug log optimizations and improvements
2019-02-20 16:51:30 -08: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
462fa712bc
Show members: Pull conversation from group table
2019-02-11 18:32:05 -08:00
Scott Nonnenberg
0ec0ae9dac
Protect against unhandled promises when calling checkForUpdates
2019-02-08 11:54:22 -08:00
Scott Nonnenberg
813924685e
Link Previews
2019-01-29 13:53:14 -08:00
Scott Nonnenberg
92c2a0f996
Data infrastructure work
2019-01-14 17:40:31 -08:00
Scott Nonnenberg
e4babdaef0
Updates to backup infrastructure
2019-01-04 12:21:26 -08:00
Scott Nonnenberg
775e31c854
Lint fixes after recent PRs
2019-01-03 13:44:42 -08:00
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
2019-01-02 14:42:31 -08:00
Scott Nonnenberg
68af1ae1ea
Show dialog if application fails to start up properly
2018-11-26 15:26:22 -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
fb670ad6b9
Remove IndexedDB files after removing IndexedDB database
2018-11-01 17:00:24 -07:00
Scott Nonnenberg
9f647f00d8
A couple fixes for the data layer, legacy message upgrade/migrate
2018-11-01 17:00:24 -07:00
Scott Nonnenberg
f11dd18536
Be resilient to malformed ephemeral.json
2018-11-01 09:34: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
2cfbfe477a
Better handle large numbers of messages in cache on startup
2018-10-01 18:18:37 -07:00
Scott Nonnenberg
cd60bdd08a
Move conversations to SQLCipher
2018-10-01 18:18:37 -07:00
Scott Nonnenberg
48d937b66a
Follow symlinks on target file path as well as user/config paths
2018-09-20 15:30:26 -07:00
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.
2018-08-29 10:40:16 -07:00
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.
2018-08-16 17:01:32 -07:00
Scott Nonnenberg
9f920aa35b
Re-enable orphaned attachment cleanup
2018-08-15 17:45:24 -07:00
Scott Nonnenberg
a247ffe5cf
When iOS device has been linked, use iOS color scheme
2018-08-15 11:22:45 -07:00
Scott Nonnenberg
fba8e8d479
Add logging to help diagnose protocol handler false positives
2018-08-14 13:06:59 -07:00
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
2018-08-09 10:11:12 -07:00
Scott Nonnenberg
727925a266
Clean up old messages, better handle errors from sending
2018-08-07 18:29:33 -07:00
Scott Nonnenberg
6e193456f9
Eliminate orphaned external message files on startup
...
Attachments, visual attachment thumbnails, video attachment screenshots
Quote thumbnails
Contact avatars
2018-08-06 18:08:10 -07:00
Scott Nonnenberg
c56ea55e36
Fix duplicate message detection
2018-08-02 17:32:51 -07:00
Scott Nonnenberg
4d5894bf04
Ensure that all multi-statement sql functionss are serialized
2018-07-31 19:29:51 -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
5933a34a18
Use window.log in browser context, turn on console eslint rule
2018-07-21 14:52:43 -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
3a2582a087
Permissions: 'return callback(true)' instead of 'return true'
2018-07-12 14:52:34 -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
7c3325f55e
File protocol filter: log when non-absolute path is rejected
2018-05-31 13:25:45 -07:00
Scott Nonnenberg
beb65b14c0
Deny all permissions we don't actually need
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
53a471b2b1
Expand set of blocked URI schemes
2018-05-23 16:26:48 -07:00
Scott Nonnenberg
e2d044e02b
Filter file scheme; disable http, https and ftp entirely
2018-05-23 16:26:40 -07:00
Scott Nonnenberg
754d65ae2e
Let's make it all pretty, shall we?
...
We missed a couple directories with previous attempts to turn this on
globally: app/ and libtextsecure/
Not to mention files in places we didn't expect: ts files that weren't
in the ts directory!
This turns prettier on for every file we care about (js, ts, tsx, md)
everywhere in the project but for a few key parts.
2018-05-02 13:40:57 -07:00
Daniel Gasienica
f56dc09d01
Add getAbsoluteAttachmentPath
2018-04-27 16:31:43 -04:00
Daniel Gasienica
394d2f0bff
Fix type signature
2018-04-27 16:31:43 -04:00
Daniel Gasienica
24f4ad53bc
Use single quotes for identifiers
2018-04-11 15:54:32 -04:00
Daniel Gasienica
5a6668e677
Add Attachments.createWriteForExisting
...
This function lets us choose where to write attachment to instead of picking
random name.
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
36771a2dab
Prefer double quotes over backticks for identifiers
2018-04-04 18:41:50 -04:00
Daniel Gasienica
8474f3cf7f
Use create*
prefix to clarify curried functions
2018-04-03 15:25:24 -04:00
Daniel Gasienica
d9be6a0f94
Destructure Lodash require
s
2018-04-02 15:12:04 -04:00
Daniel Gasienica
add5d4ab0b
Prevent macOS Spotlight indexing of attachments folder
...
See: https://apple.stackexchange.com/a/92785
2018-03-26 16:38:34 -04:00
Daniel Gasienica
10afcf1bb0
Add Attachments.deleteData
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
6355c54114
Return relative path from writeAttachmentData
...
This will make our app more robust to changes in location on the file system.
2018-03-26 16:38:34 -04:00