From 2a88ff83f270fed7df94cc69c31b956a6cfadc84 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sun, 8 Oct 2023 18:51:02 +0000 Subject: [PATCH 1/5] fix: persist the redirection state in localstorage to maintain the value across redirection --- packages/nc-gui/middleware/auth.global.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/middleware/auth.global.ts b/packages/nc-gui/middleware/auth.global.ts index 5c6ca2b9d1..7d818a770d 100644 --- a/packages/nc-gui/middleware/auth.global.ts +++ b/packages/nc-gui/middleware/auth.global.ts @@ -54,13 +54,18 @@ export default defineNuxtRouteMiddleware(async (to, from) => { /** if shared base allow without validating */ if (to.params.typeOrId === 'base') return - /** if auth is required or unspecified (same as required) and user is not signed in, redirect to signin page */ + /** if auth is required or unspecified (same `as required) and user is not signed in, redirect to signin page */ if ((to.meta.requiresAuth || typeof to.meta.requiresAuth === 'undefined') && !state.signedIn.value) { /** If this is the first usern navigate to signup page directly */ if (state.appInfo.value.firstUser) { + const query = to.fullPath !== '/' && to.fullPath.match(/^\/(?!\?)/) ? { continueAfterSignIn: to.fullPath } : {} + if (query.continueAfterSignIn) { + localStorage.setItem('continueAfterSignIn', query.continueAfterSignIn) + } + return navigateTo({ path: '/signup', - query: to.fullPath !== '/' && to.fullPath.match(/^\/(?!\?)/) ? { continueAfterSignIn: to.fullPath } : {}, + query, }) } From ff726f5ebd5b22ab3fbc52e6690303ca6837c691 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sun, 8 Oct 2023 18:51:02 +0000 Subject: [PATCH 2/5] fix: handle missing redirects --- packages/nc-gui/plugins/state.ts | 8 +++++++- .../nocodb/src/controllers/bulk-data-alias.controller.ts | 1 - 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/nc-gui/plugins/state.ts b/packages/nc-gui/plugins/state.ts index da575163ec..a68cb42cfc 100644 --- a/packages/nc-gui/plugins/state.ts +++ b/packages/nc-gui/plugins/state.ts @@ -1,4 +1,4 @@ -import { Language, LanguageAlias, defineNuxtPlugin, useApi, useGlobal } from '#imports' +import { Language, LanguageAlias, defineNuxtPlugin, isEeUI, useApi, useGlobal } from '#imports' import { loadLocaleMessages, setI18nLanguage } from '~/plugins/a.i18n' /** @@ -35,3 +35,9 @@ export default defineNuxtPlugin(async () => { console.error(e) } }) + +const defaultExport = isEeUI ? defineNuxtPlugin(async () => {}) : statePlugin + +export { statePlugin } + +export default defaultExport diff --git a/packages/nocodb/src/controllers/bulk-data-alias.controller.ts b/packages/nocodb/src/controllers/bulk-data-alias.controller.ts index c4478cb9a6..1e0c13ef50 100644 --- a/packages/nocodb/src/controllers/bulk-data-alias.controller.ts +++ b/packages/nocodb/src/controllers/bulk-data-alias.controller.ts @@ -10,7 +10,6 @@ import { Response, UseGuards, } from '@nestjs/common'; -import { Throttle } from '@nestjs/throttler'; import { GlobalGuard } from '~/guards/global/global.guard'; import { BulkDataAliasService } from '~/services/bulk-data-alias.service'; import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware'; From 92b41cac2fadfd1953b23f2f2f00348aa567ac83 Mon Sep 17 00:00:00 2001 From: Pranav C Date: Sat, 7 Oct 2023 12:45:03 +0000 Subject: [PATCH 3/5] fix: miscellaneous changes --- .../dlg/share-and-collaborate/ShareBase.vue | 32 ++++++++++++++--- .../dlg/share-and-collaborate/SharePage.vue | 13 ++++++- .../smartsheet/toolbar/ColumnFilterMenu.vue | 2 +- .../nc-gui/composables/useGlobal/state.ts | 2 +- packages/nc-gui/middleware/auth.global.ts | 7 ++-- .../src/services/shared-bases.service.ts | 36 ++++++++++++++++--- 6 files changed, 79 insertions(+), 13 deletions(-) diff --git a/packages/nc-gui/components/dlg/share-and-collaborate/ShareBase.vue b/packages/nc-gui/components/dlg/share-and-collaborate/ShareBase.vue index 06fa5c2c10..77deeeaa3f 100644 --- a/packages/nc-gui/components/dlg/share-and-collaborate/ShareBase.vue +++ b/packages/nc-gui/components/dlg/share-and-collaborate/ShareBase.vue @@ -1,5 +1,15 @@