Commit graph

4318 commits

Author SHA1 Message Date
Scott Nonnenberg
fc80a4b350 Stop uploading linux build assets; no longer used in build 2018-04-30 22:34:27 -07:00
Scott Nonnenberg
af94c67e42 v1.10.0-beta.1
Media Gallery showing all attachments in a given conversation (#2291, previous: #2236)

Quotes:
  - Show 'You' in Android theme instead of your own contact name (#2312)
  - Show thumbnails for quotes of messages with video attachments (#2293)

Video attachments: show first frame preview in composition area (#2293)

Increase speed of migration to move attachments to disk from database (#2314)

Dev:
  - Add comments clarifying our mechanisms for stripping EXIF info (#2313)
  - Move to prettierjs to format our code (#2303)
  - Fix break in styleguide; make filesize/Signal.Util.GoogleChrome available (#2302)
  - Remove duplicate entry from .gitignore (#2271)
2018-04-30 17:06:44 -07:00
Daniel Gasienica
3d147a3e21
Strip Image Metadata (#2313) 2018-04-30 19:06:26 -04:00
Daniel Gasienica
6eca5ee940 Document that JPEG auto-orient strips EXIF metadata 2018-04-30 19:05:10 -04:00
Daniel Gasienica
774ef94f5d
Prettier (All The Things) (#2303)
Adopt Prettier code formatting for our entire project to reduce overhead of
formatting code. I considered adding a pre-commit hook but to make the change
more gradual, I recommend installing an editor plugin that runs Prettier on
save, e.g. `JsPrettier` for *Sublime Text*, or manually run `yarn format`.

Also: This PR makes no other changes to linting. ESLint is still opt-in as it
requires more changes than just formatting an can be done on a as-needed basis
when touching particular files (as we have done in the past.) On the other hand,
the ESLint required changes will now be smaller as they won’t involve large
formatting changes.

## Sublime Text Plugin

-  Install **JsPrettier**:  https://github.com/jonlabelle/SublimeJsPrettier
-   Settings:
      ```
      {
        "prettier_cli_path": "./node_modules/.bin/prettier",
        "auto_format_on_save": true,
        "auto_format_on_save_requires_prettier_config": true,
      }
      ```

## Changes

- [x] Disable conflicting ESLint rules
- [x] Exclude generated files and `libtextsecure`
- [x] Autoformat all JS and TS code (excluding CSS and JSON)
- [x] Apply isolated manual one-time fixes:
      80bc06486e
- [x] Goodbye Vim modelines!
      7b6e77d566
- [x] Ensure automated tests pass
- [x] Ensure app still works (smoke test)
2018-04-30 18:57:15 -04:00
Daniel Gasienica
522bd57ec3 Run yarn lint-windows without Prettier for AppVeyor
We need to figure out how to run globs on Windows.
2018-04-30 18:13:30 -04:00
Daniel Gasienica
1d867d784d Decouple yarn format from yarn format-check
Checking if that fixes Windows CI issue.
2018-04-30 17:33:58 -04:00
Daniel Gasienica
c1445f1abe Remove comment about 90 character line length limit 2018-04-30 17:07:25 -04:00
Daniel Gasienica
428984c8e2 Include Prettier as part of yarn lint 2018-04-30 16:53:34 -04:00
Daniel Gasienica
97dfffd2b0 Add .prettierrc.js 2018-04-30 16:53:34 -04:00
Daniel Gasienica
7fff279aae Prettier: Ignore JSON and CSS 2018-04-30 16:53:34 -04:00
Daniel Gasienica
87d374ea78 Remove @prettier pragmas 2018-04-30 16:53:34 -04:00
Daniel Gasienica
95321e5d3e Remove Vim mode lines 2018-04-30 16:53:34 -04:00
Daniel Gasienica
822850433e Apply manual fixes for ESLint errors 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
b4dee3f30b Prettier: Ignore generated files 2018-04-30 16:52:43 -04:00
Daniel Gasienica
aa7665e497 Run Prettier on all source files 2018-04-30 16:52:43 -04:00
Daniel Gasienica
3796c276ba Organize ignored files 2018-04-30 16:52:43 -04:00
Daniel Gasienica
f770a2ce43 ESLint: Ignore generated files 2018-04-30 16:52:43 -04:00
Daniel Gasienica
94d10147a0 Adjust ESLint rules for Prettier 2018-04-30 16:52:43 -04:00
Daniel Gasienica
39ddfd141e Override ESLint rules not applicable to Prettier 2018-04-30 16:52:43 -04:00
Daniel Gasienica
1bf3ab630c Add eslint-config-prettier 2018-04-30 16:52:43 -04:00
Daniel Gasienica
aee84f0783
Increase attachment migration conversion speed (#2314) 2018-04-30 16:51:39 -04:00
Daniel Gasienica
e4baf27fa7 Increase migration conversion speed by a factor of 3x 2018-04-30 16:51:14 -04:00
Scott Nonnenberg
82e2fe93a5
Show 'You' in Android theme quotes instead of contact name (#2312)
Show 'You' in Android theme quotes instead of contact name
2018-04-30 13:49:19 -07:00
Daniel Gasienica
2e6f19da8f
Media Gallery: Phase 2 (MVP) (#2291)
- [x] Render list of document items
- [x] Add support for video in lightbox
- [x] Save attachments:
  - [x] Port the following `AttachmentView` methods to support attachment file
        saving in React:
    - [x] `getFileType`
    - [x] `suggestedName`
    - [x] `saveFile`
  - [x] Add click to save for document list entries
  - [x] Add save button for media attachment in lightbox
- [x] Run background migration based on `schemaIndex` to populate media gallery
- [x] Implement navigation in media gallery
  - [x] Previous and next buttons
  - [x] Previous and next via keyboard
- [x] Empty state
- [x] Fix layout issue in iOS theme
- [x] Don’t run attachment migration for new users
- [x] Preprocess media before rendering in React
2018-04-30 15:59:13 -04:00
Scott Nonnenberg
c5935eef5d Show 'You' in Android theme quotes instead of contact name 2018-04-30 12:33:16 -07:00
Daniel Gasienica
50a0048bf2 Skip attachment migration for new users 2018-04-30 13:59:43 -04:00
Daniel Gasienica
6671228028 🎨 Format using ESLint 2018-04-30 13:59:43 -04:00
Daniel Gasienica
d5fdf50fae Remove unused reference 2018-04-30 13:52:00 -04:00
Daniel Gasienica
fccbf70d57 Pre-process media for LightboxGallery 2018-04-30 11:59:26 -04:00
Daniel Gasienica
110b58230b Only revoke object URLs we created 2018-04-30 11:01:57 -04:00
Daniel Gasienica
c6599d2e14 Add another permutation of EmptyState 2018-04-30 11:01:00 -04:00
Daniel Gasienica
b8d20052e1 Remove unnecessary AttachmentTS reference 2018-04-30 11:00:38 -04:00
Daniel Gasienica
55569adfb0 Fix media gallery layout in iOS theme 2018-04-27 16:31:43 -04:00
Daniel Gasienica
d00fb560b0 Avoid exposing AttachmentTS 2018-04-27 16:31:43 -04:00
Daniel Gasienica
86e48a5713 Implement background migration using index 2018-04-27 16:31:43 -04:00
Daniel Gasienica
9ca6fd6498 Center lightbox navigation controls 2018-04-27 16:31:43 -04:00
Daniel Gasienica
fa45656e8e Wire up media gallery empty state 2018-04-27 16:31:43 -04:00
Daniel Gasienica
4d01264c09 Fix layout of media gallery 2018-04-27 16:31:43 -04:00
Daniel Gasienica
b284e7c682 Remove unnecessary newline 2018-04-27 16:31:43 -04:00
Daniel Gasienica
78f15b654d Add EmptyState component 2018-04-27 16:31:43 -04:00
Daniel Gasienica
ea49f7a3b6 Implement keyboard navigation for Lightbox 2018-04-27 16:31:43 -04:00
Daniel Gasienica
e1b620602d Display attachments from disk 2018-04-27 16:31:43 -04:00
Daniel Gasienica
407c77395b Add explicit boolean 2018-04-27 16:31:43 -04:00
Daniel Gasienica
f56dc09d01 Add getAbsoluteAttachmentPath 2018-04-27 16:31:43 -04:00
Daniel Gasienica
e2a2165d9c Remove lightbox on unload 2018-04-27 16:31:43 -04:00
Daniel Gasienica
9451dc5e41 Define AttachmentSchemaVersion3 2018-04-27 16:31:43 -04:00
Daniel Gasienica
21db2e7182 Use saveURLAsFile 2018-04-27 16:31:43 -04:00
Daniel Gasienica
394d2f0bff Fix type signature 2018-04-27 16:31:43 -04:00