diff --git a/.github/workflows/bats-test.yml b/.github/workflows/bats-test.yml index 49e26b6e6b..222399ff7e 100644 --- a/.github/workflows/bats-test.yml +++ b/.github/workflows/bats-test.yml @@ -15,25 +15,19 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Install jq - run: | - sudo apt-get update - sudo apt-get install -y jq - - name: Prepare matrix for test files id: set-matrix run: | BATS_FILES=$(find docker-compose/setup-script/tests -name '*.bats') - MATRIX_JSON=$(echo $BATS_FILES | jq -Rsc 'split("\n") | map(select(. != ""))') - echo "matrix=$MATRIX_JSON" >> $GITHUB_ENV - + MATRIX_JSON=$(echo $BATS_FILES | tr -d '\n' | jq -Rsc 'split(" ")' | tr '"' "'") + echo "matrix=$MATRIX_JSON" >> $GITHUB_OUTPUT test: needs: prepare runs-on: ubuntu-latest strategy: fail-fast: false matrix: - test: ${{fromJson(env.matrix)}} + test: ${{fromJson(needs.prepare.outputs.matrix)}} steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/release-executables.yml b/.github/workflows/release-executables.yml index 191d912701..5fc5614e14 100644 --- a/.github/workflows/release-executables.yml +++ b/.github/workflows/release-executables.yml @@ -68,6 +68,10 @@ jobs: - name : Install nocodb, other dependencies and build executables run: | cd ./scripts/pkg-executable + + # downgrade sqlite3 to 5.1.6 until build related issues are resolved + # https://github.com/TryGhost/node-sqlite3/issues/1748 + node ../downgradeSqlite.js # Install nocodb version based on provided tag name npm i -E nocodb@${{ github.event.inputs.tag || inputs.tag }} diff --git a/.github/workflows/sync-to-develop.yml b/.github/workflows/sync-to-develop.yml index ca67059ba7..c0a4db783e 100644 --- a/.github/workflows/sync-to-develop.yml +++ b/.github/workflows/sync-to-develop.yml @@ -43,7 +43,7 @@ jobs: git config user.name 'github-actions[bot]' git config user.email 'github-actions[bot]@users.noreply.github.com' revertSDK=true node scripts/upgradeNocodbSdk.js - pnpm bootstrap + pnpm --filter=nocodb-sdk install --no-frozen-lockfile && pnpm --filter=nocodb-sdk run build && pnpm --filter=nocodb --filter=nc-gui --filter=playwright install --no-frozen-lockfile git add . git diff-index --quiet HEAD || git commit -m "chore: update sdk path" git push origin $BRANCH_NAME diff --git a/docker-compose/setup-script/noco.sh b/docker-compose/setup-script/noco.sh index 2c5c809d10..8f4855d6f3 100755 --- a/docker-compose/setup-script/noco.sh +++ b/docker-compose/setup-script/noco.sh @@ -14,7 +14,7 @@ ORANGE='\033[0;33m' BOLD='\033[1m' NC='\033[0m' -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" # ***************** GLOBAL VARIABLES END *********************************** # ****************************************************************************** diff --git a/docker-compose/setup-script/tests/configure/monitor.bats b/docker-compose/setup-script/tests/configure/monitor.bats index ae20a2d85f..b2e5ee739e 100755 --- a/docker-compose/setup-script/tests/configure/monitor.bats +++ b/docker-compose/setup-script/tests/configure/monitor.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/configure/restart.bats b/docker-compose/setup-script/tests/configure/restart.bats index 2f92868882..8e3082c67e 100755 --- a/docker-compose/setup-script/tests/configure/restart.bats +++ b/docker-compose/setup-script/tests/configure/restart.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/configure/scale.bats b/docker-compose/setup-script/tests/configure/scale.bats index b2bbadd45d..d3adb5e638 100755 --- a/docker-compose/setup-script/tests/configure/scale.bats +++ b/docker-compose/setup-script/tests/configure/scale.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/configure/setup.sh b/docker-compose/setup-script/tests/configure/setup.sh index 3eee2485b5..6c575428bd 100755 --- a/docker-compose/setup-script/tests/configure/setup.sh +++ b/docker-compose/setup-script/tests/configure/setup.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ -z "$NOCO_HOME" ]; then - NOCO_HOME="${HOME}/.nocodb" + NOCO_HOME="./nocodb" fi if [ -d "$NOCO_HOME" ]; then diff --git a/docker-compose/setup-script/tests/configure/start.bats b/docker-compose/setup-script/tests/configure/start.bats index b438e516eb..0a1dce9414 100755 --- a/docker-compose/setup-script/tests/configure/start.bats +++ b/docker-compose/setup-script/tests/configure/start.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/configure/stop.bats b/docker-compose/setup-script/tests/configure/stop.bats index 47f202dfa4..9879a22090 100755 --- a/docker-compose/setup-script/tests/configure/stop.bats +++ b/docker-compose/setup-script/tests/configure/stop.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/configure/upgrade.bats b/docker-compose/setup-script/tests/configure/upgrade.bats index b0e9f6275a..4092a9c148 100755 --- a/docker-compose/setup-script/tests/configure/upgrade.bats +++ b/docker-compose/setup-script/tests/configure/upgrade.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/install/default.bats b/docker-compose/setup-script/tests/install/default.bats index ef6e758d23..a50b6d1825 100755 --- a/docker-compose/setup-script/tests/install/default.bats +++ b/docker-compose/setup-script/tests/install/default.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/install/ip.bats b/docker-compose/setup-script/tests/install/ip.bats index e3fbc1b547..b99d72f802 100755 --- a/docker-compose/setup-script/tests/install/ip.bats +++ b/docker-compose/setup-script/tests/install/ip.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/install/redis.bats b/docker-compose/setup-script/tests/install/redis.bats index fba5db9add..f604df64db 100755 --- a/docker-compose/setup-script/tests/install/redis.bats +++ b/docker-compose/setup-script/tests/install/redis.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/install/scale.bats b/docker-compose/setup-script/tests/install/scale.bats index 73d3e325e5..b98b7b7ed8 100755 --- a/docker-compose/setup-script/tests/install/scale.bats +++ b/docker-compose/setup-script/tests/install/scale.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME diff --git a/docker-compose/setup-script/tests/install/setup.sh b/docker-compose/setup-script/tests/install/setup.sh index 2397e20809..56165d5034 100755 --- a/docker-compose/setup-script/tests/install/setup.sh +++ b/docker-compose/setup-script/tests/install/setup.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ -z "$NOCO_HOME" ]; then - NOCO_HOME="${HOME}/.nocodb" + NOCO_HOME="./nocodb" fi if [ -d "$NOCO_HOME" ]; then diff --git a/docker-compose/setup-script/tests/install/watchtower.bats b/docker-compose/setup-script/tests/install/watchtower.bats index 32c988809c..67f5dfddd6 100755 --- a/docker-compose/setup-script/tests/install/watchtower.bats +++ b/docker-compose/setup-script/tests/install/watchtower.bats @@ -1,6 +1,6 @@ #!/usr/bin/env bats -NOCO_HOME="${HOME}/.nocodb" +NOCO_HOME="./nocodb" export NOCO_HOME setup() { diff --git a/packages/nc-gui/app.vue b/packages/nc-gui/app.vue index 13e8934fd4..cb78700e70 100644 --- a/packages/nc-gui/app.vue +++ b/packages/nc-gui/app.vue @@ -1,7 +1,6 @@ + + + + @@ -341,7 +378,7 @@ const keydownSpace = (e: KeyboardEvent) => { .nc-cell { .nc-attachment-cell { .nc-attachment { - @apply min-h-5.5 min-w-[1.8rem] !ring-1 !ring-gray-300 !rounded; + @apply min-h-5.5 !ring-1 !ring-gray-300 !rounded; } .ghost, @@ -355,5 +392,17 @@ const keydownSpace = (e: KeyboardEvent) => { } } } + .nc-attachment-item { + @apply relative; + + .nc-attachment-remove { + @apply absolute right-0.8 top-0.8 rounded hidden p-0.5 bg-white text-lg leading-none; + box-shadow: 0px 0px 4px #bbb; + } + + &:hover .nc-attachment-remove { + @apply block; + } + } } diff --git a/packages/nc-gui/components/cell/attachment/sort.ts b/packages/nc-gui/components/cell/attachment/sort.ts index a3648ee0e7..2491f8e04e 100644 --- a/packages/nc-gui/components/cell/attachment/sort.ts +++ b/packages/nc-gui/components/cell/attachment/sort.ts @@ -2,7 +2,6 @@ import type { SortableEvent } from 'sortablejs' import Sortable from 'sortablejs' import type { MaybeRef } from '@vueuse/core' import { watchPostEffect } from '@vue/runtime-core' -import { unref } from '#imports' export function useSortable( element: MaybeRef, @@ -52,7 +51,9 @@ export function useSortable( const _element = unref(element) onCleanup(() => { - if (_element && sortable) sortable.destroy() + if (_element && sortable?.el) { + sortable.destroy() + } }) if (_element && !unref(isReadonly)) initSortable(_element) diff --git a/packages/nc-gui/components/cell/attachment/utils.ts b/packages/nc-gui/components/cell/attachment/utils.ts index 6e56487729..c4cd2ab357 100644 --- a/packages/nc-gui/components/cell/attachment/utils.ts +++ b/packages/nc-gui/components/cell/attachment/utils.ts @@ -3,30 +3,6 @@ import { populateUniqueFileName } from 'nocodb-sdk' import DOMPurify from 'isomorphic-dompurify' import { saveAs } from 'file-saver' import RenameFile from './RenameFile.vue' -import { - ColumnInj, - EditModeInj, - IsFormInj, - IsPublicInj, - MetaInj, - NOCO, - ReadonlyInj, - computed, - extractImageSrcFromRawHtml, - inject, - isImage, - message, - parseProp, - ref, - storeToRefs, - useApi, - useAttachment, - useBase, - useFileDialog, - useI18n, - useInjectionState, - watch, -} from '#imports' import MdiPdfBox from '~icons/mdi/pdf-box' import MdiFileWordOutline from '~icons/mdi/file-word-outline' import MdiFilePowerpointBox from '~icons/mdi/file-powerpoint-box' diff --git a/packages/nc-gui/components/cmd-footer/index.vue b/packages/nc-gui/components/cmd-footer/index.vue index 72a594da40..b78dd3efc1 100644 --- a/packages/nc-gui/components/cmd-footer/index.vue +++ b/packages/nc-gui/components/cmd-footer/index.vue @@ -1,5 +1,5 @@ @@ -298,7 +303,7 @@ const onRoleChange = (role: keyof typeof RoleLabels) => (inviteData.roles = role @keydown.esc="dialogShow = false" >