diff --git a/.github/workflows/release-selfhost.yml b/.github/workflows/release-selfhost.yml index 01c6f0d472..9f42a9cc5d 100644 --- a/.github/workflows/release-selfhost.yml +++ b/.github/workflows/release-selfhost.yml @@ -63,6 +63,7 @@ jobs: run: | git config user.name "Budibase Helm Bot" git config user.email "<>" + git reset --hard git pull helm package charts/budibase git checkout gh-pages diff --git a/lerna.json b/lerna.json index 8e84bf648d..7f1805759a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.86-alpha.0", + "version": "1.0.88", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 4b86c0ce59..ae23e9164b 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/backend-core/src/middleware/authenticated.js b/packages/backend-core/src/middleware/authenticated.js index ee815ea330..ef982c799b 100644 --- a/packages/backend-core/src/middleware/authenticated.js +++ b/packages/backend-core/src/middleware/authenticated.js @@ -5,7 +5,7 @@ const { getSession, updateSessionTTL } = require("../security/sessions") const { buildMatcherRegex, matches } = require("./matchers") const env = require("../environment") const { SEPARATOR, ViewNames, queryGlobalView } = require("../../db") -const { getGlobalDB } = require("../tenancy") +const { getGlobalDB, doInTenant } = require("../tenancy") const { decrypt } = require("../security/encryption") function finalise( @@ -25,20 +25,25 @@ async function checkApiKey(apiKey, populateUser) { } const decrypted = decrypt(apiKey) const tenantId = decrypted.split(SEPARATOR)[0] - const db = getGlobalDB(tenantId) - // api key is encrypted in the database - const userId = await queryGlobalView( - ViewNames.BY_API_KEY, - { - key: apiKey, - }, - db - ) - if (userId) { - return { valid: true, user: await getUser(userId, tenantId, populateUser) } - } else { - throw "Invalid API key" - } + return doInTenant(tenantId, async () => { + const db = getGlobalDB() + // api key is encrypted in the database + const userId = await queryGlobalView( + ViewNames.BY_API_KEY, + { + key: apiKey, + }, + db + ) + if (userId) { + return { + valid: true, + user: await getUser(userId, tenantId, populateUser), + } + } else { + throw "Invalid API key" + } + }) } /** diff --git a/packages/backend-core/src/redis/utils.js b/packages/backend-core/src/redis/utils.js index 0d523d0b6b..4c2b2f5cae 100644 --- a/packages/backend-core/src/redis/utils.js +++ b/packages/backend-core/src/redis/utils.js @@ -40,7 +40,7 @@ exports.getRedisOptions = (clustered = false) => { let redisProtocolUrl // fully qualified redis URL - if (/rediss?/.test(REDIS_URL)) { + if (/rediss?:\/\//.test(REDIS_URL)) { redisProtocolUrl = REDIS_URL } diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 6098cae1e1..f71ea1ca3d 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", @@ -38,7 +38,7 @@ ], "dependencies": { "@adobe/spectrum-css-workflow-icons": "^1.2.1", - "@budibase/string-templates": "^1.0.86-alpha.0", + "@budibase/string-templates": "^1.0.88", "@spectrum-css/actionbutton": "^1.0.1", "@spectrum-css/actiongroup": "^1.0.1", "@spectrum-css/avatar": "^3.0.2", diff --git a/packages/builder/package.json b/packages/builder/package.json index cdee1df1b3..48c3324580 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "license": "GPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.86-alpha.0", - "@budibase/client": "^1.0.86-alpha.0", - "@budibase/frontend-core": "^1.0.86-alpha.0", - "@budibase/string-templates": "^1.0.86-alpha.0", + "@budibase/bbui": "^1.0.88", + "@budibase/client": "^1.0.88", + "@budibase/frontend-core": "^1.0.88", + "@budibase/string-templates": "^1.0.88", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index c34c2b6c96..d57e3d6931 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 2b974f0c1b..50252b508e 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.86-alpha.0", - "@budibase/frontend-core": "^1.0.86-alpha.0", - "@budibase/string-templates": "^1.0.86-alpha.0", + "@budibase/bbui": "^1.0.88", + "@budibase/frontend-core": "^1.0.88", + "@budibase/string-templates": "^1.0.88", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index b3b5a0e822..51ed5f1ca4 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.86-alpha.0", + "@budibase/bbui": "^1.0.88", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 1acecbed11..bddab29c31 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -71,9 +71,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.86-alpha.0", - "@budibase/client": "^1.0.86-alpha.0", - "@budibase/string-templates": "^1.0.86-alpha.0", + "@budibase/backend-core": "^1.0.88", + "@budibase/client": "^1.0.88", + "@budibase/string-templates": "^1.0.88", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/server/src/threads/query.js b/packages/server/src/threads/query.js index c547a10c74..3ce138b72f 100644 --- a/packages/server/src/threads/query.js +++ b/packages/server/src/threads/query.js @@ -51,9 +51,6 @@ class QueryRunner { } else { sql = sql.replace(binding, variable) } - // const indexOfBinding = sql.indexOf(binding) - // const constantStr = `'${binding}'` - // sql = sql.replace(sql.indexOf(constantStr) === indexOfBinding - 1 ? constantStr : binding, variable) } // replicate the knex structure fields.sql = sql diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 27d9980fe8..a426988e8c 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 38df24eb95..1558474ab2 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.86-alpha.0", + "version": "1.0.88", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.86-alpha.0", - "@budibase/string-templates": "^1.0.86-alpha.0", + "@budibase/backend-core": "^1.0.88", + "@budibase/string-templates": "^1.0.88", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", diff --git a/packages/worker/src/api/controllers/global/auth.js b/packages/worker/src/api/controllers/global/auth.js index 7b0e50c099..0f0201f5da 100644 --- a/packages/worker/src/api/controllers/global/auth.js +++ b/packages/worker/src/api/controllers/global/auth.js @@ -85,7 +85,12 @@ exports.setInitInfo = ctx => { } exports.getInitInfo = ctx => { - ctx.body = getCookie(ctx, Cookies.Init) || {} + try { + ctx.body = getCookie(ctx, Cookies.Init) || {} + } catch (err) { + clearCookie(ctx, Cookies.Init) + ctx.body = {} + } } /**