From 62d1cd88a139442cfe23d6871973b33f145d17fb Mon Sep 17 00:00:00 2001 From: Graham Steffaniak <42989099+gtsteffaniak@users.noreply.github.com> Date: Mon, 16 Sep 2024 16:01:16 -0500 Subject: [PATCH] V0.2.9 release (#205) --- .github/workflows/main.yaml | 6 +- .github/workflows/pr.yaml | 4 +- .github/workflows/release_dev.yaml | 4 +- CHANGELOG.md | 19 + README.md | 8 +- backend/auth/hook.go | 2 +- backend/benchmark_results.txt | 42 +- backend/cmd/root.go | 10 +- backend/cmd/rules.go | 5 - backend/cmd/users_rm.go | 4 +- backend/cmd/version.go | 2 +- backend/files/file.go | 131 +++--- backend/files/file_test.go | 76 +++ backend/files/indexing.go | 22 +- backend/files/sync.go | 31 +- backend/files/sync_test.go | 220 +++++++++ backend/go.mod | 2 +- backend/go.sum | 39 +- backend/http/auth.go | 14 +- backend/http/public.go | 6 +- backend/http/raw.go | 3 +- backend/http/resource.go | 42 +- backend/http/users.go | 17 +- backend/run_tests.sh | 2 +- backend/runner/runner.go | 4 +- backend/settings/config.go | 33 +- backend/settings/structs.go | 22 +- backend/users/storage.go | 2 - backend/users/users.go | 67 +-- frontend/public/index.html | 6 +- frontend/public/manifest.json | 4 +- frontend/src/api/files.js | 260 ++++++----- frontend/src/api/pub.js | 3 +- frontend/src/api/search.js | 36 +- frontend/src/api/users.js | 85 ++-- frontend/src/api/utils.js | 4 +- .../src/components/{header => }/Action.vue | 0 frontend/src/components/Breadcrumbs.vue | 15 +- frontend/src/components/ContextMenu.vue | 230 ++++++++++ frontend/src/components/FileSelection.vue | 168 ------- frontend/src/components/Search.vue | 15 +- .../src/components/files/ExtendedImage.vue | 7 +- frontend/src/components/files/ListingItem.vue | 58 +-- frontend/src/components/prompts/Copy.vue | 4 +- frontend/src/components/prompts/Delete.vue | 8 +- .../src/components/prompts/DeleteUser.vue | 12 +- frontend/src/components/prompts/FileList.vue | 3 +- frontend/src/components/prompts/Info.vue | 9 +- frontend/src/components/prompts/Move.vue | 5 +- frontend/src/components/prompts/NewDir.vue | 17 +- frontend/src/components/prompts/NewFile.vue | 8 +- frontend/src/components/prompts/Rename.vue | 16 +- frontend/src/components/prompts/Share.vue | 62 +-- frontend/src/components/prompts/Upload.vue | 15 +- frontend/src/components/settings/UserForm.vue | 69 +-- frontend/src/components/sidebar/General.vue | 59 +-- frontend/src/components/sidebar/Settings.vue | 16 +- frontend/src/components/sidebar/Sidebar.vue | 3 +- frontend/src/css/base.css | 18 +- frontend/src/css/dark.css | 4 + frontend/src/css/listing.css | 25 +- frontend/src/css/login.css | 2 + frontend/src/i18n/en.json | 1 + frontend/src/i18n/tr.json | 2 +- frontend/src/notify/index.ts | 6 +- frontend/src/notify/message.js | 29 +- frontend/src/router/index.ts | 8 + frontend/src/store/getters.js | 5 +- frontend/src/store/mutations.js | 62 ++- frontend/src/utils/auth.js | 4 +- frontend/src/utils/constants.js | 12 +- frontend/src/utils/download.js | 30 ++ frontend/src/utils/upload.js | 5 +- frontend/src/views/Errors.vue | 20 +- frontend/src/views/Layout.vue | 13 +- frontend/src/views/Login.vue | 5 +- frontend/src/views/Settings.vue | 34 +- frontend/src/views/Share.vue | 41 +- frontend/src/views/bars/Default.vue | 9 +- frontend/src/views/bars/EditorBar.vue | 8 +- frontend/src/views/bars/ListingBar.vue | 9 +- frontend/src/views/files/Editor.vue | 42 +- frontend/src/views/files/ListingView.vue | 431 ++++++++++++++---- frontend/src/views/files/Preview.vue | 37 +- frontend/src/views/settings/Global.vue | 6 +- frontend/src/views/settings/Profile.vue | 14 +- frontend/src/views/settings/Shares.vue | 10 +- frontend/src/views/settings/User.vue | 43 +- frontend/src/views/settings/UserColumn.vue | 106 ----- frontend/src/views/settings/UserDefaults.vue | 87 ---- frontend/src/views/settings/Users.vue | 20 +- frontend/tests/auth.spec.ts | 6 +- roadmap.md | 8 +- 93 files changed, 1843 insertions(+), 1355 deletions(-) create mode 100644 backend/files/file_test.go create mode 100644 backend/files/sync_test.go rename frontend/src/components/{header => }/Action.vue (100%) create mode 100644 frontend/src/components/ContextMenu.vue delete mode 100644 frontend/src/components/FileSelection.vue create mode 100644 frontend/src/utils/download.js delete mode 100644 frontend/src/views/settings/UserColumn.vue delete mode 100644 frontend/src/views/settings/UserDefaults.vue diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 1ebb49d3..babbc1d5 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -12,6 +12,10 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Find latest tag + run: | + echo "LATEST_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)" >> $GITHUB_ENV + echo "latest tag is $LATEST_TAG" - name: Set up QEMU uses: docker/setup-qemu-action@v3.0.0 - name: Set up Docker Buildx @@ -31,7 +35,7 @@ jobs: with: context: . build-args: | - VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} + 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 diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 92fac860..a091f989 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -52,5 +52,5 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} build-args: | - version=${{ steps.meta.outputs.version }} - commitSHA=${{ steps.meta.outputs.revision }} \ No newline at end of file + VERSION=${{ steps.meta.outputs.version }} + REVISION=${{ steps.meta.outputs.revision }} \ No newline at end of file diff --git a/.github/workflows/release_dev.yaml b/.github/workflows/release_dev.yaml index c0e16e05..9464aabc 100644 --- a/.github/workflows/release_dev.yaml +++ b/.github/workflows/release_dev.yaml @@ -35,7 +35,7 @@ jobs: JSON="${{ steps.meta.outputs.tags }}" # Use jq to remove 'v' from the version field JSON=$(echo "$JSON" | sed 's/filebrowser:v/filebrowser:/') - echo "cleaned_tag=$JSON" >> $GITHUB_OUTPUT + echo "CLEANED_TAG=$JSON" >> $GITHUB_ENV - name: Build and push uses: docker/build-push-action@v6 with: @@ -46,5 +46,5 @@ jobs: platforms: linux/amd64 file: ./Dockerfile push: true - tags: ${{ steps.modify-json.outputs.cleaned_tag }} + tags: ${{ env.CLEANED_TAG }} labels: ${{ steps.meta.outputs.labels }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 8af26442..2af53cea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ 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.2.9 + + This release focused on UI navigation experience. Improving keyboard navigation and adds right click context menu. + + **New Features**: + - listing view items are middle-clickable on selected listing or when in single-click mode. + - listing view items can be navigated via arrow keys. + - listing view can jump to items using letters and number keys to cycle through files that start with that character. + - You can use the enter key and backspace key to navigate backwards and forwards on selected items. + - ctr-space will open/close the search (leaving ctr-f to browser default find prompt) + - Added right-click context menu to replace the file selection prompt. + + **Bugfixes**: + - Fixed drag to upload not working. + - Fixed shared video link issues. + - Fixed user edit bug related to other user. + - Fixed password reset bug. + - Fixed loading state getting stuck. + ## v0.2.8 - **Feature**: New gallary view scaling options (closes [#141](https://github.com/gtsteffaniak/filebrowser/issues/141)) diff --git a/README.md b/README.md index dd384bc6..a31c33ff 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@