Uploaded image for project: 'phpBB3'
  1. phpBB3
  2. PHPBB3-16682

plupload will not work correctly with rotated images in newer browsers

    XMLWordPrintable

Details

    • Bug
    • Status: Patch Awaiting Review (View Workflow)
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • upgraded from phpBB v3.2.0 to v3.3.2 (this problem persisted)

    Description

      Plupload will not work correctly if rotated images are being uploaded and running in any one of the newer browsers implementing auto-image rotation in their canvas. This applies to most, if not all, versions of phpBB since this is new browser thing.

      It is very tricky to test this visually since not only can some browsers auto-rotate images, the OS file manager may or may not depending on what version you're using. To be sure, I inserted debug code in plupload.php and in plupload.js . I've tested this on 3 current browsers that implement auto image rotation (Chrome, Edge, and Firefox) and an older Chromium version that does not. I used 4 images with orientation = 1 (normal), 6 and 8 (both 90 degrees), and 3 (180 degrees). I mixed and matched test uploads between browsers in my local test environment.

      The incorrect operation is a double rotation, first by virtue of the browser's canvas and second by plupload's rotate code.

      A possible solution is (1) put a switch in plupload.js which engages its auto-rotation if the browser does not do it already, and does not auto-rotate if the browser already did it and (2) add some one-time js code somewhere that produces the test variable needed by plupload. I implemented these two, tested it locally, and am currently running it on my forums.

      BTW this issue persists whether the EXIF stripping feature is selected or not (since plupload always uses the canvas regardless).

      I also posted in a relevant forum thread here

      Attachments

        Activity

          People

            Unassigned Unassigned
            mtn mtn
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: