diff --git a/.circleci/config.yml b/.circleci/config.yml index 2d7b5b75..b29ba993 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,9 +15,6 @@ jobs: executor: cider-ci steps: - checkout - - run: - name: Set App Version - command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV # - run: # name: Rename Repository # command: sed -i 's/github:ciderapp\/Cider/github:ciderapp\/cider-releases/' package.json @@ -45,6 +42,7 @@ jobs: root: . # Must be relative path from root paths: + - src - node_modules - build - resources @@ -155,6 +153,9 @@ jobs: mv ~/Cider/dist/*.blockmap ~/Cider/dist/artifacts - store_artifacts: path: ~/Cider/dist/artifacts + - run: + name: Set App Version + command: echo "export APP_VERSION=$(grep '"version":.*' package.json | cut -d '"' -f 4 | head -1)" >> $BASH_ENV - run: name: Publish Release command: | diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index c5d6402b..d18e0e23 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -1,7 +1,7 @@ name: Bug Report description: If you encounter an issue whilst using our app, please use this template to help improve the app. title: "[Bug]: " -labels: ["bug", "triage"] +labels: ["bug", "needs-triage"] assignees: [] body: - type: markdown diff --git a/.github/workflows/auto-project.yml b/.github/workflows/auto-project.yml new file mode 100644 index 00000000..742d82e1 --- /dev/null +++ b/.github/workflows/auto-project.yml @@ -0,0 +1,18 @@ +name: Add bugs to bugs project + +on: + issues: + types: + - opened + +jobs: + add-to-project: + name: Add issue to project + runs-on: ubuntu-latest + steps: + - uses: actions/add-to-project@main + with: + project-url: https://github.com/orgs/ciderapp/projects/5 + github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} + labeled: bug, needs-triage + label-operator: OR diff --git a/.github/workflows/stale-issues.yml b/.github/workflows/stale-issues.yml new file mode 100644 index 00000000..b566f1d6 --- /dev/null +++ b/.github/workflows/stale-issues.yml @@ -0,0 +1,18 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '30 1 * * *' + +permissions: + issues: write + pull-requests: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v4 + with: + stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.' + days-before-stale: 30 + days-before-close: 7 \ No newline at end of file diff --git a/README.md b/README.md index 7b8fface..430a36f2 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ GitHub Forks
- Buy Me A Coffee + Buy Me A Coffee Open Collective GitHub Sponsor
diff --git a/package.json b/package.json index 9c22e95d..d446201a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "cider", "applicationId": "Cider", "productName": "Cider", - "version": "1.4.5", + "version": "1.4.6", "description": "A new cross-platform Apple Music experience based on Electron and Vue.js written from scratch with performance in mind.", "license": "AGPL-3.0", "main": "./build/index.js", diff --git a/src/i18n/README.md b/src/i18n/README.md index 3422daa7..b81a8498 100644 --- a/src/i18n/README.md +++ b/src/i18n/README.md @@ -338,3 +338,7 @@ Update 29/04/2022 00:00 UTC * `menubar.options.conf`: Added for `en_US` +Update 08/05/2022 00:29 UTC + +* `settings.option.visual.theme.github.available`: Added for `en_US`, +* `settings.option.visual.theme.github.applied`: Added for `en_US`, diff --git a/src/i18n/en_US.json b/src/i18n/en_US.json index 9f058996..10aa9e00 100644 --- a/src/i18n/en_US.json +++ b/src/i18n/en_US.json @@ -434,6 +434,8 @@ "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", + "settings.option.visual.theme.github.available": "Available", + "settings.option.visual.theme.github.applied": "Applied", "settings.notyf.visual.theme.install.success": "Theme installed successfully", "settings.notyf.visual.theme.install.error": "Theme installation failed", "settings.header.visual.plugin": "Plugin", diff --git a/src/i18n/es_ES.json b/src/i18n/es_ES.json index eb31ea60..808004fd 100644 --- a/src/i18n/es_ES.json +++ b/src/i18n/es_ES.json @@ -366,6 +366,7 @@ "settings.option.audio.audioLab.description": "Una variedad de efectos de audio desarrollados internamente para Cider.", "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", "settings.warn.audioLab.withoutAF": "Se requiere AudioContext (funcionalidad avanzada) para habilitar Laboratorio de audio de Cider.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (funcionalidad avanzada) es necesaria para habilitar esta característica.", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Calidez analógica", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simula la calidez analógica inspirada en el Korg Nutube 6P1", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Intensidad de calidez analógica", @@ -428,6 +429,13 @@ "settings.header.visual.theme.github.page": "Temas de GitHub", "settings.option.visual.theme.github.install.confirm": "¿Está seguro de que desea instalar {{ repo }}?", "settings.prompt.visual.theme.github.URL": "Introduce la URL del tema que quieres instalar", + "settings.prompt.visual.theme.uninstallTheme": "¿Estas seguro que lo quieres desinstalar {{ theme }}?", + "settings.option.visual.theme.checkForUpdates": "Buscar actualizaciones", + "settings.option.visual.theme.manageStyles": "Gestionar Estilos", + "settings.option.visual.theme.uninstall": "Desinstalar", + "settings.option.visual.theme.viewInfo": "Ver Información", + "settings.option.visual.theme.github.available": "Disponible", + "settings.option.visual.theme.github.applied": "Aplicado", "settings.notyf.visual.theme.install.success": "Tema Instalado Correctamente", "settings.notyf.visual.theme.install.error": "La Instalación del Tema Falló", "settings.header.visual.plugin": "Plugin", diff --git a/src/i18n/hu_HU.json b/src/i18n/hu_HU.json index ec5a97de..ca93b58e 100644 --- a/src/i18n/hu_HU.json +++ b/src/i18n/hu_HU.json @@ -378,6 +378,8 @@ "settings.header.visual.theme.github.page": "Témák a GitHub-ról", "settings.option.visual.theme.github.install.confirm": "Biztosan szeretnéd telepíteni a(z) {{ repo }} témát?", "settings.prompt.visual.theme.github.URL": "Add meg a telepítendő téma URL-jét", + "settings.option.visual.theme.github.available": "Elérhető", + "settings.option.visual.theme.github.applied": "Alkalmazva", "settings.notyf.visual.theme.install.success": "Téma sikeresen telepítve", "settings.notyf.visual.theme.install.error": "Sikertelen volt a téma telepítése", "settings.header.visual.plugin": "Plugin", diff --git a/src/i18n/source/en_US.json b/src/i18n/source/en_US.json index 6a9a00fe..10aa9e00 100644 --- a/src/i18n/source/en_US.json +++ b/src/i18n/source/en_US.json @@ -366,6 +366,7 @@ "settings.option.audio.audioLab.description": "An assortment of in-house developed audio effects for Cider.", "settings.option.audio.audioLab.subheader": "Designed by Cider Acoustic Technologies in California", "settings.warn.audioLab.withoutAF": "AudioContext (Advanced Functionality) is required to enable Cider Audio Laboratory.", + "settings.warn.enableAdvancedFunctionality": "AudioContext (Advanced Functionality) is required to enable this feature.", "settings.option.audio.enableAdvancedFunctionality.analogWarmth": "Analog Warmth", "settings.option.audio.enableAdvancedFunctionality.analogWarmth.description": "Simulates the analog warmth modelled after the Korg Nutube 6P1", "settings.option.audio.enableAdvancedFunctionality.analogWarmthIntensity": "Analog Warmth intensity", @@ -433,6 +434,8 @@ "settings.option.visual.theme.manageStyles": "Manage Styles", "settings.option.visual.theme.uninstall": "Uninstall", "settings.option.visual.theme.viewInfo": "View Info", + "settings.option.visual.theme.github.available": "Available", + "settings.option.visual.theme.github.applied": "Applied", "settings.notyf.visual.theme.install.success": "Theme installed successfully", "settings.notyf.visual.theme.install.error": "Theme installation failed", "settings.header.visual.plugin": "Plugin", diff --git a/src/renderer/main/vueapp.js b/src/renderer/main/vueapp.js index 8218881d..9ddb2f88 100644 --- a/src/renderer/main/vueapp.js +++ b/src/renderer/main/vueapp.js @@ -1134,28 +1134,31 @@ const app = new Vue({ } }) }, - async refreshPlaylists(localOnly = false) { + async refreshPlaylists(localOnly = false, useCachedPlaylists = true) { let self = this let trackMap = this.cfg.advanced.playlistTrackMapping let newListing = [] let trackMapping = {} - const cachedPlaylist = await CiderCache.getCache("library-playlists") - const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks") + + if (useCachedPlaylists) { + const cachedPlaylist = await CiderCache.getCache("library-playlists") + const cachedTrackMapping = await CiderCache.getCache("library-playlists-tracks") - if (cachedPlaylist) { - console.debug("using cached playlists") - this.playlists.listing = cachedPlaylist - self.sortPlaylists() - } else { - console.debug("playlist has no cache") - } + if (cachedPlaylist) { + console.debug("using cached playlists") + this.playlists.listing = cachedPlaylist + self.sortPlaylists() + } else { + console.debug("playlist has no cache") + } - if (cachedTrackMapping) { - console.debug("using cached track mapping") - this.playlists.trackMapping = cachedTrackMapping - } - if (localOnly) { - return + if (cachedTrackMapping) { + console.debug("using cached track mapping") + this.playlists.trackMapping = cachedTrackMapping + } + if (localOnly) { + return + } } this.library.backgroundNotification.message = "Building playlist cache..." @@ -1260,7 +1263,7 @@ const app = new Vue({ } } ).then(res => { - self.refreshPlaylists() + self.refreshPlaylists(false, false) }) }, async editPlaylist(id, name = app.getLz('term.newPlaylist')) { @@ -1275,7 +1278,7 @@ const app = new Vue({ } } ).then(res => { - self.refreshPlaylists() + self.refreshPlaylists(false, false) }) }, copyToClipboard(str) { @@ -1319,7 +1322,7 @@ const app = new Vue({ }) self.sortPlaylists() setTimeout(() => { - app.refreshPlaylists() + app.refreshPlaylists(false, false) }, 8000) }) }, @@ -1336,6 +1339,9 @@ const app = new Vue({ if (found) { self.playlists.listing.splice(self.playlists.listing.indexOf(found), 1) } + setTimeout(() => { + app.refreshPlaylists(false, false); + }, 8000); }) } }, @@ -2581,7 +2587,7 @@ const app = new Vue({ }) self.sortPlaylists() setTimeout(() => { - app.refreshPlaylists() + app.refreshPlaylists(false, false) }, 13000) }) }, diff --git a/src/renderer/views/components/lyrics-view.ejs b/src/renderer/views/components/lyrics-view.ejs index 26001890..c4e795b6 100644 --- a/src/renderer/views/components/lyrics-view.ejs +++ b/src/renderer/views/components/lyrics-view.ejs @@ -1,6 +1,6 @@