Daniel Gasienica
07e9114e65
Document incoming and outgoing attachments fields
...
Note how outgoing message attachments only have 4 fields. This presumably means
the others are not used in our code and could be discarded for simplicity.
2018-02-15 15:16:58 -05:00
Daniel Gasienica
e56101e229
Replace custom with blob-util functions
...
IMPORTANT: All of them are async so we need to use `await`, otherwise we get
strange or silent errors.
2018-02-15 15:16:58 -05:00
Daniel Gasienica
f95150f6a9
Revert "Replace custom functions with blob-util"
...
This reverts commit 8a81e9c01bfe80c0e1bf76737092206c06949512.
2018-02-15 15:16:58 -05:00
Daniel Gasienica
33860d93f3
Revert "Replace blueimp-canvas-to-blob with blob-util"
...
This reverts commit 31b3e853e4afc78fe80995921aa4152d9f6e4783.
2018-02-15 15:16:58 -05:00
Daniel Gasienica
7a0ba6fed6
Replace blueimp-canvas-to-blob with blob-util
2018-02-15 15:16:58 -05:00
Daniel Gasienica
47a5f2bfd8
Replace custom functions with blob-util
2018-02-15 15:16:58 -05:00
Daniel Gasienica
9ac26be1bd
Document why we drop original image data during auto-orient
2018-02-15 15:16:58 -05:00
Daniel Gasienica
4136d6c382
Extract DEFAULT_JPEG_QUALITY
2018-02-15 15:16:58 -05:00
Daniel Gasienica
4a7156327e
Drop support for invalid image/jpg MIME type
2018-02-15 15:15:00 -05:00
Daniel Gasienica
e0cc3d8fab
Implement attachment process version
...
Instead of keeping track of last normalization (processing) date, we now keep track of
an internal processing version that will help us understand what kind of processing has
already been completed for a given attachment. This will let us retroactively upgrade
existing attachments.
As we add more processing steps, we can build a processing pipeline that can convert any
attachment processing version into a higher one, e.g. 4 -> 5 -> 6 -> 7.
2018-02-15 15:15:00 -05:00
Daniel Gasienica
ebcb70258a
Whitelist browser environment for ESLint
2018-02-15 15:14:59 -05:00
Daniel Gasienica
3eaace6f3a
Use MIME module
2018-02-15 15:14:59 -05:00
Daniel Gasienica
ba2cf7770e
🎨 Fix lint errors
2018-02-15 15:14:59 -05:00
Daniel Gasienica
65acc86e85
Add ES2015+ files to JSHint ignored list
2018-02-15 15:14:59 -05:00
Daniel Gasienica
213400e4b2
Add MIME type module
2018-02-15 15:14:59 -05:00
Daniel Gasienica
37a726e4fb
Return proper Error from blobArrayToBuffer
2018-02-15 15:14:59 -05:00
Daniel Gasienica
164752db56
🎨 Fix ESLint errors
2018-02-15 15:14:59 -05:00
Daniel Gasienica
d498dd79a0
Update Attachment type field definitions
2018-02-15 15:14:59 -05:00
Daniel Gasienica
141155a153
Move blueimp-canvas-to-blob from Bower to npm
2018-02-15 15:14:59 -05:00
Daniel Gasienica
032c0ced46
Return Error object for autoOrientImage failures
2018-02-15 15:14:59 -05:00
Daniel Gasienica
ff04bad851
Add options for autoOrientImage output type / quality
2018-02-15 15:14:59 -05:00
Daniel Gasienica
87745b5586
Add Attachment type
...
Defines various functions on attachments, e.g. normalization (auto-orient JPEGs, etc.)
2018-02-15 15:14:59 -05:00
Daniel Gasienica
b5ba96f1e6
Use snake_case for module names
...
Prevents problems across case-sensitive and case-insensitive file systems.
We can work around this in the future using a lint rule such as
`eslint-plugin-require-path-exists`.
See discussion:
https://github.com/signalapp/Signal-Desktop/pull/2040#discussion_r167365931
2018-02-15 15:14:59 -05:00
Daniel Gasienica
d07433e3cf
Make autoOrientImage module standalone
2018-02-15 15:14:59 -05:00
Daniel Gasienica
4431854923
Add autoOrientImage module
...
This module exposes `loadImage` with a `Promise` based interface and pre-
populates `orientation: true` option to auto-orient input. Returns data URL
as string.
The module uses a named export as refactoring references of modules with
`default` (`module.exports`) export references can be error-prone.
See: https://basarat.gitbooks.io/typescript/docs/tips/defaultIsBad.html
2018-02-15 15:14:59 -05:00
Daniel Gasienica
be5cbc9d2b
Move ESLint environment configuration into .eslintrc ( #2051 )
2018-02-15 15:12:20 -05:00