1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-11 01:12:41 +01:00
phorge-phorge/src/applications/files
epriestley 2bdb5404c7 Implement new profile transform with amazing "error handling" feature
Summary:
Ref T7707. Ref T4406. Ref T2479. This implements the profile-style (fixed width and height) transforms in a modern way.

  - Added a "regnerate" feature to the support UI to make testing easier and surface errors.
  - Laboriously check errors from everything.
  - Fix the profile thumbnailing so it crops properly instead of leaving margins.
  - Also defuses the "gigantic white PNG" attack.

This doesn't handle the imagemagick case (for animated GIFs) yet.

Test Plan:
  - Uploaded a variety of wide/narrow/small/large files and converted them into sensible profile pictures.
  - Tried to thumbnail some text files.
  - Set the pixel-size and file-size limits artificially small and hit them.
  - Used "regenerate" a bunch while testing the rest of this stuff.
  - Verified that non-regenerate flows still produce a default/placeholder image.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4406, T2479, T7707

Differential Revision: https://secure.phabricator.com/D12811
2015-05-13 11:38:45 -07:00
..
action Rate limit outbound requests in Macros 2015-03-26 11:11:52 -07:00
application Modularize file transforms and provide a "transforms" UI 2015-05-13 11:38:45 -07:00
applicationpanel Fix improper selection of the chunk engine as a writable engine 2015-03-18 19:06:39 -07:00
capability Add default policy to Files application 2014-11-21 11:17:20 -08:00
conduit Give Conduit params/return/errors protected visibility 2015-04-13 11:58:35 -07:00
config Lock MIME type configuration 2015-03-25 10:16:22 -07:00
controller Implement new profile transform with amazing "error handling" feature 2015-05-13 11:38:45 -07:00
edge Modernize remaining edge types 2015-01-03 10:58:20 +11:00
editor File names should be editable. 2015-04-26 15:24:29 -07:00
engine Fix a bad call in file chunk destruction 2015-03-24 18:48:51 -07:00
exception Rewrite file documentation to be chunk-aware 2015-03-15 11:37:47 -07:00
garbagecollector Complete modularization of the GC daemon 2014-01-15 10:02:31 -08:00
lipsum Fix some linter violations 2015-01-03 09:11:41 +11:00
mail Expose all application mail receivers 2015-04-01 11:52:02 -07:00
management Support a file data iteration interface for large files 2015-03-14 08:28:59 -07:00
markup Fix bad aspect ratio on some file previews 2015-05-13 11:38:45 -07:00
phid Make file handles have "/Fxxx" as the URI 2014-08-21 12:21:10 -07:00
query Provide more buildXClause() and buildXClauseParts() on PolicyAwareQuery 2015-04-20 10:06:10 -07:00
storage Modularize file transforms and provide a "transforms" UI 2015-05-13 11:38:45 -07:00
transform Implement new profile transform with amazing "error handling" feature 2015-05-13 11:38:45 -07:00
view Quicksand - make things work correctly with global drag and drop upload 2015-04-23 15:08:35 -07:00
PhabricatorImageTransformer.php Minor formatting changes 2014-10-08 08:39:49 +11:00