Merge branch 'master' into stable

This commit is contained in:
Tamius Han 2020-07-25 15:52:32 +02:00
commit 62cd90c554
9 changed files with 1683 additions and 2304 deletions

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
14.4.0

View File

@ -18,6 +18,7 @@ QoL improvements for me:
* Fixed the youtube alignment issue (previously fixed in v4.4.7.1-2), but this time for real (and in a bit more proper way) * Fixed the youtube alignment issue (previously fixed in v4.4.7.1-2), but this time for real (and in a bit more proper way)
* Fixed the bug where extension wouldn't work when URL specified a port (e.g. www.example.com:80) * Fixed the bug where extension wouldn't work when URL specified a port (e.g. www.example.com:80)
* **[4.4.9.1]** removed source files from extension build in order to decrease package size * **[4.4.9.1]** removed source files from extension build in order to decrease package size
* **[4.4.9.2]** updated dependencies and stuff
In addition to that, as of 4.4.9.1 the build process ensures removal of `node_modules` before building the extension so we can have reproducible builds except for real this time. Hopefully. In addition to that, as of 4.4.9.1 the build process ensures removal of `node_modules` before building the extension so we can have reproducible builds except for real this time. Hopefully.

View File

@ -2,7 +2,7 @@
## Super TL;DR: I'm just looking for the install links, thanks ## Super TL;DR: I'm just looking for the install links, thanks
[Firefox](https://addons.mozilla.org/en/firefox/addon/ultrawidify/), [Chrome](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi), [Edge](https://github.com/tamius-han/ultrawidify#microsoft-edge) (Chromium-based only) [Firefox](https://addons.mozilla.org/en/firefox/addon/ultrawidify/), [Chrome](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi), [Edge](https://microsoftedge.microsoft.com/addons/detail/lmpgpgechmkkkehkihpiddbcbgibokbi) (Chromium-based only)
There's also [nightly "builds"](https://stuff.lionsarch.tamius.net/ultrawidify/nightly/). There's also [nightly "builds"](https://stuff.lionsarch.tamius.net/ultrawidify/nightly/).
@ -13,10 +13,9 @@ If you own an ultrawide monitor, you have probably noticed that sometimes videos
![Demo](img-demo/example-httyd2.png "Should these black bars be here? No [...] But an ultrawide user never forgets.") ![Demo](img-demo/example-httyd2.png "Should these black bars be here? No [...] But an ultrawide user never forgets.")
## Known issues ## Known issues
* Netflix autodetection not working in Chrome, wontfix as issue is fundamentally unfixable. * Netflix autodetection not working in Chrome and working poorly in Firefox. This problem happens because DRM, and happens on other sites utilizing DRM protection schemes. Don't expect Chrome support any time soon.
* Everything reported in [issues](https://github.com/tamius-han/ultrawidify/issues) * Everything reported in [issues](https://github.com/tamius-han/ultrawidify/issues)
### Limitations ### Limitations
@ -25,15 +24,14 @@ If you own an ultrawide monitor, you have probably noticed that sometimes videos
* Autodetection is only correct 95% of the time, most of the time. * Autodetection is only correct 95% of the time, most of the time.
* That new stretching mode wasn't thoroughly tested yet. Issues may be present. (Same with zoom) * That new stretching mode wasn't thoroughly tested yet. Issues may be present. (Same with zoom)
* Enabling extension everywhere (as opposed to whitelisted sites) could break some websites. * Enabling extension everywhere (as opposed to whitelisted sites) could break some websites.
* Edge has
### Features ### Features
* **Can be enabled or disabled on per-site basis** * **Can be enabled or disabled on per-site basis**
* **Crop video to fit screen** (no stretching. Supported aspect ratios: 21/9 (1:2.39), 16:9, 16:10, _one (1) custom aspect ratio_) * **Crop video to fit screen** (no stretching. Supported aspect ratios: 21/9 (1:2.39), 16:9, 16:10. It's possible to set additional aspect ratios, but settings GUI currently contains some mildly annoying bugs)
* **Automatic aspect ratio detection** (can be enabled/disabled entirely or on a per-site basis, separately of the extension. Autodetection in action: [youtube](https://www.youtube.com/watch?v=j2xn1WpbtCQ)) * **Automatic aspect ratio detection** (can be enabled/disabled entirely or on a per-site basis, separately of the extension. May not work on sites utilizing DRM schemes, such as Netflix et. al.). Autodetection in action: [youtube](https://www.youtube.com/watch?v=j2xn1WpbtCQ))
* **Supports Youtube theater mode** * **Supports Youtube theater mode**
* **[EXPERIMENTAL!]** Stretch video to fit the screen (4 different approaches) * **[EXPERIMENTAL!]** Stretch video to fit the screen
* **[EXPERIMENTAL!]** custom zooming and panning * **[EXPERIMENTAL!]** custom zooming and panning
@ -41,19 +39,23 @@ If you own an ultrawide monitor, you have probably noticed that sometimes videos
* Youtube * Youtube
* Netflix * Netflix
* Twitch
### Other sites ### Other sites
I am not actively testing extension on other sites. You can try your luck and enable extension for any unsupported site you stumble across via extension popup, but I make no guarantees it will work everywhere. I am not actively testing extension on other sites. You can try your luck and enable extension for any unsupported site you stumble across via extension popup, but I make no guarantees it will work everywhere.
If extension doesn't work for a site I'm not testing on out of the box, follow [this wiki](https://github.com/tamius-han/ultrawidify/wiki/Fixing-site-incompatibilites-('Advanced-settings')). The 'quick and dirty' approach should work for most sites. (If you try doing things the proper way, you should really know what you're doing.)
### Installing this extension ### Installing this extension
You can download this extension from Firefox' and Chrome's extension stores: You can download this extension from Firefox' and Chrome's extension stores:
* [Firefox](https://addons.mozilla.org/en/firefox/addon/ultrawidify/) * [Firefox](https://addons.mozilla.org/en/firefox/addon/ultrawidify/)
* [Chrome, Opera, Chromium Edge](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi) * [Chrome, Opera](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi)
* [Chromium Edge](https://microsoftedge.microsoft.com/addons/detail/lmpgpgechmkkkehkihpiddbcbgibokbi)
Opera users and users of the new, Chromium-based Edge can install Ultrawidify from Chrome Web Store as well. Users of beta and developer branches of Opera can find Ultrawidify on Opera store as well, but given Opera's review process is unacceptably slow (awaiting moderator review since 2020-03-15) not only am I not going to maintain Opera store presence, Opera users are advised to use Chrome version of the extension in order to avoid waiting years for new features to be approved by Opera moderators.
### Nightly builds ### Nightly builds
@ -80,7 +82,7 @@ You can make a donation [via Paypal](https://www.paypal.me/tamius).
# The long version # The long version
The technology has been here for a while, but plenty of people don't know how to properly encode a video (despite the fact [youtube has an article that explains aspect ratios](https://support.google.com/youtube/answer/6375112)). Plenty of people surprisingly includes major Holywood studios, such as [Marvel](https://www.youtube.com/watch?v=Ke1Y3P9D0Bc), [Disney](https://www.youtube.com/watch?v=yCOPJi0Urq4), [Dreamworks](https://www.youtube.com/watch?v=oKiYuIsPxYk), [Warner Brothers](https://www.youtube.com/watch?v=VYZ3U1inHA4), [Sony](https://www.youtube.com/watch?v=7BWWWQzTpNU), et cetera. You'd think that this is the one thing Holywood studios and people who make [music videos for a living](https://www.youtube.com/watch?v=c6Mx2mxpaCY) would know how to do right, but they don't. This extension is here to fix that. The technology has been here for a while, but plenty of people don't know how to properly encode a video (despite the fact [youtube has an article that explains aspect ratios](https://support.google.com/youtube/answer/6375112)). Plenty of people surprisingly includes major Hollywood studios, such as [Marvel](https://www.youtube.com/watch?v=Ke1Y3P9D0Bc), [Disney](https://www.youtube.com/watch?v=yCOPJi0Urq4), [Dreamworks](https://www.youtube.com/watch?v=oKiYuIsPxYk), [Warner Brothers](https://www.youtube.com/watch?v=VYZ3U1inHA4), [Sony](https://www.youtube.com/watch?v=7BWWWQzTpNU), et cetera. You'd think that this is the one thing Hollywood studios and people who make [music videos for a living](https://www.youtube.com/watch?v=c6Mx2mxpaCY) would know how to do right, but they don't. This extension is here to fix that.
![Jesus Christ.](img-demo/example-jasonbourne.png "This is indeed worse than Snowden.") ![Jesus Christ.](img-demo/example-jasonbourne.png "This is indeed worse than Snowden.")
@ -252,6 +254,8 @@ However, I do plan on implementing this feature. Hopefully by the end of the yea
[Latest stable for Chrome — download from Chrome store](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi) [Latest stable for Chrome — download from Chrome store](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi)
[Latest stable for Edge — Download from Microsoft store](https://microsoftedge.microsoft.com/addons/detail/lmpgpgechmkkkehkihpiddbcbgibokbi)
### Installing the current, github version ### Installing the current, github version
## Get pre-built version: ## Get pre-built version:
@ -273,26 +277,6 @@ TODO: see if #3 already loads the extension in FF
4. Add temporary addon 4. Add temporary addon
5. Select `${ultrawidify_folder}/dist/manifest.json` 5. Select `${ultrawidify_folder}/dist/manifest.json`
# Microsoft Edge
With the advent of the new Chromium-based Edge, this extension should work just fine. I don't actively test in Edge, though, so your mileage may vary.
## Chromium-based
1. Visit [edge://extensions](edge://extensions/)
2. Go to [Chrome Web Store](https://chrome.google.com/webstore/detail/ultrawidify/dndehlekllfkaijdlokmmicgnlanfjbi)
3. Click 'Allow extensions from other stores' on the blue popup bar at the top of the screen
4. Install Ultrawidify
5. Enjoy
I might reconsider publishing extension for Chromium-based Microsoft Edge once it's released. Releasing in MS Store appears to be impossible at current time as extension submissions don't appear to be open at all (unless you got a special invite or something).
## Old Edge
1. Get [Chromium-based Edge](https://www.microsoftedgeinsider.com/en-us/)
2. See steps above
# Changelog # Changelog
see changelog.md see changelog.md

3745
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -20,36 +20,36 @@
"dev": "cross-env NODE_ENV=development CHANNEL=dev concurrently \"cross-env BROWSER=firefox npm run build:dev -- --watch\" \"cross-env BROWSER=chrome npm run build:dev -- --watch\"" "dev": "cross-env NODE_ENV=development CHANNEL=dev concurrently \"cross-env BROWSER=firefox npm run build:dev -- --watch\" \"cross-env BROWSER=chrome npm run build:dev -- --watch\""
}, },
"dependencies": { "dependencies": {
"@types/core-js": "^2.5.0", "@types/core-js": "^2.5.3",
"@types/es6-promise": "^3.3.0", "@types/es6-promise": "^3.3.0",
"concurrently": "^5.1.0", "concurrently": "^5.2.0",
"fs-extra": "^7.0.1", "fs-extra": "^7.0.1",
"json-cyclic": "0.0.3", "json-cyclic": "0.0.3",
"vue": "^2.6.11", "vue": "^2.6.11",
"vuex": "^3.1.2", "vuex": "^3.5.1",
"vuex-webextensions": "^1.3.0", "vuex-webextensions": "^1.3.0",
"webextension-polyfill": "^0.6.0" "webextension-polyfill": "^0.6.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.8.3", "@babel/core": "^7.10.5",
"@babel/plugin-proposal-optional-chaining": "^7.8.3", "@babel/plugin-proposal-optional-chaining": "^7.10.4",
"@babel/preset-env": "^7.8.3", "@babel/preset-env": "^7.10.4",
"archiver": "^3.0.0", "archiver": "^3.0.0",
"babel-loader": "^8.0.6", "babel-loader": "^8.1.0",
"copy-webpack-plugin": "^4.5.3", "copy-webpack-plugin": "^4.5.3",
"cross-env": "^5.2.0", "cross-env": "^5.2.0",
"css-loader": "^0.28.11", "css-loader": "^0.28.11",
"ejs": "^2.7.4", "ejs": "^2.7.4",
"file-loader": "^1.1.11", "file-loader": "^1.1.11",
"mini-css-extract-plugin": "^0.4.4", "mini-css-extract-plugin": "^0.4.4",
"node-sass": "^4.13.1", "node-sass": "^4.14.1",
"sass-loader": "^7.1.0", "sass-loader": "^7.1.0",
"vue-loader": "^15.8.3", "vue-loader": "^15.9.3",
"vue-template-compiler": "^2.6.11", "vue-template-compiler": "^2.6.11",
"web-ext-types": "^2.1.0", "web-ext-types": "^2.1.0",
"webpack": "^4.41.5", "webpack": "^4.44.0",
"webpack-chrome-extension-reloader": "^0.8.3", "webpack-chrome-extension-reloader": "^0.8.3",
"webpack-cli": "^3.3.10", "webpack-cli": "^3.3.12",
"webpack-shell-plugin": "^0.5.0" "webpack-shell-plugin": "^0.5.0"
} }
} }

View File

@ -3,12 +3,9 @@
# makes a zip file with human-readable source code that we need to upload to AMO # makes a zip file with human-readable source code that we need to upload to AMO
# since webpack minifies stuff # since webpack minifies stuff
# we need to do this, otherwise `nvm` command won't be available
. ~/.nvm/nvm.sh
# first, we collect npm/node versions: # first, we collect npm/node versions:
# (NOTE: the last bit is necessary to remove ANSI color codes from output) # (NOTE: the last bit is necessary to remove ANSI color codes from output)
NODE_VERSION=`nvm ls | head -n 1 | awk '{print $2}' | sed 's/\x1B\[[0-9;]\+[A-Za-z]//g'` NODE_VERSION=`node --version`
NPM_VERSION=`npm --version` NPM_VERSION=`npm --version`
LINUX_VERSION="$(uname -a | sed 's/\//\\\//g')" LINUX_VERSION="$(uname -a | sed 's/\//\\\//g')"
@ -31,8 +28,8 @@ echo ""
echo "—————— AMO SOURCE PREPARATION FINISHED ——————" echo "—————— AMO SOURCE PREPARATION FINISHED ——————"
echo " Debug info:" echo " Debug info:"
echo "" echo ""
echo "nvm ls | head -n 1:" echo "node --version:"
nvm ls | head -n 1 node --version
echo "" echo ""
echo "npm --version" echo "npm --version"
npm --version npm --version

View File

@ -2,7 +2,7 @@
"manifest_version": 2, "manifest_version": 2,
"name": "Ultrawidify", "name": "Ultrawidify",
"description": "Removes black bars on ultrawide videos and offers advanced options to fix aspect ratio.", "description": "Removes black bars on ultrawide videos and offers advanced options to fix aspect ratio.",
"version": "4.4.9.1", "version": "4.4.9.2",
"applications": { "applications": {
"gecko": { "gecko": {
"id": "{cf02b1a7-a01a-4e37-a609-516a283f1ed3}" "id": "{cf02b1a7-a01a-4e37-a609-516a283f1ed3}"

View File

@ -2,7 +2,7 @@
<div> <div>
<h2>What's new</h2> <h2>What's new</h2>
<p>Full changelog for older versions <a href="https://github.com/tamius-han/ultrawidify/blob/master/CHANGELOG.md">is available here</a>.</p> <p>Full changelog for older versions <a href="https://github.com/tamius-han/ultrawidify/blob/master/CHANGELOG.md">is available here</a>.</p>
<p class="label">4.4.9</p> <p class="label">4.4.9.2</p>
<ul> <ul>
<li> <li>
Fixed issue with video alignment on youtube under certain conditions (previously fixed in v4.4.7.1-2), but this time for real (hopefully). Fixed issue with video alignment on youtube under certain conditions (previously fixed in v4.4.7.1-2), but this time for real (hopefully).
@ -11,7 +11,10 @@
Fixed the bug where extension wouldn't work when URL specified a port (e.g. www.example.com:80) Fixed the bug where extension wouldn't work when URL specified a port (e.g. www.example.com:80)
</li> </li>
<li> <li>
<b>[4.4.9.1]</b>removed source files from extension build <b>[4.4.9.1]</b> removed source maps from extension build
</li>
<li>
<b>[4.4.9.2]</b> updated npm packages
</li> </li>
</ul> </ul>
<p> <p>