diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 968e97c4..ddd7c5f3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,5 +1,5 @@ # [Choice] Node.js version (use -bullseye variants on local arm64/Apple Silicon): 18, 16, 14, 18-bullseye, 16-bullseye, 14-bullseye, 18-buster, 16-buster, 14-buster -ARG VARIANT=16 +ARG VARIANT=20 FROM mcr.microsoft.com/devcontainers/javascript-node:0-${VARIANT} as base # Setup the node environment diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 1341b2c8..0213d517 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -8,7 +8,7 @@ // Append -bullseye or -buster to pin to an OS version. // Use -bullseye variants on local arm64/Apple Silicon. "args": { - "VARIANT": "16" + "VARIANT": "20" } }, "mounts": [ diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml index ca044b71..7f47d710 100644 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -44,6 +44,7 @@ body: options: - Docker - Debian/PPA + - Windows Tray App - Built from source - Other validations: diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 80439648..e783fce6 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -71,7 +71,7 @@ jobs: with: tags: ${{ github.event.inputs.tags || steps.meta.outputs.tags }} context: . - platforms: linux/amd64,linux/arm64,linux/arm/v7 + platforms: linux/amd64,linux/arm64 push: true cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index f88db2ed..df639ef7 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -16,7 +16,7 @@ jobs: - name: setup nade uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 - name: install pkg run: npm install -g pkg diff --git a/Dockerfile b/Dockerfile index 943fc567..97bb4732 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ### STAGE 0: Build client ### -FROM node:16-alpine AS build +FROM node:20-alpine AS build WORKDIR /client COPY /client /client RUN npm ci && npm cache clean --force @@ -7,7 +7,7 @@ RUN npm run generate ### STAGE 1: Build server ### FROM sandreas/tone:v0.1.5 AS tone -FROM node:16-alpine +FROM node:20-alpine ENV NODE_ENV=production diff --git a/build/linuxpackager b/build/linuxpackager index 903ee74f..a43d4ed1 100755 --- a/build/linuxpackager +++ b/build/linuxpackager @@ -48,7 +48,7 @@ Description: $DESCRIPTION" echo "$controlfile" > dist/debian/DEBIAN/control; # Package debian -pkg -t node16-linux-x64 -o dist/debian/usr/share/audiobookshelf/audiobookshelf . +pkg -t node18-linux-x64 -o dist/debian/usr/share/audiobookshelf/audiobookshelf . fakeroot dpkg-deb --build dist/debian diff --git a/client/assets/tailwind.css b/client/assets/tailwind.css new file mode 100644 index 00000000..bd6213e1 --- /dev/null +++ b/client/assets/tailwind.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/client/components/app/StreamContainer.vue b/client/components/app/StreamContainer.vue index e9b6969d..0cae1421 100644 --- a/client/components/app/StreamContainer.vue +++ b/client/components/app/StreamContainer.vue @@ -349,7 +349,7 @@ export default { } if ('mediaSession' in navigator) { - var coverImageSrc = this.$store.getters['globals/getLibraryItemCoverSrc'](this.streamLibraryItem, '/Logo.png') + var coverImageSrc = this.$store.getters['globals/getLibraryItemCoverSrc'](this.streamLibraryItem, '/Logo.png', true) const artwork = [ { src: coverImageSrc diff --git a/client/components/cards/LazyBookCard.vue b/client/components/cards/LazyBookCard.vue index 04b3ce59..42b020e3 100644 --- a/client/components/cards/LazyBookCard.vue +++ b/client/components/cards/LazyBookCard.vue @@ -8,7 +8,7 @@
- +

{{ displayTitle }}

diff --git a/client/components/modals/item/tabs/Tools.vue b/client/components/modals/item/tabs/Tools.vue index 5f2ca6b3..de19e04c 100644 --- a/client/components/modals/item/tabs/Tools.vue +++ b/client/components/modals/item/tabs/Tools.vue @@ -2,8 +2,11 @@

{{ $strings.HeaderAudiobookTools }}

+ + Not supported for the Windows install yet + -
+

{{ $strings.LabelToolsMakeM4b }}

@@ -19,22 +22,8 @@
- - - -
+

{{ $strings.LabelToolsEmbedMetadata }}

@@ -122,6 +111,12 @@ export default { }, isEncodeTaskRunning() { return this.encodeTask && !this.encodeTask?.isFinished + }, + isWindowsInstall() { + return this.Source == 'windows' + }, + Source() { + return this.$store.state.Source } }, methods: { diff --git a/client/components/modals/libraries/LazyFolderChooser.vue b/client/components/modals/libraries/LazyFolderChooser.vue index 0254f760..74a81a97 100644 --- a/client/components/modals/libraries/LazyFolderChooser.vue +++ b/client/components/modals/libraries/LazyFolderChooser.vue @@ -35,7 +35,6 @@

{{ $strings.MessageNoFoldersAvailable }}

{{ $strings.NoteFolderPicker }}

-

{{ $strings.NoteFolderPickerDebian }}

@@ -93,12 +92,6 @@ export default { ...d } }) - }, - isDebian() { - return this.Source == 'debian' - }, - Source() { - return this.$store.state.Source } }, methods: { diff --git a/client/components/modals/podcast/tabs/EpisodeDetails.vue b/client/components/modals/podcast/tabs/EpisodeDetails.vue index d7130eba..720e1f75 100644 --- a/client/components/modals/podcast/tabs/EpisodeDetails.vue +++ b/client/components/modals/podcast/tabs/EpisodeDetails.vue @@ -19,7 +19,7 @@
-
+
diff --git a/client/components/readers/ComicReader.vue b/client/components/readers/ComicReader.vue index 67aa16c6..d55fc0d6 100644 --- a/client/components/readers/ComicReader.vue +++ b/client/components/readers/ComicReader.vue @@ -1,7 +1,7 @@