Commit Graph

3969 Commits

Author SHA1 Message Date
Scott Nonnenberg 9608b88eae Gruntfile: Remove build fetching, no longer used in build 2018-04-30 22:34:54 -07:00
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)
v1.10.0-beta.1
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:
      https://github.com/signalapp/Signal-Desktop/commit/80bc06486ee97ad681d9cafba59945440df9c333
- [x] Goodbye Vim modelines!
      https://github.com/signalapp/Signal-Desktop/commit/7b6e77d56671328a4315cbe39107ddef3a5eb8cb
- [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