From e269fc8c0a880c9ecae11e0c9f7b7712e5f1acf1 Mon Sep 17 00:00:00 2001 From: Graham Steffaniak <42989099+gtsteffaniak@users.noreply.github.com> Date: Fri, 31 Jan 2025 15:26:21 -0500 Subject: [PATCH] Beta/v0.5.0 (#333) --- .github/workflows/main.yaml | 4 +- .github/workflows/pr.yaml | 4 +- .github/workflows/release_beta.yaml | 4 +- .github/workflows/release_dev.yaml | 2 +- .github/workflows/release_stable.yaml | 4 +- CHANGELOG.md | 32 ++++- README.md | 22 +-- Dockerfile => _docker/Dockerfile | 0 .../Dockerfile.playwright | 0 .../Dockerfile.playwright-base | 0 _docker/docker-compose.yaml | 15 ++ _docker/src/config.yaml | 8 ++ _docker/src/default.conf | 13 ++ backend/auth/storage.go | 21 ++- backend/cmd/root.go | 54 +++++++- backend/config.yaml | 1 - backend/http/auth.go | 7 +- backend/http/middleware.go | 34 ++++- backend/http/router.go | 119 +++++++++------- backend/http/static.go | 10 +- backend/settings/config.go | 20 ++- backend/settings/settings_test.go | 2 - backend/settings/structs.go | 41 ++++-- backend/settings/testingConfig.yaml | 1 - backend/storage/bolt/bolt.go | 5 +- backend/storage/bolt/users.go | 4 +- backend/storage/storage.go | 8 -- backend/swagger/docs/docs.go | 20 ++- backend/swagger/docs/swagger.json | 20 ++- backend/swagger/docs/swagger.yaml | 14 +- frontend/playwright.config.ts | 2 +- frontend/public/index.html | 5 + frontend/src/api/files.js | 9 +- frontend/src/components/ContextMenu.vue | 2 +- frontend/src/components/Notifications.vue | 29 ++++ frontend/src/components/settings/UserForm.vue | 8 +- frontend/src/components/sidebar/General.vue | 4 +- frontend/src/components/sidebar/Sidebar.vue | 2 +- frontend/src/css/listing.css | 2 +- frontend/src/notify/index.ts | 12 +- frontend/src/notify/loadingSpinner.js | 87 ++++++++++++ frontend/src/notify/message.js | 130 ++++++++++-------- frontend/src/store/state.js | 2 +- frontend/src/utils/constants.js | 2 - frontend/src/utils/filesizes.test.js | 21 +++ frontend/src/utils/upload.js | 41 +++++- frontend/src/views/Layout.vue | 14 +- frontend/src/views/Login.vue | 4 +- frontend/src/views/files/ListingView.vue | 2 +- makefile | 4 +- 50 files changed, 644 insertions(+), 227 deletions(-) rename Dockerfile => _docker/Dockerfile (100%) rename Dockerfile.playwright => _docker/Dockerfile.playwright (100%) rename Dockerfile.playwright-base => _docker/Dockerfile.playwright-base (100%) create mode 100644 _docker/docker-compose.yaml create mode 100644 _docker/src/config.yaml create mode 100644 _docker/src/default.conf create mode 100644 frontend/src/components/Notifications.vue create mode 100644 frontend/src/notify/loadingSpinner.js create mode 100644 frontend/src/utils/filesizes.test.js diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 7008442e..477117eb 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -28,7 +28,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile.playwright + file: ./_docker/Dockerfile.playwright push: false push_latest_to_registry: needs: [ test_frontend ] @@ -65,7 +65,7 @@ jobs: VERSION=${{ env.LATEST_TAG }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} platforms: linux/amd64,linux/arm64,linux/arm/v7 - file: ./Dockerfile + file: ./_docker/Dockerfile push: true tags: 'gtstef/filebrowser:latest' labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 47f1e6c1..93a4ff78 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -30,7 +30,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile.playwright + file: ./_docker/Dockerfile.playwright push: false push_pr_to_registry: name: Push PR @@ -56,7 +56,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile + file: ./_docker/Dockerfile push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release_beta.yaml b/.github/workflows/release_beta.yaml index e07e6df5..daf5f6ba 100644 --- a/.github/workflows/release_beta.yaml +++ b/.github/workflows/release_beta.yaml @@ -31,7 +31,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile.playwright + file: ./_docker/Dockerfile.playwright push: false create_release_tag: needs: [ test_frontend ] @@ -101,7 +101,7 @@ jobs: VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} platforms: linux/amd64,linux/arm64,linux/arm/v7 - file: ./Dockerfile + file: ./_docker/Dockerfile push: true tags: ${{ steps.modify-json.outputs.cleaned_tag }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release_dev.yaml b/.github/workflows/release_dev.yaml index a9e36f39..1b3337b3 100644 --- a/.github/workflows/release_dev.yaml +++ b/.github/workflows/release_dev.yaml @@ -44,7 +44,7 @@ jobs: VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} platforms: linux/amd64 - file: ./Dockerfile + file: ./_docker/Dockerfile push: true tags: ${{ steps.modify-json.outputs.cleaned_tag }} labels: ${{ steps.meta.outputs.labels }} diff --git a/.github/workflows/release_stable.yaml b/.github/workflows/release_stable.yaml index 3bf398af..2792c396 100644 --- a/.github/workflows/release_stable.yaml +++ b/.github/workflows/release_stable.yaml @@ -31,7 +31,7 @@ jobs: uses: docker/build-push-action@v6 with: context: . - file: ./Dockerfile.playwright + file: ./_docker/Dockerfile.playwright push: false create_release_tag: needs: [ test_frontend ] @@ -100,7 +100,7 @@ jobs: VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} platforms: linux/amd64,linux/arm64,linux/arm/v7 - file: ./Dockerfile + file: ./_docker/Dockerfile push: true tags: ${{ steps.modify-json.outputs.cleaned_tag }} labels: ${{ steps.meta.outputs.labels }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ae92842..d60ad5ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,27 @@ All notable changes to this project will be documented in this file. For commit guidelines, please refer to [Standard Version](https://github.com/conventional-changelog/standard-version). +## v0.5.0-beta + + > Note: This Beta release includes a configuration change: `auth.method` is now deprecated. This is done to allow multiple login methods at once. Auth methods are specified via `auth.methods` instead. see [example on the wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Configuration#example-auth-config). + + **New Features**: + - Upload progress notification https://github.com/gtsteffaniak/filebrowser/issues/303 + - proxy auth auto create user when `auth.methods.proxy.createUser: true` while using proxy auth. + + **Notes**: + - Context menu positioning tweaks. + - using /tmp cachedir is disabled by default, cache dir can be specified via `server.cacheDir: /tmp` to enable it. https://github.com/gtsteffaniak/filebrowser/issues/326 + + **Bugfixes**: + - Gracefully shutdown to protect database. https://github.com/gtsteffaniak/filebrowser/issues/317 + - validates auth method provided before server startup. + - fix sidebar disk space usage calculation. https://github.com/gtsteffaniak/filebrowser/issues/315 + - Fixed proxy auth header support (make sure your proxy and server are secure!). https://github.com/gtsteffaniak/filebrowser/issues/322 + ## v0.4.2-beta - **New Features** + **New Features**: - Hidden files changes - windows hidden file properties are respected -- when running on windows binary (not docker) with NTFS filesystem. - windows "system" files are considered hidden. @@ -19,10 +37,10 @@ All notable changes to this project will be documented in this file. For commit ## v0.4.1-beta - **New Features** + **New Features**: - right-click actions are available on search. https://github.com/gtsteffaniak/filebrowser/issues/273 - **Notes** + **Notes**: - delete prompt now lists all items that will be affected by delete - Debug and logger output tweaks. @@ -34,13 +52,13 @@ All notable changes to this project will be documented in this file. For commit ## v0.4.0-beta - **New Features** + **New Features**: - Better logging https://github.com/gtsteffaniak/filebrowser/issues/288 - highly configurable - api logs include user - onlyOffice support for editing only office files (inspired from https://github.com/filebrowser/filebrowser/pull/2954) - **Notes** + **Notes**: - Breadcrumbs will only show on file listing (not on previews or editors) - Config file is now optional. It will run with default settings without one and throw a `[WARN ]` message. - Added more descriptions to swagger API @@ -58,7 +76,7 @@ All notable changes to this project will be documented in this file. For commit ## v0.3.6-beta - **New Features** + **New Features**: - Adds "externalUrl" server config https://github.com/gtsteffaniak/filebrowser/issues/272 **Notes**: @@ -74,7 +92,7 @@ All notable changes to this project will be documented in this file. For commit ## v0.3.5 - **New Features** + **New Features**: - More indexing configuration options possible. However consider waiting on using this feature, because I will soon have a full onboarding experience in the UI to manage sources instead. - added config file options "sources" in the server config. - can enable/disable indexing a specified list of directories/files diff --git a/README.md b/README.md index 1f43358b..67031960 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,17 @@ -
-
-
-
+