Opened 12 months ago

Closed 12 months ago

Last modified 6 days ago

#7024 closed defect (fixed)

ManifoldJS fails to package Adblock Plus for Edge

Reported by: tlucas Assignee: sebastian
Priority: P2 Milestone: Adblock-Plus-3.4-for-Chrome-Opera-Firefox
Module: Automation Keywords:
Cc: sebastian, kzar, oleksandr, geo Blocked By:
Blocking: Platform: Unknown / Cross platform
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):



adblockpluschrome@ current master

How to reproduce

  1. make sure to have tox installed
  2. In the subdirectory to ./buildtools > invoke $ tox
  3. In the root directory > $ python build -t edge

Observed behaviour

Step 2 succeeds with no errors (this tells us, that ManifoldJS is finishing successfully with a minified dummy extension)
Step 3 fails with the error message:

[error] manifoldjs  : Failed to package the Microsoft Edge Extension Platform app.
                      Failed to create the package. The CloudAppX service returned an error - Internal Server Error (500): APPX package generation failed. Error: Command failed: 
[error] manifoldjs  : One or more platforms could not be generated successfully.
                      For more information, run manifoldjs with the diagnostics level set to debug (e.g. manifoldjs [...] -l debug)

Expected behaviour

Both steps should succeed, no error message should be shown, step 3 should create a file adblockplusedge-v.v.v.v.appx in the root folder.

Additional Information

There is a thread @ github, leading to the conclusion that the webservice ManifoldJS uses to process a package refuses extensions, which have a larger total size than 1MB.

@snoack reached out to our contacts at Microsoft, to see if they can sort things out on their end. Until we know more about this, this issue must not be triaged.

Change History (10)

comment:1 Changed 12 months ago by sebastian

Assuming this is related to the size, any chance we can minimize the size of our builds? Some ideas:

  • Make sure all PNG images cannot be further compressed with zopflipng -m.
  • Make sure all assets bundled are actually used on Microsoft Edge.
  • Have webpack minifiy it's output.
  • Don't include source maps in the builds (except devenv) for Microsoft Edge.
  • Get rid of jQuery (it's currently only used by the "Block element" dialog, but this UI is trivial and could be recreated with a similar appearance using a few lines of plain JS/CSS).

FWIW, we don't know the exact size limit that triggers that issue. From the discussion on GitHub, it seems the largest extension known to build fine is 879KB, and a bunch of people who have the same issue as us, merely state that their extension is larger than 1MB (ABP is currently about 5MB uncompressed).

A smaller build size would be beneficial regardless of this issue, as it reduces disk space (to store older builds) and decreases bandwidth usage for updates.

Last edited 12 months ago by sebastian (previous) (diff)

comment:2 Changed 12 months ago by sebastian

  • Owner set to sebastian

comment:3 Changed 12 months ago by sebastian

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:4 Changed 12 months ago by sebastian

  • Priority changed from Unknown to P2
  • Ready set

It turned out to have nothing to do with the size of the package after all, but rather with some obscure issue triggered by the presence of name_devenv in _locales/az/messages.json.

Version 0, edited 12 months ago by sebastian (next)

comment:5 Changed 12 months ago by abpbot

comment:6 Changed 12 months ago by abpbot

comment:7 Changed 12 months ago by sebastian

  • Milestone set to Adblock-Plus-3.4-for-Chrome-Opera-Firefox
  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:8 Changed 7 months ago by Thanos


Last edited 6 days ago by kzar (previous) (diff)

comment:9 Changed 6 months ago by RobertAustwick


Last edited 6 days ago by kzar (previous) (diff)

comment:10 Changed 5 months ago by Himanshu0709


Last edited 6 days ago by kzar (previous) (diff)
Note: See TracTickets for help on using tickets.