Commit graph

219 commits

Author SHA1 Message Date
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
44dec45995 Ensure that all messages in cache are migrated properly 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
a01db40e27 Ensure that a SQL command timeout results in an error 2018-08-06 18:08:10 -07:00
Scott Nonnenberg
22613c8cc4 Set disappearing check timer reliably - on all message saves 2018-08-02 22:31:27 -07:00
Scott Nonnenberg
3961778e53 Fixes for Chrome app import in this new SQLCipher world 2018-08-02 17:32:51 -07:00
Scott Nonnenberg
1d7987108b Show and log progress during the SQLCipher migration 2018-08-02 17:25:51 -07:00
Scott Nonnenberg
b1c6a5fe19 When updating message schema pre-SQLCipher, use legacy save 2018-08-01 12:38:48 -07:00
Scott Nonnenberg
0d13d437fe Delete before forced bulk insert to fix broken migrations 2018-07-31 19:52:10 -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
02675312c5 Introduce mandatary migration on startup, to minimum version 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
573a26021b file_input_view: Use makeVideoThumbnail on attach of video 2018-07-21 14:52:43 -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
cea38b7bc4 Log clear error if we fail to retrieve debug log upload key 2018-07-19 11:07:36 -07:00
Scott Nonnenberg
2ef2235317 Show error if debug log upload fails 2018-07-19 10:21:53 -07:00
Scott Nonnenberg
4ca674edb2 Remove User-Agent from form to upload debug log 2018-07-19 09:15:57 -07:00
Scott Nonnenberg
b159a8d7c7 Update the user agent for debug log requests 2018-07-18 20:00:10 -07:00
Scott Nonnenberg
675e34fc8d New React component: ConversationListItem, installed in left pane
When collecting a conversation's last message, we grab that message's
status as well (if outgoing) and show it.
2018-07-17 20:25:55 -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
dc11db92f9 New React component: Message
Also: Use react to render contects on the 'show group members' screen
2018-07-17 15:53:33 -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
125c3fafa8
Idle detector: Fix bug preventing it from ever turning off (#2487) 2018-07-03 15:02:58 -07:00
Scott Nonnenberg
8eeaad8e18 Remove unused export/import functionality 2018-06-21 11:54:01 -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
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
e2d044e02b Filter file scheme; disable http, https and ftp entirely 2018-05-23 16:26:40 -07:00
Scott Nonnenberg
80b069e9b6 Move phone number format/parse into ts/types/PhoneNumber 2018-05-10 11:54:58 -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
d2293d9592 parseAndWriteAvatar: Do shallow copy before omit() call
Otherwise, we get all prototype props/functions, which we can't save in IndexedDB
2018-05-10 11:54:58 -07:00
Daniel Gasienica
3bf8a8966a Notification improvements
- Remove on read, on focus, and on exit.
- Show multi-message notifications like '5 new messages'.
2018-05-10 14:45:56 -04: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
Daniel Gasienica
101041f106 Derive Message.CURRENT_SCHEMA_VERSION 2018-05-08 16:41:06 -04:00
Scott Nonnenberg
26be658892 Remove 'Contact' from 'Contact.*' properties, clean->parse 2018-05-08 13:12:11 -07:00
Scott Nonnenberg
cda326ca45 Use protobuf enum values to eliminate magic numbers 2018-05-08 11:14:56 -07:00
Scott Nonnenberg
adbe989949 validateContact: Return error instead of logging 2018-05-08 10:31:16 -07:00
Scott Nonnenberg
d0efccd121 A couple renames in contact.js 2018-05-08 09:59:25 -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
37821e5a1b Wire up all contact behaviors, refactor Contact type/selector 2018-05-07 19:11:35 -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
a86056630f Use Attachment.isVoiceMessage 2018-05-07 21:53:39 -04: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
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
6eca5ee940 Document that JPEG auto-orient strips EXIF metadata 2018-04-30 19:05:10 -04:00
Daniel Gasienica
1dd87ad197 Format all source code using Prettier 2018-04-30 16:53:34 -04:00
Daniel Gasienica
e4baf27fa7 Increase migration conversion speed by a factor of 3x 2018-04-30 16:51:14 -04:00
Daniel Gasienica
d00fb560b0 Avoid exposing AttachmentTS 2018-04-27 16:31:43 -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