diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 0610333339..f8022b6469 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -9,9 +9,9 @@ assignees: '' Operating System Version: diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b9c3678e09..cfb2e76442 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,11 @@ -name: CI +name: Latest Build -on: [push] +on: + push: + branches: + - '*' + tags: + - 'v*' jobs: build: @@ -9,7 +14,8 @@ jobs: strategy: matrix: - os: [ubuntu-latest, windows-latest, macOS-latest] + os: [ubuntu-latest, macOS-latest, windows-latest] + nwjs: ['0.44.5', '0.82.0'] steps: - name: Context @@ -17,21 +23,20 @@ jobs: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo "$GITHUB_CONTEXT" - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 + persist-credentials: false - - name: Prepare NSIS - if: matrix.os == 'windows-latest' - id: prep_nsis - uses: joncloud/makensis-action@v1 - with: - just-include: true + - name: Reconfigure git to use HTTP authentication + run: > + git config --global url."https://github.com/".insteadOf + ssh://git@github.com/ - - name: Use Node.js 14.x - uses: actions/setup-node@v1 + - name: Use Node.js 20 + uses: actions/setup-node@v4 with: - node-version: 14.x + node-version: 20 - name: yarn version run: | @@ -41,34 +46,27 @@ jobs: run: | node --version - - name: Build App [macOS] - if: matrix.os == 'macOS-latest' - run: | - yarn - npm install - yarn gulp dist + - uses: kiriles90/variable-mapper@master + with: + key: "${{ matrix.os }}" + map: | + { + "ubuntu-latest": { "platform": "linux", "dist": "linux32,linux64" }, + "macOS-latest": { "platform": "osx", "dist": "osx64" }, + "windows-latest": { "platform": "win", "dist": "win32,win64" } + } - - name: Build App [ubuntu] - if: matrix.os == 'ubuntu-latest' - run: | - yarn - npm install - yarn gulp dist --platforms=linux32,linux64 + - name: Build info + run: echo Build ${{ env.dist }} on nw-v${{ matrix.nwjs }} - - name: Build App [windows] - if: matrix.os == 'windows-latest' + - name: Build App run: | yarn - npm install - yarn gulp dist --platforms=win32 - yarn gulp dist --platforms=win64 - env: - NSIS_PATH: ${{ steps.prep_nsis.outputs.nsis-path }} - + yarn gulp dist --platforms=${{ env.platform == 'win' && '"' || '' }}${{ env.dist }}${{ env.platform == 'win' && '"' || '' }} --nwVersion=${{ matrix.nwjs }} - name: Upload artifacts uses: actions/upload-artifact@master with: - name: ${{ matrix.os }} + name: ${{ env.platform }}-${{ matrix.nwjs }} path: build release: @@ -82,156 +80,17 @@ jobs: GITHUB_CONTEXT: ${{ toJson(github) }} run: echo "$GITHUB_CONTEXT" - - name: Get the version - id: get_version - if: startsWith(github.ref, 'refs/tags/v') - run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/} - - - uses: actions/download-artifact@v1 - if: startsWith(github.ref, 'refs/tags/v') - with: - name: ubuntu-latest - - - uses: actions/download-artifact@v1 - if: startsWith(github.ref, 'refs/tags/v') - with: - name: windows-latest - - - uses: actions/download-artifact@v1 - if: startsWith(github.ref, 'refs/tags/v') - with: - name: macOS-latest - - - run: find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' - - - name: Create Release - if: startsWith(github.ref, 'refs/tags/v') - id: create_release - uses: actions/create-release@v1.0.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ github.ref }} - release_name: ${{ github.ref }} - draft: false - prerelease: false - - - name: Upload Release Asset [macOS-zip] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./macOS-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-osx64.zip - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-osx64.zip - asset_content_type: application/octet-stream - - - name: Upload Release Asset [macOS-pkg] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./macOS-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}.pkg - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}.pkg - asset_content_type: application/octet-stream - - - name: Upload Release Asset [ubuntu-deb-amd64] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/download-artifact@v4 with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ubuntu-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-amd64.deb - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-amd64.deb - asset_content_type: application/octet-stream + path: artifacts + merge-multiple: true - - name: Upload Release Asset [ubuntu-zip-x64] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ubuntu-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-linux64.zip - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-linux64.zip - asset_content_type: application/octet-stream + - name: Display structure of downloaded files + run: ls -R artifacts - - name: Upload Release Asset [ubuntu-deb-i386] + - uses: ncipollo/release-action@v1 if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ubuntu-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-i386.deb - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-i386.deb - asset_content_type: application/octet-stream - - - name: Upload Release Asset [ubuntu-zip-x32] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./ubuntu-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-linux32.zip - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-linux32.zip - asset_content_type: application/octet-stream - - - name: Upload Release Asset [windows-zip-x64] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win64.zip - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win64.zip - asset_content_type: application/octet-stream - - - name: Upload Release Asset [windows-zip-ia32] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win32.zip - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win32.zip - asset_content_type: application/octet-stream - - - name: Upload Release Asset [windows-setup-x64] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win64-Setup.exe - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win64-Setup.exe - asset_content_type: application/octet-stream - - - name: Upload Release Asset [windows-setup-ia32] - if: startsWith(github.ref, 'refs/tags/v') - continue-on-error: true - uses: actions/upload-release-asset@v1.0.1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./windows-latest/Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win32-Setup.exe - asset_name: Popcorn-Time-${{ steps.get_version.outputs.VERSION }}-win32-Setup.exe - asset_content_type: application/octet-stream + allowUpdates: true + name: ${{ github.ref_name }} + artifacts: "artifacts/*" diff --git a/.gitignore b/.gitignore index bd0180b4b6..e67bdb814b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ src/app/themes build/ cache/ dist/windows/*-Setup.exe -dist/windows/update.exe dist/linux/linux-installer dist/linux/*.deb src/app/css/app.css @@ -34,4 +33,4 @@ lib-cov *.out *.pid *.gz -*.iml \ No newline at end of file +*.iml diff --git a/.jshintrc b/.jshintrc index efa8eff54e..b9a1c93a88 100644 --- a/.jshintrc +++ b/.jshintrc @@ -26,7 +26,7 @@ "loopfunc" : true, "indent" : 4, "newcap" : false, - "esversion" : 8, + "esversion" : 11, // Globals "globals": { @@ -74,7 +74,6 @@ "url": true, "tls": true, "http": true, - "querystring": true, "URI": true, "child": true, "WebTorrent": true, diff --git a/.travis.yml b/.travis.yml index af33a7083b..730bfc8d1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,6 @@ before_install: - yarn config set yarn-offline-mirror ./node_modules/ - yarn install --ignore-engines - yarn build -install: - - yarn gulp prepareUpdater after_success: - ls -ltr ./build/ deploy: diff --git a/CHANGELOG.md b/CHANGELOG.md index 16e1819d8e..031a0af76b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +## 0.5.0 - Mischief Managed - 10 February 2024 + +New Features: +- Update NW.js runtime to 0.82.0 (0.44.5 still supported as an option for this release) +- Add working Anime tab +- Add Watched tab +- Add Seedbox option for exiting the app when downloads complete +- Add VLC flatpack external player support +- Add Movies/Series UI Transparency option +- Add new theme Dutchy's Dark Orange +- Switch to the new OpenSubtitles REST API +- Update WebTorrent to 1.9.7 + +Bug Fixes: +- Fix WebTorrent bug which caused high CPU/memory usage +- Fix issue with broken bookmark entries preventing list from loading +- Fix issue with title translations +- Fix bug which caused switching to the default Chromium player when broken trailer link +- Fix bug which prevented saving magnet links with no name property +- Fix missing provider icons when no source link +- Fix Series poster zoom implementation +- Fix brightness and hue filters implementations +- Fix title display for mpv external player + +Other: +- Update the build system +- Clean up obsolete/unnecessary code +- Update Torrent Collection providers +- Update torrent trackers +- Update various modules/dependencies +- Various other small fixes and optimizations + ## 0.4.9 - Ogres are not like cakes - 04 September 2022 New Features: diff --git a/README.md b/README.md index da9c5e8b77..cf719e03e4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@
All files and services may be uninstalled by first closing the client app - and dragging the Popcorn-Time.app from your applications to the trash. A + and dragging the Popcorn-Time app from your applications to the trash. A restart may be required to finish the removal process.