From 22541721c1b053cd6a79bc04abe5d4424de5e3be Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Mon, 11 Jul 2022 15:59:32 +0200 Subject: [PATCH 001/160] Pass a title property with untruncated text to the RadioGroup --- packages/bbui/src/Form/Core/RadioGroup.svelte | 3 ++- packages/bbui/src/Form/RadioGroup.svelte | 2 ++ .../backend/DataTable/modals/CreateEditColumn.svelte | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/RadioGroup.svelte b/packages/bbui/src/Form/Core/RadioGroup.svelte index 18a1e82ee8..a3952a9759 100644 --- a/packages/bbui/src/Form/Core/RadioGroup.svelte +++ b/packages/bbui/src/Form/Core/RadioGroup.svelte @@ -10,6 +10,7 @@ export let disabled = false export let getOptionLabel = option => option export let getOptionValue = option => option + export let getOptionTitle = option => option const dispatch = createEventDispatcher() const onChange = e => dispatch("change", e.target.value) @@ -19,7 +20,7 @@ {#if options && Array.isArray(options)} {#each options as option}
diff --git a/packages/bbui/src/Form/RadioGroup.svelte b/packages/bbui/src/Form/RadioGroup.svelte index 528f9f5eba..843a3657b4 100644 --- a/packages/bbui/src/Form/RadioGroup.svelte +++ b/packages/bbui/src/Form/RadioGroup.svelte @@ -12,6 +12,7 @@ export let direction = "vertical" export let getOptionLabel = option => extractProperty(option, "label") export let getOptionValue = option => extractProperty(option, "value") + export let getOptionTitle = option => extractProperty(option, "label") const dispatch = createEventDispatcher() const onChange = e => { @@ -35,6 +36,7 @@ {direction} {getOptionLabel} {getOptionValue} + {getOptionTitle} on:change={onChange} /> diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index 77ab75827f..a6cef23467 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -474,6 +474,7 @@ options={relationshipOptions} getOptionLabel={option => option.name} getOptionValue={option => option.value} + getOptionTitle={option => option.alt} /> {/if} Date: Mon, 25 Jul 2022 09:49:37 +0200 Subject: [PATCH 002/160] add missing props --- packages/client/src/components/app/forms/OptionsField.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/client/src/components/app/forms/OptionsField.svelte b/packages/client/src/components/app/forms/OptionsField.svelte index 1df0216f56..dd90591569 100644 --- a/packages/client/src/components/app/forms/OptionsField.svelte +++ b/packages/client/src/components/app/forms/OptionsField.svelte @@ -77,6 +77,7 @@ {direction} on:change={handleChange} getOptionLabel={flatOptions ? x => x : x => x.label} + getOptionTitle={flatOptions ? x => x : x => x.label} getOptionValue={flatOptions ? x => x : x => x.value} /> {/if} From 64b8678376388b068b1180dd962de507e15b17db Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 15:22:54 +0100 Subject: [PATCH 003/160] Fix add component not working on first click when no component is selected --- .../design/[screenId]/_components/AppPreview.svelte | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte index 3c99c90d49..814930d636 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/AppPreview.svelte @@ -186,7 +186,7 @@ $goto("./navigation") } } else if (type === "request-add-component") { - $goto(`./components/${$selectedComponent?._id}/new`) + toggleAddComponent() } else if (type === "highlight-setting") { store.actions.settings.highlight(data.setting) @@ -230,9 +230,8 @@ if (isAddingComponent) { $goto(`../${$selectedScreen._id}/components/${$selectedComponent?._id}`) } else { - $goto( - `../${$selectedScreen._id}/components/${$selectedComponent?._id}/new` - ) + const id = $selectedComponent?._id || $selectedScreen?.props?._id + $goto(`../${$selectedScreen._id}/components/${id}/new`) } } From 33deeb6e9eab45b245d3296815ee7d635ae3a8c2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 15:38:21 +0100 Subject: [PATCH 004/160] Support filtering data exports to only certain columns with internal tables --- .../server/src/api/controllers/row/internal.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/server/src/api/controllers/row/internal.js b/packages/server/src/api/controllers/row/internal.js index 086e1d9ce4..0c92959db8 100644 --- a/packages/server/src/api/controllers/row/internal.js +++ b/packages/server/src/api/controllers/row/internal.js @@ -375,6 +375,7 @@ exports.exportRows = async ctx => { const table = await db.get(ctx.params.tableId) const rowIds = ctx.request.body.rows let format = ctx.query.format + const { columns } = ctx.request.body let response = ( await db.allDocs({ include_docs: true, @@ -382,7 +383,20 @@ exports.exportRows = async ctx => { }) ).rows.map(row => row.doc) - let rows = await outputProcessing(table, response) + let result = await outputProcessing(table, response) + let rows = [] + + // Filter data to only specified columns if required + if (columns && columns.length) { + for (let i = 0; i < result.length; i++) { + rows[i] = {} + for (let column of columns) { + rows[i][column] = result[i][column] + } + } + } else { + rows = result + } let headers = Object.keys(rows[0]) const exporter = exporters[format] From e7c25b2194406ba8dc05f2ada5f8293aca547f3c Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 13 Aug 2022 16:25:01 +0100 Subject: [PATCH 005/160] Fix flatpickr offsetting date by one hour on initial selection of time-only fields --- packages/bbui/src/Form/Core/DatePicker.svelte | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index 39a7d9d626..c3eee7505f 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -59,6 +59,13 @@ // If time only set date component to 2000-01-01 if (timeOnly) { + // Classic flackpickr causing issues. + // When selecting a time first the first time for a "time only" field, + // the time is always offset by 1 hour for some reason (regardless of time + // zone) so we need to correct it. + if (!value && newValue) { + newValue = new Date(dates[0].getTime() + 60 * 60 * 1000).toISOString() + } newValue = `2000-01-01T${newValue.split("T")[1]}` } From 9b5be05836af761543b438dc35dc8b4267e59565 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:24:25 +0100 Subject: [PATCH 006/160] Fix typo --- packages/bbui/src/Form/Core/DatePicker.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index c3eee7505f..c6230c5212 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -60,7 +60,7 @@ // If time only set date component to 2000-01-01 if (timeOnly) { // Classic flackpickr causing issues. - // When selecting a time first the first time for a "time only" field, + // When selecting a value for the first time for a "time only" field, // the time is always offset by 1 hour for some reason (regardless of time // zone) so we need to correct it. if (!value && newValue) { From 3cb1ae2bd0af6640052b0cea7ca8fcccf11a1eac Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:37:04 +0100 Subject: [PATCH 007/160] Add download setting to links --- packages/bbui/src/Link/Link.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/bbui/src/Link/Link.svelte b/packages/bbui/src/Link/Link.svelte index f66554bd75..3bbfdd8282 100644 --- a/packages/bbui/src/Link/Link.svelte +++ b/packages/bbui/src/Link/Link.svelte @@ -8,12 +8,14 @@ export let secondary = false export let overBackground = false export let target + export let download Date: Mon, 15 Aug 2022 11:37:30 +0100 Subject: [PATCH 008/160] Use real file names when download files from dropzones --- packages/bbui/src/Form/Core/Dropzone.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/bbui/src/Form/Core/Dropzone.svelte b/packages/bbui/src/Form/Core/Dropzone.svelte index 36515acbc5..e98b2ad964 100644 --- a/packages/bbui/src/Form/Core/Dropzone.svelte +++ b/packages/bbui/src/Form/Core/Dropzone.svelte @@ -133,7 +133,13 @@
{#if selectedUrl} - {selectedImage.name} + + {selectedImage.name} + {:else} {selectedImage.name} {/if} From 8634d88b050a4e38418a31a4e386737c0e0d16bf Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 15 Aug 2022 11:37:40 +0100 Subject: [PATCH 009/160] Use real file names when download files from tables --- packages/bbui/src/Table/AttachmentRenderer.svelte | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/bbui/src/Table/AttachmentRenderer.svelte b/packages/bbui/src/Table/AttachmentRenderer.svelte index 4dff22aef8..3017aac9b7 100644 --- a/packages/bbui/src/Table/AttachmentRenderer.svelte +++ b/packages/bbui/src/Table/AttachmentRenderer.svelte @@ -15,14 +15,24 @@ {#each attachments as attachment} {#if isImage(attachment.extension)} - +
{attachment.extension}
{:else}
- + {attachment.extension}
From e4a1f356b3fdd45fb53dd6590513189f4b202a4e Mon Sep 17 00:00:00 2001 From: Mel O'Hagan Date: Tue, 16 Aug 2022 13:36:48 +0100 Subject: [PATCH 010/160] Only allow bindings type for Is In Conditional UI --- .../_components/settings/ConditionalUIDrawer.svelte | 11 +++++++++-- packages/frontend-core/src/utils/lucene.js | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte index b40b33744f..524b712755 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte @@ -112,7 +112,7 @@ Constants.OperatorOptions.NotEmpty.value, ] condition.noValue = noValueOptions.includes(newOperator) - if (condition.noValue) { + if (condition.noValue || condition.operator === "oneOf") { condition.referenceValue = null condition.valueType = "string" } @@ -207,7 +207,14 @@ /> Date: Wed, 17 Aug 2022 16:44:48 +0100 Subject: [PATCH 012/160] Refactors --- .../_components/settings/ConditionalUIDrawer.svelte | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte index 7589507b21..c386a52cb7 100644 --- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte +++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/components/[componentId]/_components/settings/ConditionalUIDrawer.svelte @@ -112,7 +112,7 @@ Constants.OperatorOptions.NotEmpty.value, ] condition.noValue = noValueOptions.includes(newOperator) - if (condition.noValue || condition.operator === "oneOf") { + if (condition.noValue || newOperator === "oneOf") { condition.referenceValue = null condition.valueType = "string" } @@ -207,14 +207,7 @@ /> { + if (!scopesFields[0].inputText) { + scopesFields[0].error = null + } + if ( + e.key === "Enter" || + e.keyCode === 13 || + e.code == "Space" || + e.keyCode == 32 + ) { + let scopes = providers.oidc.config.configs[0]["scopes"] + ? providers.oidc.config.configs[0]["scopes"] + : [...defaultScopes] + + let update = scopesFields[0].inputText.trim() + + if (/[\\"\s]/.test(update)) { + scopesFields[0].error = + "Auth scopes cannot contain spaces, double quotes or backslashes" + return + } else if (scopes.indexOf(update) > -1) { + scopesFields[0].error = "Auth scope already exists" + return + } else if (!update.length) { + scopesFields[0].inputText = null + scopesFields[0].error = null + return + } else { + scopesFields[0].error = null + } + + if (scopes.indexOf(update) == -1) { + scopes.push(update) + providers.oidc.config.configs[0]["scopes"] = scopes + } + scopesFields[0].inputText = null + } + }} + /> + + {/if} + +
+ + + openid + + {#each providers.oidc.config.configs[0]["scopes"] || [...defaultScopes] as tag, idx} + { + let idxScopes = providers.oidc.config.configs[0]["scopes"] + if (idxScopes.length == 1) { + idxScopes.pop() + } else { + idxScopes.splice(idx, 1) + refreshScopes(0) + } + }} + > + {tag} + + {/each} + + {#if !scopesFields[0].editing} + { + if (!providers.oidc.config.configs[0]) { + providers.oidc.config.configs[0]["scopes"] = [ + ...defaultScopes, + ] + } + scopesFields[0].editing = !scopesFields[0].editing + }} + > + Edit + + {/if} + +
+ + {#if scopesFields[0].editing} +
+ + +
+ {/if} +
+ + {/if} - - - - - -` diff --git a/packages/server/src/api/controllers/static/index.ts b/packages/server/src/api/controllers/static/index.ts index c4d51293b5..bec06d0bf0 100644 --- a/packages/server/src/api/controllers/static/index.ts +++ b/packages/server/src/api/controllers/static/index.ts @@ -102,6 +102,7 @@ export const deleteObjects = async function (ctx: any) { } export const serveApp = async function (ctx: any) { + console.log("SERVE APP") const db = getAppDB({ skip_setup: true }) const appInfo = await db.get(DocumentType.APP_METADATA) let appId = getAppId() @@ -128,6 +129,22 @@ export const serveApp = async function (ctx: any) { } } +export const serveBuilderPreview = async function (ctx: any) { + const db = getAppDB({ skip_setup: true }) + const appInfo = await db.get(DocumentType.APP_METADATA) + + if (!env.isJest()) { + let appId = getAppId() + const previewHbs = loadHandlebarsFile(`${__dirname}/templates/preview.hbs`) + ctx.body = await processString(previewHbs, { + clientLibPath: clientLibraryPath(appId, appInfo.version, ctx), + }) + } else { + // just return the app info for jest to assert on + ctx.body = { ...appInfo, builderPreview: true } + } +} + export const serveClientLibrary = async function (ctx: any) { return send(ctx, "budibase-client.js", { root: join(NODE_MODULES_PATH, "@budibase", "client", "dist"), diff --git a/packages/server/src/api/controllers/static/templates/preview.hbs b/packages/server/src/api/controllers/static/templates/preview.hbs new file mode 100644 index 0000000000..28908df507 --- /dev/null +++ b/packages/server/src/api/controllers/static/templates/preview.hbs @@ -0,0 +1,103 @@ + + + Budibase Builder Preview + + + + + + + + + + \ No newline at end of file diff --git a/packages/server/src/api/routes/static.ts b/packages/server/src/api/routes/static.ts index c94ff54708..9a53486689 100644 --- a/packages/server/src/api/routes/static.ts +++ b/packages/server/src/api/routes/static.ts @@ -56,6 +56,7 @@ router authorized(PermissionTypes.TABLE, PermissionLevels.WRITE), controller.deleteObjects ) + .get("/preview", authorized(BUILDER), controller.serveBuilderPreview) .get("/:appId/:path*", controller.serveApp) .get("/app/:appUrl/:path*", controller.serveApp) .post( diff --git a/packages/server/src/api/routes/tests/static.spec.js b/packages/server/src/api/routes/tests/static.spec.js index 37176f5cf5..812b88329b 100644 --- a/packages/server/src/api/routes/tests/static.spec.js +++ b/packages/server/src/api/routes/tests/static.spec.js @@ -40,7 +40,6 @@ describe("/static", () => { }) describe("/app", () => { - beforeEach(() => { jest.clearAllMocks() }) @@ -60,7 +59,7 @@ describe("/static", () => { it("should serve the app by url", async () => { const headers = config.defaultHeaders() delete headers[constants.Headers.APP_ID] - + const res = await request .get(`/app${config.prodApp.url}`) .set(headers) @@ -82,7 +81,7 @@ describe("/static", () => { describe("/attachments", () => { describe("generateSignedUrls", () => { let datasource - + beforeEach(async () => { datasource = await config.createDatasource({ datasource: { @@ -93,7 +92,7 @@ describe("/static", () => { }, }) }) - + it("should be able to generate a signed upload URL", async () => { const bucket = "foo" const key = "bar" @@ -108,7 +107,7 @@ describe("/static", () => { `https://${bucket}.s3.eu-west-1.amazonaws.com/${key}` ) }) - + it("should handle an invalid datasource ID", async () => { const res = await request .post(`/api/attachments/foo/url`) @@ -123,7 +122,7 @@ describe("/static", () => { "The specified datasource could not be found" ) }) - + it("should require a bucket parameter", async () => { const res = await request .post(`/api/attachments/${datasource._id}/url`) @@ -136,7 +135,7 @@ describe("/static", () => { .expect(400) expect(res.body.message).toEqual("bucket and key values are required") }) - + it("should require a key parameter", async () => { const res = await request .post(`/api/attachments/${datasource._id}/url`) @@ -151,4 +150,17 @@ describe("/static", () => { }) }) + describe("/preview", () => { + beforeEach(() => { + jest.clearAllMocks() + }) + + it("should serve the builder preview", async () => { + const headers = config.defaultHeaders() + const res = await request.get(`/preview`).set(headers).expect(200) + + expect(res.body.appId).toBe(config.appId) + expect(res.body.builderPreview).toBe(true) + }) + }) }) From ed2496c686696b6eaf80220e5189ebc72c92e109 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Sat, 20 Aug 2022 13:51:32 +0100 Subject: [PATCH 049/160] Remove log --- packages/server/src/api/controllers/static/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/server/src/api/controllers/static/index.ts b/packages/server/src/api/controllers/static/index.ts index bec06d0bf0..3b748a6591 100644 --- a/packages/server/src/api/controllers/static/index.ts +++ b/packages/server/src/api/controllers/static/index.ts @@ -102,7 +102,6 @@ export const deleteObjects = async function (ctx: any) { } export const serveApp = async function (ctx: any) { - console.log("SERVE APP") const db = getAppDB({ skip_setup: true }) const appInfo = await db.get(DocumentType.APP_METADATA) let appId = getAppId() From f212051014deaf287f839731a0c61a2778ae4e45 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Mon, 22 Aug 2022 09:19:26 +0000 Subject: [PATCH 050/160] v1.2.44-alpha.1 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index 1724a4ec0d..28379208fe 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index c03de431df..b95a33703d 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.44-alpha.0", + "@budibase/types": "1.2.44-alpha.1", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 63b8cd9845..99f58a045b 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.2.44-alpha.0", + "version": "1.2.44-alpha.1", "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.2.44-alpha.0", + "@budibase/string-templates": "1.2.44-alpha.1", "@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 ccfa0fc27a..569a6c1614 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.44-alpha.0", - "@budibase/client": "1.2.44-alpha.0", - "@budibase/frontend-core": "1.2.44-alpha.0", - "@budibase/string-templates": "1.2.44-alpha.0", + "@budibase/bbui": "1.2.44-alpha.1", + "@budibase/client": "1.2.44-alpha.1", + "@budibase/frontend-core": "1.2.44-alpha.1", + "@budibase/string-templates": "1.2.44-alpha.1", "@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 4ff8c21342..0be473c5fa 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "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 d5264fa2bc..b8e6301de5 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "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.2.44-alpha.0", - "@budibase/frontend-core": "1.2.44-alpha.0", - "@budibase/string-templates": "1.2.44-alpha.0", + "@budibase/bbui": "1.2.44-alpha.1", + "@budibase/frontend-core": "1.2.44-alpha.1", + "@budibase/string-templates": "1.2.44-alpha.1", "@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 32c6ff8034..a08e6120c7 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.44-alpha.0", + "@budibase/bbui": "1.2.44-alpha.1", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index ce1bbe2c10..89b5972f59 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.44-alpha.0", - "@budibase/client": "1.2.44-alpha.0", + "@budibase/backend-core": "1.2.44-alpha.1", + "@budibase/client": "1.2.44-alpha.1", "@budibase/pro": "1.2.44-alpha.0", - "@budibase/string-templates": "1.2.44-alpha.0", - "@budibase/types": "1.2.44-alpha.0", + "@budibase/string-templates": "1.2.44-alpha.1", + "@budibase/types": "1.2.44-alpha.1", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index f852a83337..b6d7806a51 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 4ea6839208..4be607158f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index 13a7c8c322..b3d904ef88 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.44-alpha.0", + "version": "1.2.44-alpha.1", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.44-alpha.0", + "@budibase/backend-core": "1.2.44-alpha.1", "@budibase/pro": "1.2.44-alpha.0", - "@budibase/string-templates": "1.2.44-alpha.0", - "@budibase/types": "1.2.44-alpha.0", + "@budibase/string-templates": "1.2.44-alpha.1", + "@budibase/types": "1.2.44-alpha.1", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From fe3d9f40f65bea90b766e25956f4785c8f480f31 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Mon, 22 Aug 2022 09:22:23 +0000 Subject: [PATCH 051/160] Update pro version to 1.2.44-alpha.1 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 89b5972f59..c3a602459b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.44-alpha.1", "@budibase/client": "1.2.44-alpha.1", - "@budibase/pro": "1.2.44-alpha.0", + "@budibase/pro": "1.2.44-alpha.1", "@budibase/string-templates": "1.2.44-alpha.1", "@budibase/types": "1.2.44-alpha.1", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 0301c561e6..94fcf222a6 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.0.tgz#5fa2161c43e0686ab4b71a6e4a7689e19f28f050" - integrity sha512-6d+lTxjHM5/awdlEqJojA3PybWYFEwo1UXg2WG8Rk4dB4s3v/1QAMdlbX7rSX2BZyojYwZFiPzellJpTH/44qg== +"@budibase/backend-core@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.1.tgz#255c8550302ea0d4b10b231519e12021d008ad33" + integrity sha512-9ceN00ioBD5iUc2Wbcs9Pyvh5gaSfkg1v4Qn9QdRwAG36eo3XVK8kiYWF0q0hkzgcTViJw6xq/1jqMa2InKv6g== dependencies: - "@budibase/types" "1.2.44-alpha.0" + "@budibase/types" "1.2.44-alpha.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.0.tgz#7722dd571befe5663c27a36a4d63ec9ea96fa3e4" - integrity sha512-pxlIkrntNhmXC7dcsCvJNxtUXPH2K8M5WyjpD4hdjbm5JbRhRilCR5fRciKKjMYa8pLupOd8P7K/qcB+C/qvsw== +"@budibase/pro@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.1.tgz#d9e919b1df96f3d3d5cf37753721d41348279f59" + integrity sha512-KaclS4qv4+hWenvuVwF2HxcPWkrDyR7IVyLKLMVUqCnaMoXMvEOe9KuQ+lXLbsLIBsCsCFkzE/WHsdmoaGqa0g== dependencies: - "@budibase/backend-core" "1.2.44-alpha.0" - "@budibase/types" "1.2.44-alpha.0" + "@budibase/backend-core" "1.2.44-alpha.1" + "@budibase/types" "1.2.44-alpha.1" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.0.tgz#350b51e961c5c3c25febe421c35e5f05e6cc6102" - integrity sha512-gM4WM+BQa1UZeV4TKnhQndAwTgpYBXLePichuOw0kehTY5xu96dACtVfMDlHFIANdv701dDzi+Zr/T27sKpS4Q== +"@budibase/types@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.1.tgz#6150d4494326438b46dd7354e5dd0fc7fdbfcc49" + integrity sha512-1eLGH5ym4oYbuRZRkD0slNqHlZ1EV0JHLkmoA47i7L/u8E8QRIyDIHyeZKC8ben33oQS4NX3IebD7zZ2JFhgcA== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index b3d904ef88..3983cc7732 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.44-alpha.1", - "@budibase/pro": "1.2.44-alpha.0", + "@budibase/pro": "1.2.44-alpha.1", "@budibase/string-templates": "1.2.44-alpha.1", "@budibase/types": "1.2.44-alpha.1", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index bc93b01feb..c1935eb87f 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.0.tgz#5fa2161c43e0686ab4b71a6e4a7689e19f28f050" - integrity sha512-6d+lTxjHM5/awdlEqJojA3PybWYFEwo1UXg2WG8Rk4dB4s3v/1QAMdlbX7rSX2BZyojYwZFiPzellJpTH/44qg== +"@budibase/backend-core@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.1.tgz#255c8550302ea0d4b10b231519e12021d008ad33" + integrity sha512-9ceN00ioBD5iUc2Wbcs9Pyvh5gaSfkg1v4Qn9QdRwAG36eo3XVK8kiYWF0q0hkzgcTViJw6xq/1jqMa2InKv6g== dependencies: - "@budibase/types" "1.2.44-alpha.0" + "@budibase/types" "1.2.44-alpha.1" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.0.tgz#7722dd571befe5663c27a36a4d63ec9ea96fa3e4" - integrity sha512-pxlIkrntNhmXC7dcsCvJNxtUXPH2K8M5WyjpD4hdjbm5JbRhRilCR5fRciKKjMYa8pLupOd8P7K/qcB+C/qvsw== +"@budibase/pro@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.1.tgz#d9e919b1df96f3d3d5cf37753721d41348279f59" + integrity sha512-KaclS4qv4+hWenvuVwF2HxcPWkrDyR7IVyLKLMVUqCnaMoXMvEOe9KuQ+lXLbsLIBsCsCFkzE/WHsdmoaGqa0g== dependencies: - "@budibase/backend-core" "1.2.44-alpha.0" - "@budibase/types" "1.2.44-alpha.0" + "@budibase/backend-core" "1.2.44-alpha.1" + "@budibase/types" "1.2.44-alpha.1" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.44-alpha.0": - version "1.2.44-alpha.0" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.0.tgz#350b51e961c5c3c25febe421c35e5f05e6cc6102" - integrity sha512-gM4WM+BQa1UZeV4TKnhQndAwTgpYBXLePichuOw0kehTY5xu96dACtVfMDlHFIANdv701dDzi+Zr/T27sKpS4Q== +"@budibase/types@1.2.44-alpha.1": + version "1.2.44-alpha.1" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.1.tgz#6150d4494326438b46dd7354e5dd0fc7fdbfcc49" + integrity sha512-1eLGH5ym4oYbuRZRkD0slNqHlZ1EV0JHLkmoA47i7L/u8E8QRIyDIHyeZKC8ben33oQS4NX3IebD7zZ2JFhgcA== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From ab0d6bd6ed1a902cb4a7181387453d2a5b7f1543 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 22 Aug 2022 11:00:51 +0100 Subject: [PATCH 052/160] Add action for showing a custom notification --- .../src/builderStore/store/frontend.js | 1 + .../actions/ShowNotification.svelte | 54 +++++++++++++++++++ .../ButtonActionEditor/actions/index.js | 1 + .../controls/ButtonActionEditor/manifest.json | 6 +++ packages/client/manifest.json | 3 +- packages/client/src/utils/buttonActions.js | 9 ++++ 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ShowNotification.svelte diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index c7795d4b54..4d0653208c 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -40,6 +40,7 @@ const INITIAL_FRONTEND_STATE = { devicePreview: false, messagePassing: false, continueIfAction: false, + showNotificationAction: false, }, errors: [], hasAppPackage: false, diff --git a/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ShowNotification.svelte b/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ShowNotification.svelte new file mode 100644 index 0000000000..ed4ecc2738 --- /dev/null +++ b/packages/builder/src/components/design/settings/controls/ButtonActionEditor/actions/ShowNotification.svelte @@ -0,0 +1,54 @@ + + +
+ + - + (parameters.message = e.detail)} /> +
diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte index 8f22371372..990a54610c 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/PasswordModal.svelte @@ -96,7 +96,7 @@ + + + + diff --git a/packages/builder/src/stores/portal/users.js b/packages/builder/src/stores/portal/users.js index 1dbc878dd1..e9bdf790f2 100644 --- a/packages/builder/src/stores/portal/users.js +++ b/packages/builder/src/stores/portal/users.js @@ -83,7 +83,7 @@ export function createUsersStore() { } async function bulkDelete(userIds) { - await API.deleteUsers(userIds) + return API.deleteUsers(userIds) } async function save(user) { From 415678ee8aa791b9975d24c07c13eff27676deda Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Fri, 26 Aug 2022 13:12:33 +0100 Subject: [PATCH 118/160] update deletion failure modal --- .../manage/users/_components/DeletionFailureModal.svelte | 4 ++-- .../src/pages/builder/portal/manage/users/index.svelte | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte index cfc753f1ca..370ee153f2 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/DeletionFailureModal.svelte @@ -52,7 +52,7 @@ Date: Fri, 26 Aug 2022 13:18:38 +0100 Subject: [PATCH 119/160] Update NGINX access log to show upstream_response_time, proxy_host and upstream_addr --- hosting/nginx.dev.conf.hbs | 5 ++++- hosting/nginx.prod.conf.hbs | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hosting/nginx.dev.conf.hbs b/hosting/nginx.dev.conf.hbs index 9398b7e719..148007d958 100644 --- a/hosting/nginx.dev.conf.hbs +++ b/hosting/nginx.dev.conf.hbs @@ -15,7 +15,10 @@ http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + '"$http_user_agent" "$http_x_forwarded_for" ' + 'response_time=$upstream_response_time proxy_host=$proxy_host upstream_addr=$upstream_addr'; + + access_log /var/log/nginx/access.log main; map $http_upgrade $connection_upgrade { default "upgrade"; diff --git a/hosting/nginx.prod.conf.hbs b/hosting/nginx.prod.conf.hbs index 4213626309..3c0e34387d 100644 --- a/hosting/nginx.prod.conf.hbs +++ b/hosting/nginx.prod.conf.hbs @@ -33,7 +33,10 @@ http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + '"$http_user_agent" "$http_x_forwarded_for" ' + 'response_time=$upstream_response_time proxy_host=$proxy_host upstream_addr=$upstream_addr'; + + access_log /var/log/nginx/access.log main; map $http_upgrade $connection_upgrade { default "upgrade"; From 4f9beb41e95e1026381e55e726ba73c1038ec0ba Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 26 Aug 2022 13:27:00 +0000 Subject: [PATCH 120/160] v1.2.44-alpha.10 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lerna.json b/lerna.json index a4a92345c0..99c092ebd4 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ca8e4bcfb1..a444e420b7 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.44-alpha.9", + "@budibase/types": "1.2.44-alpha.10", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 2717e0d437..6ed50eee9d 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.2.44-alpha.9", + "version": "1.2.44-alpha.10", "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.2.44-alpha.9", + "@budibase/string-templates": "1.2.44-alpha.10", "@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 2560bde9d6..322c2c1bfb 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.44-alpha.9", - "@budibase/client": "1.2.44-alpha.9", - "@budibase/frontend-core": "1.2.44-alpha.9", - "@budibase/string-templates": "1.2.44-alpha.9", + "@budibase/bbui": "1.2.44-alpha.10", + "@budibase/client": "1.2.44-alpha.10", + "@budibase/frontend-core": "1.2.44-alpha.10", + "@budibase/string-templates": "1.2.44-alpha.10", "@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 d1f662c212..458ef2569c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "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 6409b15bf7..15ce6f1fd6 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "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.2.44-alpha.9", - "@budibase/frontend-core": "1.2.44-alpha.9", - "@budibase/string-templates": "1.2.44-alpha.9", + "@budibase/bbui": "1.2.44-alpha.10", + "@budibase/frontend-core": "1.2.44-alpha.10", + "@budibase/string-templates": "1.2.44-alpha.10", "@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 3f8cb0239c..5f8984dea9 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.44-alpha.9", + "@budibase/bbui": "1.2.44-alpha.10", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 1df369cee4..8d0a76167e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.44-alpha.9", - "@budibase/client": "1.2.44-alpha.9", + "@budibase/backend-core": "1.2.44-alpha.10", + "@budibase/client": "1.2.44-alpha.10", "@budibase/pro": "1.2.44-alpha.9", - "@budibase/string-templates": "1.2.44-alpha.9", - "@budibase/types": "1.2.44-alpha.9", + "@budibase/string-templates": "1.2.44-alpha.10", + "@budibase/types": "1.2.44-alpha.10", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 36b510223d..fa94e8e1bf 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 59c37abeb8..48fd7c063a 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index ca7b613a99..0732f9e6d8 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.44-alpha.9", + "version": "1.2.44-alpha.10", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.44-alpha.9", + "@budibase/backend-core": "1.2.44-alpha.10", "@budibase/pro": "1.2.44-alpha.9", - "@budibase/string-templates": "1.2.44-alpha.9", - "@budibase/types": "1.2.44-alpha.9", + "@budibase/string-templates": "1.2.44-alpha.10", + "@budibase/types": "1.2.44-alpha.10", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From a5c83c197f98f14371bf6d9cb03c850e1a8afd16 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 26 Aug 2022 13:30:03 +0000 Subject: [PATCH 121/160] Update pro version to 1.2.44-alpha.10 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 8d0a76167e..4ef6a5bd18 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.44-alpha.10", "@budibase/client": "1.2.44-alpha.10", - "@budibase/pro": "1.2.44-alpha.9", + "@budibase/pro": "1.2.44-alpha.10", "@budibase/string-templates": "1.2.44-alpha.10", "@budibase/types": "1.2.44-alpha.10", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 6ec623f3ce..0e6b40cc30 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.9.tgz#d0c00365a31e3a4c42994d6bc5cf70e03fe84682" - integrity sha512-SaO/8tKFXU98QJF8ztpU9CBP/G7572FUrjk2hm2wBi9aV/r/J/l6R3snRtVTC2Pmf2UY4DneYklP/SUwjaIAqw== +"@budibase/backend-core@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.10.tgz#e34a98cef3cd48943f2fe60f196d0d2504386710" + integrity sha512-Ge8YJo7JbWtaBo9ucSFOCffFBplECi0c+BEP//tCUZTGYly/JnoVySS3mt/F7hSCD2XP8HFHgUD/suTSWCuOig== dependencies: - "@budibase/types" "1.2.44-alpha.9" + "@budibase/types" "1.2.44-alpha.10" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.9.tgz#da801f96723dcf641bdbb4f40a3dc04c29d92732" - integrity sha512-cQdaAZfpCt3Z9+CKcAk6zC5YTqmQh30tdADXJwhXbGePnKjuZ4LN7Ykkeu+ClFXbR98Wip+ln1UqDmtLCKKwOw== +"@budibase/pro@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.10.tgz#0d592d2eea71e2bcf30ae1fa2786605fce1af573" + integrity sha512-r85jqeYevOJ0k20F6aKDOt3CV68mbo8S7IioNNxVb7aXRwsVnEySDN21XcP27r1ZMOJFz2Yz+WcUfntVfLJKmA== dependencies: - "@budibase/backend-core" "1.2.44-alpha.9" - "@budibase/types" "1.2.44-alpha.9" + "@budibase/backend-core" "1.2.44-alpha.10" + "@budibase/types" "1.2.44-alpha.10" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.9.tgz#292417adc3718f6b20ff0128214ca6a2b6877c8d" - integrity sha512-am9MOvmxPrhqeXrqZlojuHMbo9O39t3OAo5In9rtDx8LcJZdajo4xEad5UnMKgbxp1xHkpjLt+QjOohAT7Ct1A== +"@budibase/types@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.10.tgz#e43d83d4754432fc492ff97f6edba475ea896e50" + integrity sha512-4LcI+13ewTqlwEcFvrvqkwUbXhc/vfkfyfBhHmfJFzhpwtXMXSLT+bdVlRAagAW7P/f4HY24vt3PJzrByyN4pQ== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 0732f9e6d8..5dcd799f1a 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.44-alpha.10", - "@budibase/pro": "1.2.44-alpha.9", + "@budibase/pro": "1.2.44-alpha.10", "@budibase/string-templates": "1.2.44-alpha.10", "@budibase/types": "1.2.44-alpha.10", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 6d15fa97a0..dccc6ee4ea 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.9.tgz#d0c00365a31e3a4c42994d6bc5cf70e03fe84682" - integrity sha512-SaO/8tKFXU98QJF8ztpU9CBP/G7572FUrjk2hm2wBi9aV/r/J/l6R3snRtVTC2Pmf2UY4DneYklP/SUwjaIAqw== +"@budibase/backend-core@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.44-alpha.10.tgz#e34a98cef3cd48943f2fe60f196d0d2504386710" + integrity sha512-Ge8YJo7JbWtaBo9ucSFOCffFBplECi0c+BEP//tCUZTGYly/JnoVySS3mt/F7hSCD2XP8HFHgUD/suTSWCuOig== dependencies: - "@budibase/types" "1.2.44-alpha.9" + "@budibase/types" "1.2.44-alpha.10" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.9.tgz#da801f96723dcf641bdbb4f40a3dc04c29d92732" - integrity sha512-cQdaAZfpCt3Z9+CKcAk6zC5YTqmQh30tdADXJwhXbGePnKjuZ4LN7Ykkeu+ClFXbR98Wip+ln1UqDmtLCKKwOw== +"@budibase/pro@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.44-alpha.10.tgz#0d592d2eea71e2bcf30ae1fa2786605fce1af573" + integrity sha512-r85jqeYevOJ0k20F6aKDOt3CV68mbo8S7IioNNxVb7aXRwsVnEySDN21XcP27r1ZMOJFz2Yz+WcUfntVfLJKmA== dependencies: - "@budibase/backend-core" "1.2.44-alpha.9" - "@budibase/types" "1.2.44-alpha.9" + "@budibase/backend-core" "1.2.44-alpha.10" + "@budibase/types" "1.2.44-alpha.10" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.44-alpha.9": - version "1.2.44-alpha.9" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.9.tgz#292417adc3718f6b20ff0128214ca6a2b6877c8d" - integrity sha512-am9MOvmxPrhqeXrqZlojuHMbo9O39t3OAo5In9rtDx8LcJZdajo4xEad5UnMKgbxp1xHkpjLt+QjOohAT7Ct1A== +"@budibase/types@1.2.44-alpha.10": + version "1.2.44-alpha.10" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.44-alpha.10.tgz#e43d83d4754432fc492ff97f6edba475ea896e50" + integrity sha512-4LcI+13ewTqlwEcFvrvqkwUbXhc/vfkfyfBhHmfJFzhpwtXMXSLT+bdVlRAagAW7P/f4HY24vt3PJzrByyN4pQ== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0" From 134952dd1af6be39174fcf35624ebd43cfbbd88f Mon Sep 17 00:00:00 2001 From: marcussorealheis Date: Sun, 28 Aug 2022 22:48:02 -0700 Subject: [PATCH 122/160] removing a basic warning so it doesn't add to the others that will surely come. --- .prettierrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierrc.json b/.prettierrc.json index 39654fd9f9..dae5906124 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -4,7 +4,7 @@ "singleQuote": false, "trailingComma": "es5", "arrowParens": "avoid", - "jsxBracketSameLine": false, + "bracketSameLine": false, "plugins": ["prettier-plugin-svelte"], "svelteSortOrder": "options-scripts-markup-styles" } From 52b4d06c86f5a486655cc1ac504a8f1edd579b39 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Tue, 30 Aug 2022 10:16:01 +0100 Subject: [PATCH 123/160] Revert "Feature/binding ux update" --- .../bbui/src/Actions/position_dropdown.js | 21 +- packages/bbui/src/Popover/Popover.svelte | 3 +- .../cypress/integration/createBinding.spec.js | 10 +- .../builder/src/builderStore/dataBinding.js | 39 +-- .../common/bindings/BindingPanel.svelte | 273 ++++-------------- .../common/bindings/ClientBindingPanel.svelte | 1 + packages/client/manifest.json | 48 +-- 7 files changed, 90 insertions(+), 305 deletions(-) diff --git a/packages/bbui/src/Actions/position_dropdown.js b/packages/bbui/src/Actions/position_dropdown.js index 7570a39c8c..a25cc1bbd5 100644 --- a/packages/bbui/src/Actions/position_dropdown.js +++ b/packages/bbui/src/Actions/position_dropdown.js @@ -1,4 +1,4 @@ -export default function positionDropdown(element, { anchor, align, maxWidth }) { +export default function positionDropdown(element, { anchor, align }) { let positionSide = "top" let maxHeight = 0 let dimensions = getDimensions(anchor) @@ -34,24 +34,13 @@ export default function positionDropdown(element, { anchor, align, maxWidth }) { } function calcLeftPosition() { - let left - - if (align == "right") { - left = dimensions.left + dimensions.width - dimensions.containerWidth - } else if (align == "right-side") { - left = dimensions.left + dimensions.width - } else { - left = dimensions.left - } - - return left + return align === "right" + ? dimensions.left + dimensions.width - dimensions.containerWidth + : dimensions.left } element.style.position = "absolute" element.style.zIndex = "9999" - if (maxWidth) { - element.style.maxWidth = `${maxWidth}px` - } element.style.minWidth = `${dimensions.width}px` element.style.maxHeight = `${maxHeight.toFixed(0)}px` element.style.transformOrigin = `center ${positionSide}` @@ -65,8 +54,10 @@ export default function positionDropdown(element, { anchor, align, maxWidth }) { element.style.left = `${calcLeftPosition(dimensions).toFixed(0)}px` }) }) + resizeObserver.observe(anchor) resizeObserver.observe(element) + return { destroy() { resizeObserver.disconnect() diff --git a/packages/bbui/src/Popover/Popover.svelte b/packages/bbui/src/Popover/Popover.svelte index 91581724d5..756e5e6a09 100644 --- a/packages/bbui/src/Popover/Popover.svelte +++ b/packages/bbui/src/Popover/Popover.svelte @@ -11,7 +11,6 @@ export let align = "right" export let portalTarget export let dataCy - export let maxWidth export let direction = "bottom" export let showTip = false @@ -46,7 +45,7 @@
{ it("should add a current user binding", () => { cy.searchAndAddComponent("Paragraph").then(() => { - addSettingBinding("text", ["Current User", "_id"], "Current User._id") + addSettingBinding("text", "Current User._id") }) }) @@ -28,7 +28,7 @@ filterTests(['smoke', 'all'], () => { const paramName = "foo" cy.createScreen(`/test/:${paramName}`) cy.searchAndAddComponent("Paragraph").then(componentId => { - addSettingBinding("text", ["URL", paramName], `URL.${paramName}`) + addSettingBinding("text", `URL.${paramName}`) // The builder preview pages don't have a real URL, so all we can do // is check that we were able to bind to the property, and that the // component exists on the page @@ -47,13 +47,11 @@ filterTests(['smoke', 'all'], () => { }) }) - const addSettingBinding = (setting, bindingCategories, bindingText, clickOption = true) => { + const addSettingBinding = (setting, bindingText, clickOption = true) => { cy.get(`[data-cy="setting-${setting}"] [data-cy=text-binding-button]`).click() - cy.get(".category-list li").contains(bindingCategories[0]) cy.get(".drawer").within(() => { if (clickOption) { - cy.get(".category-list li").contains(bindingCategories[0]).click() - cy.get("li.binding").contains(bindingCategories[1]).click() + cy.contains(bindingText).click() cy.get("textarea").should("have.value", `{{ ${bindingText} }}`) } else { cy.get("textarea").type(bindingText) diff --git a/packages/builder/src/builderStore/dataBinding.js b/packages/builder/src/builderStore/dataBinding.js index d961a3a1cd..13b749e19f 100644 --- a/packages/builder/src/builderStore/dataBinding.js +++ b/packages/builder/src/builderStore/dataBinding.js @@ -299,10 +299,7 @@ const getProviderContextBindings = (asset, dataProviders) => { schema = {} const values = context.values || [] values.forEach(value => { - schema[value.key] = { - name: value.label, - type: value.type || "string", - } + schema[value.key] = { name: value.label, type: "string" } }) } else if (context.type === "schema") { // Schema contexts are generated dynamically depending on their data @@ -362,12 +359,6 @@ const getProviderContextBindings = (asset, dataProviders) => { providerId, // Table ID is used by JSON fields to know what table the field is in tableId: table?._id, - category: component._instanceName, - icon: def.icon, - display: { - name: fieldSchema.name || key, - type: fieldSchema.type, - }, }) }) }) @@ -394,9 +385,6 @@ const getUserBindings = () => { // datasource options, based on bindable properties fieldSchema, providerId: "user", - category: "Current User", - icon: "User", - display: fieldSchema, }) }) return bindings @@ -413,17 +401,11 @@ const getDeviceBindings = () => { type: "context", runtimeBinding: `${safeDevice}.${makePropSafe("mobile")}`, readableBinding: `Device.Mobile`, - category: "Device", - icon: "DevicePhone", - display: { type: "boolean", name: "mobile" }, }) bindings.push({ type: "context", runtimeBinding: `${safeDevice}.${makePropSafe("tablet")}`, readableBinding: `Device.Tablet`, - category: "Device", - icon: "DevicePhone", - display: { type: "boolean", name: "tablet" }, }) } return bindings @@ -447,8 +429,6 @@ const getSelectedRowsBindings = asset => { "selectedRows" )}`, readableBinding: `${table._instanceName}.Selected rows`, - category: "Selected rows", - icon: "ViewRow", })) ) @@ -480,9 +460,6 @@ const getStateBindings = () => { type: "context", runtimeBinding: `${safeState}.${makePropSafe(key)}`, readableBinding: `State.${key}`, - category: "State", - icon: "AutomatedSegment", - display: { name: key }, })) } return bindings @@ -505,17 +482,11 @@ const getUrlBindings = asset => { type: "context", runtimeBinding: `${safeURL}.${makePropSafe(param)}`, readableBinding: `URL.${param}`, - category: "URL", - icon: "RailTop", - display: { type: "string" }, })) const queryParamsBinding = { type: "context", runtimeBinding: makePropSafe("query"), readableBinding: "Query params", - category: "URL", - icon: "RailTop", - display: { type: "object" }, } return urlParamBindings.concat([queryParamsBinding]) } @@ -526,9 +497,6 @@ const getRoleBindings = () => { type: "context", runtimeBinding: `trim "${role._id}"`, readableBinding: `Role.${role.name}`, - category: "Role", - icon: "UserGroup", - display: { type: "string", name: role.name }, } }) } @@ -550,7 +518,6 @@ export const getEventContextBindings = ( // Check if any context bindings are provided by the component for this // setting const component = findComponent(asset.props, componentId) - const def = store.actions.components.getDefinition(component?._component) const settings = getComponentSettings(component?._component) const eventSetting = settings.find(setting => setting.key === settingKey) if (eventSetting?.context?.length) { @@ -560,8 +527,6 @@ export const getEventContextBindings = ( runtimeBinding: `${makePropSafe("eventContext")}.${makePropSafe( contextEntry.key )}`, - category: component._instanceName, - icon: def.icon, }) }) } @@ -583,8 +548,6 @@ export const getEventContextBindings = ( bindings.push({ readableBinding: `Action ${idx + 1}.${contextValue.label}`, runtimeBinding: `actions.${idx}.${contextValue.value}`, - category: "Actions", - icon: "JourneyAction", }) }) } diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte index ffa0e98819..49cbd434cf 100644 --- a/packages/builder/src/components/common/bindings/BindingPanel.svelte +++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte @@ -9,9 +9,6 @@ Body, Layout, Button, - ActionButton, - Icon, - Popover, } from "@budibase/bbui" import { createEventDispatcher, onMount } from "svelte" import { @@ -48,25 +45,9 @@ let jsValue = initialValueJS ? value : null let hbsValue = initialValueJS ? null : value - let selectedCategory = null - - let popover - let popoverAnchor - let hoverTarget - $: usingJS = mode === "JavaScript" $: searchRgx = new RegExp(search, "ig") $: categories = Object.entries(groupBy("category", bindings)) - - $: bindingIcons = bindings?.reduce((acc, ele) => { - if (ele.icon) { - acc[ele.category] = acc[ele.category] || ele.icon - } - return acc - }, {}) - - $: categoryIcons = { ...bindingIcons, Helpers: "MagicWand" } - $: filteredCategories = categories .map(([name, categoryBindings]) => ({ name, @@ -74,19 +55,10 @@ return binding.readableBinding.match(searchRgx) }), })) - .filter(category => { - return ( - category.bindings?.length > 0 && - (!selectedCategory ? true : selectedCategory === category.name) - ) - }) - + .filter(category => category.bindings?.length > 0) $: filteredHelpers = helpers?.filter(helper => { return helper.label.match(searchRgx) || helper.description.match(searchRgx) }) - - $: categoryNames = [...categories.map(cat => cat[0]), "Helpers"] - $: codeMirrorHints = bindings?.map(x => `$("${x.readableBinding}")`) const updateValue = val => { @@ -168,163 +140,58 @@ }) - - - -
- {#if hoverTarget.title} -
{hoverTarget.title}
- {/if} - {#if hoverTarget.description} -
- {@html hoverTarget.description} -
- {/if} - {#if hoverTarget.example} -
{hoverTarget.example}
- {/if} -
-
-
-
- - - {#if selectedCategory} -
- { - selectedCategory = null - }} - > - Back - -
- {/if} - - {#if !selectedCategory} +
+
Search
- {/if} - - {#if !selectedCategory && !search} -
    - {#each categoryNames as categoryName} -
  • { - selectedCategory = categoryName - }} - > - - {categoryName} - -
  • - {/each} -
- {/if} - - {#if selectedCategory || search} - {#each filteredCategories as category} - {#if category.bindings?.length} -
- {category.name} -
+
+ {#each filteredCategories as category} + {#if category.bindings?.length} +
+
{category.name}
    {#each category.bindings as binding} -
  • { - popoverAnchor = e.target - if (!binding.description) { - return - } - hoverTarget = { - title: binding.display.name || binding.fieldSchema.name, - description: binding.description, - } - popover.show() - e.stopPropagation() - }} - on:mouseleave={() => { - popover.hide() - popoverAnchor = null - hoverTarget = null - }} - on:focus={() => {}} - on:blur={() => {}} - on:click={() => addBinding(binding)} - > - - {#if binding.display?.name} - {binding.display.name} - {:else if binding.fieldSchema?.name} - {binding.fieldSchema?.name} - {:else} - {binding.readableBinding} - {/if} - - - {#if binding.display?.type || binding.fieldSchema?.type} - - - {binding.display?.type || binding.fieldSchema?.type} - - +
  • addBinding(binding)}> + {binding.readableBinding} + {#if binding.type} + {binding.type} + {/if} + {#if binding.description} +
    +
    + {binding.description || ""} +
    {/if}
  • {/each}
- {/if} - {/each} - - {#if selectedCategory === "Helpers" || search} - {#if filteredHelpers?.length} -
Helpers
-
    - {#each filteredHelpers as helper} -
  • addHelper(helper, usingJS)} - on:mouseenter={e => { - popoverAnchor = e.target - if (!helper.displayText && helper.description) { - return - } - hoverTarget = { - title: helper.displayText, - description: helper.description, - example: getHelperExample(helper, usingJS), - } - popover.show() - e.stopPropagation() - }} - on:mouseleave={() => { - popover.hide() - popoverAnchor = null - hoverTarget = null - }} - on:focus={() => {}} - on:blur={() => {}} - > - {helper.displayText} - - function - -
  • - {/each} -
- {/if} +
{/if} + {/each} + {#if filteredHelpers?.length} +
+
Helpers
+
    + {#each filteredHelpers as helper} +
  • addHelper(helper, usingJS)}> +
    +
    {helper.displayText}
    +
    + {@html helper.description} +
    +
    {getHelperExample(
    +                      helper,
    +                      usingJS
    +                    )}
    +
    +
  • + {/each} +
+
{/if} - +
@@ -374,35 +241,6 @@ diff --git a/packages/builder/src/pages/builder/portal/manage/users/index.svelte b/packages/builder/src/pages/builder/portal/manage/users/index.svelte index 1e763240c6..e7d8497b46 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte @@ -7,7 +7,6 @@ Table, Layout, Modal, - ModalContent, Search, notifications, Pagination, @@ -23,6 +22,7 @@ import { goto } from "@roxi/routify" import OnboardingTypeModal from "./_components/OnboardingTypeModal.svelte" import PasswordModal from "./_components/PasswordModal.svelte" + import InvitedModal from "./_components/InvitedModal.svelte" import DeletionFailureModal from "./_components/DeletionFailureModal.svelte" import ImportUsersModal from "./_components/ImportUsersModal.svelte" import { createPaginationStore } from "helpers/pagination" @@ -59,6 +59,7 @@ $: userData = [] $: createUsersResponse = { successful: [], unsuccessful: [] } $: deleteUsersResponse = { successful: [], unsuccessful: [] } + $: inviteUsersResponse = { successful: [], unsuccessful: [] } $: page = $pageInfo.page $: fetchUsers(page, searchEmail) $: { @@ -96,8 +97,7 @@ admin: user.role === Constants.BudibaseRoles.Admin, })) try { - const res = await users.invite(payload) - notifications.success(res.message) + inviteUsersResponse = await users.invite(payload) inviteConfirmationModal.show() } catch (error) { notifications.error("Error inviting user") @@ -281,16 +281,7 @@ - - Your users should now recieve an email invite to get access to their - Budibase account + diff --git a/packages/types/src/api/web/user.ts b/packages/types/src/api/web/user.ts index 0351680f98..b2c17575c2 100644 --- a/packages/types/src/api/web/user.ts +++ b/packages/types/src/api/web/user.ts @@ -29,3 +29,15 @@ export interface BulkDeleteUsersResponse { successful: UserDetails[] unsuccessful: { _id: string; email: string; reason: string }[] } + +export interface InviteUserRequest { + email: string + userInfo: any +} + +export type InviteUsersRequest = InviteUserRequest[] + +export interface InviteUsersResponse { + successful: { email: string }[] + unsuccessful: { email: string; reason: string }[] +} diff --git a/packages/worker/src/api/controllers/global/users.ts b/packages/worker/src/api/controllers/global/users.ts index 97ee34b8f4..d5e8eb8e62 100644 --- a/packages/worker/src/api/controllers/global/users.ts +++ b/packages/worker/src/api/controllers/global/users.ts @@ -1,9 +1,13 @@ -import { EmailTemplatePurpose } from "../../../constants" import { checkInviteCode } from "../../../utilities/redis" -import { sendEmail } from "../../../utilities/email" import { users } from "../../../sdk" import env from "../../../environment" -import { BulkDeleteUsersRequest, CloudAccount, User } from "@budibase/types" +import { + BulkDeleteUsersRequest, + CloudAccount, + InviteUserRequest, + InviteUsersRequest, + User, +} from "@budibase/types" import { accounts, cache, @@ -191,58 +195,27 @@ export const tenantUserLookup = async (ctx: any) => { } export const invite = async (ctx: any) => { - let { email, userInfo } = ctx.request.body - const existing = await usersCore.getGlobalUserByEmail(email) - if (existing) { - ctx.throw(400, "Email address already in use.") + const request = ctx.request.body as InviteUserRequest + const response = await users.invite([request]) + + // explicitly throw for single user invite + if (response.unsuccessful.length) { + const reason = response.unsuccessful[0].reason + if (reason === "Unavailable") { + ctx.throw(400, reason) + } else { + ctx.throw(500, reason) + } } - if (!userInfo) { - userInfo = {} - } - userInfo.tenantId = tenancy.getTenantId() - const opts: any = { - subject: "{{ company }} platform invitation", - info: userInfo, - } - await sendEmail(email, EmailTemplatePurpose.INVITATION, opts) + ctx.body = { message: "Invitation has been sent.", } - await events.user.invited() } export const inviteMultiple = async (ctx: any) => { - let users = ctx.request.body - let existing = false - let existingEmail - for (let user of users) { - if (await usersCore.getGlobalUserByEmail(user.email)) { - existing = true - existingEmail = user.email - break - } - } - - if (existing) { - ctx.throw(400, `${existingEmail} already exists`) - } - - for (let i = 0; i < users.length; i++) { - let userInfo = users[i].userInfo - if (!userInfo) { - userInfo = {} - } - userInfo.tenantId = tenancy.getTenantId() - const opts: any = { - subject: "{{ company }} platform invitation", - info: userInfo, - } - await sendEmail(users[i].email, EmailTemplatePurpose.INVITATION, opts) - } - - ctx.body = { - message: "Invitations have been sent.", - } + const request = ctx.request.body as InviteUsersRequest + ctx.body = await users.invite(request) } export const inviteAccept = async (ctx: any) => { diff --git a/packages/worker/src/api/routes/global/tests/users.spec.ts b/packages/worker/src/api/routes/global/tests/users.spec.ts index 8c2808eeee..a4e5591844 100644 --- a/packages/worker/src/api/routes/global/tests/users.spec.ts +++ b/packages/worker/src/api/routes/global/tests/users.spec.ts @@ -1,3 +1,5 @@ +import { InviteUsersResponse } from "@budibase/types" + jest.mock("nodemailer") import { TestConfiguration, @@ -27,7 +29,8 @@ describe("/api/global/users", () => { describe("invite", () => { it("should be able to generate an invitation", async () => { - const { code, res } = await api.users.sendUserInvite(sendMailMock) + const email = structures.users.newEmail() + const { code, res } = await api.users.sendUserInvite(sendMailMock, email) expect(res.body).toEqual({ message: "Invitation has been sent." }) expect(sendMailMock).toHaveBeenCalled() @@ -35,13 +38,27 @@ describe("/api/global/users", () => { expect(events.user.invited).toBeCalledTimes(1) }) + it("should be able to generate an invitation for existing user", async () => { + const { code, res } = await api.users.sendUserInvite( + sendMailMock, + config.defaultUser!.email, + 400 + ) + + expect(res.body.message).toBe("Unavailable") + expect(sendMailMock).toHaveBeenCalledTimes(0) + expect(code).toBeUndefined() + expect(events.user.invited).toBeCalledTimes(0) + }) + it("should be able to create new user from invite", async () => { - const { code } = await api.users.sendUserInvite(sendMailMock) + const email = structures.users.newEmail() + const { code } = await api.users.sendUserInvite(sendMailMock, email) const res = await api.users.acceptInvite(code) expect(res.body._id).toBeDefined() - const user = await config.getUser("invite@test.com") + const user = await config.getUser(email) expect(user).toBeDefined() expect(user._id).toEqual(res.body._id) expect(events.user.inviteAccepted).toBeCalledTimes(1) @@ -49,6 +66,37 @@ describe("/api/global/users", () => { }) }) + describe("inviteMultiple", () => { + it("should be able to generate an invitation", async () => { + const newUserInvite = () => ({ + email: structures.users.newEmail(), + userInfo: {}, + }) + const request = [newUserInvite(), newUserInvite()] + + const res = await api.users.sendMultiUserInvite(request) + + const body = res.body as InviteUsersResponse + expect(body.successful.length).toBe(2) + expect(body.unsuccessful.length).toBe(0) + expect(sendMailMock).toHaveBeenCalledTimes(2) + expect(events.user.invited).toBeCalledTimes(2) + }) + + it("should not be able to generate an invitation for existing user", async () => { + const request = [{ email: config.defaultUser!.email, userInfo: {} }] + + const res = await api.users.sendMultiUserInvite(request) + + const body = res.body as InviteUsersResponse + expect(body.successful.length).toBe(0) + expect(body.unsuccessful.length).toBe(1) + expect(body.unsuccessful[0].reason).toBe("Unavailable") + expect(sendMailMock).toHaveBeenCalledTimes(0) + expect(events.user.invited).toBeCalledTimes(0) + }) + }) + describe("bulkCreate", () => { it("should ignore users existing in the same tenant", async () => { const user = await config.createUser() diff --git a/packages/worker/src/sdk/users/users.ts b/packages/worker/src/sdk/users/users.ts index 3e084ded55..0ea16bf670 100644 --- a/packages/worker/src/sdk/users/users.ts +++ b/packages/worker/src/sdk/users/users.ts @@ -16,12 +16,12 @@ import { migrations, StaticDatabases, ViewName, + events, } from "@budibase/backend-core" import { MigrationType, PlatformUserByEmail, User, - Account, BulkCreateUsersResponse, CreateUserResponse, BulkDeleteUsersResponse, @@ -30,8 +30,12 @@ import { RowResponse, BulkDocsResponse, AccountMetadata, + InviteUsersRequest, + InviteUsersResponse, } from "@budibase/types" import { groups as groupUtils } from "@budibase/pro" +import { sendEmail } from "../../utilities/email" +import { EmailTemplatePurpose } from "../../constants" const PAGE_LIMIT = 8 @@ -551,3 +555,53 @@ const bulkDeleteProcessing = async (dbUser: User) => { // let server know to sync user await apps.syncUserInApps(userId) } + +export const invite = async ( + users: InviteUsersRequest +): Promise => { + const response: InviteUsersResponse = { + successful: [], + unsuccessful: [], + } + + const matchedEmails = await searchExistingEmails(users.map(u => u.email)) + const newUsers = [] + + // separate duplicates from new users + for (let user of users) { + if (matchedEmails.includes(user.email)) { + response.unsuccessful.push({ email: user.email, reason: "Unavailable" }) + } else { + newUsers.push(user) + } + } + // overwrite users with new only + users = newUsers + + // send the emails for new users + const tenantId = tenancy.getTenantId() + for (let user of users) { + try { + let userInfo = user.userInfo + if (!userInfo) { + userInfo = {} + } + userInfo.tenantId = tenantId + const opts: any = { + subject: "{{ company }} platform invitation", + info: userInfo, + } + await sendEmail(user.email, EmailTemplatePurpose.INVITATION, opts) + response.successful.push({ email: user.email }) + await events.user.invited() + } catch (e) { + console.error(`Failed to send email invitation email=${user.email}`, e) + response.unsuccessful.push({ + email: user.email, + reason: "Failed to send email", + }) + } + } + + return response +} diff --git a/packages/worker/src/tests/api/users.ts b/packages/worker/src/tests/api/users.ts index 6f29b39da3..c5f338016e 100644 --- a/packages/worker/src/tests/api/users.ts +++ b/packages/worker/src/tests/api/users.ts @@ -3,6 +3,7 @@ import { BulkCreateUsersResponse, BulkDeleteUsersRequest, CreateUserResponse, + InviteUsersRequest, User, UserDetails, } from "@budibase/types" @@ -19,17 +20,21 @@ export class UserAPI { // INVITE - sendUserInvite = async (sendMailMock: any) => { + sendUserInvite = async (sendMailMock: any, email: string, status = 200) => { await this.config.saveSmtpConfig() await this.config.saveSettingsConfig() const res = await this.request .post(`/api/global/users/invite`) .send({ - email: "invite@test.com", + email, }) .set(this.config.defaultHeaders()) .expect("Content-Type", /json/) - .expect(200) + .expect(status) + + if (status !== 200) { + return { code: undefined, res } + } const emailCall = sendMailMock.mock.calls[0][0] // after this URL there should be a code @@ -51,6 +56,17 @@ export class UserAPI { .expect(200) } + sendMultiUserInvite = async (request: InviteUsersRequest, status = 200) => { + await this.config.saveSmtpConfig() + await this.config.saveSettingsConfig() + return this.request + .post(`/api/global/users/multi/invite`) + .send(request) + .set(this.config.defaultHeaders()) + .expect("Content-Type", /json/) + .expect(status) + } + // BULK bulkCreateUsers = async (users: User[], groups: any[] = []) => { From 53a43ae87d18a6c5d84a47c027e794e0e4e834e1 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 1 Sep 2022 08:29:03 +0100 Subject: [PATCH 157/160] Typos --- .../src/pages/builder/portal/manage/users/index.svelte | 6 +++--- packages/worker/src/api/routes/global/tests/users.spec.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/index.svelte b/packages/builder/src/pages/builder/portal/manage/users/index.svelte index e7d8497b46..ea61e3fcf3 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte @@ -144,10 +144,10 @@ userData = await removingDuplicities({ groups, users }) if (!userData.users.length) return - return createUser() + return createUsers() } - async function createUser() { + async function createUsers() { try { createUsersResponse = await users.create( await removingDuplicities(userData) @@ -164,7 +164,7 @@ if (onboardingType === "emailOnboarding") { createUserFlow() } else { - await createUser() + await createUsers() } } diff --git a/packages/worker/src/api/routes/global/tests/users.spec.ts b/packages/worker/src/api/routes/global/tests/users.spec.ts index a4e5591844..7762c2e7e2 100644 --- a/packages/worker/src/api/routes/global/tests/users.spec.ts +++ b/packages/worker/src/api/routes/global/tests/users.spec.ts @@ -38,7 +38,7 @@ describe("/api/global/users", () => { expect(events.user.invited).toBeCalledTimes(1) }) - it("should be able to generate an invitation for existing user", async () => { + it("should not be able to generate an invitation for existing user", async () => { const { code, res } = await api.users.sendUserInvite( sendMailMock, config.defaultUser!.email, From 9bfa3da73ff5ccf96f0a070d29f4b604bd48c5d9 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Thu, 1 Sep 2022 08:40:19 +0100 Subject: [PATCH 158/160] Add trimming to AddUserModal --- .../portal/manage/users/_components/AddUserModal.svelte | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte index ced45db687..0c02eec4e9 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte @@ -44,7 +44,11 @@ ] } - function validateInput(email, index) { + function validateInput(input, index) { + if (input.email) { + input.email = input.email.trim() + } + const email = input.email if (email) { const res = emailValidator(email) if (res === true) { @@ -95,7 +99,7 @@ bind:dropdownValue={input.role} options={Constants.BudibaseRoleOptions} error={input.error} - on:blur={() => validateInput(input.email, index)} + on:blur={() => validateInput(input, index)} />
From 6de0352299284a56f8d1bdd351cd2447a5b4c286 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 08:30:35 +0000 Subject: [PATCH 159/160] v1.2.58-alpha.5 --- lerna.json | 2 +- packages/backend-core/package.json | 4 ++-- packages/bbui/package.json | 4 ++-- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 4 ++-- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 10 +++++----- packages/string-templates/package.json | 2 +- packages/types/package.json | 2 +- packages/worker/package.json | 8 ++++---- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/lerna.json b/lerna.json index 1488c8a8d0..d726cbab9c 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index fd12de23f1..e02ecc2c0c 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase backend core libraries used in server and worker", "main": "dist/src/index.js", "types": "dist/src/index.d.ts", @@ -20,7 +20,7 @@ "test:watch": "jest --watchAll" }, "dependencies": { - "@budibase/types": "1.2.58-alpha.4", + "@budibase/types": "1.2.58-alpha.5", "@techpass/passport-openidconnect": "0.3.2", "aws-sdk": "2.1030.0", "bcrypt": "5.0.1", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index e8636699c2..a35698c779 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.2.58-alpha.4", + "version": "1.2.58-alpha.5", "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.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", "@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 3f327d4703..2ac398ecca 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "license": "GPL-3.0", "private": true, "scripts": { @@ -69,10 +69,10 @@ } }, "dependencies": { - "@budibase/bbui": "1.2.58-alpha.4", - "@budibase/client": "1.2.58-alpha.4", - "@budibase/frontend-core": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", + "@budibase/client": "1.2.58-alpha.5", + "@budibase/frontend-core": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.5", "@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 81adbe2a92..6d5a1e8794 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { @@ -26,7 +26,7 @@ "outputPath": "build" }, "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", "axios": "0.21.2", "chalk": "4.1.0", "cli-progress": "3.11.2", diff --git a/packages/client/package.json b/packages/client/package.json index b66d0b3dac..4b4760099d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "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.2.58-alpha.4", - "@budibase/frontend-core": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", + "@budibase/frontend-core": "1.2.58-alpha.5", + "@budibase/string-templates": "1.2.58-alpha.5", "@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 1ccc947edf..20b22ffe40 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "1.2.58-alpha.4", + "@budibase/bbui": "1.2.58-alpha.5", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 72c6641a51..4b279b4022 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -77,11 +77,11 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "10.0.3", - "@budibase/backend-core": "1.2.58-alpha.4", - "@budibase/client": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", + "@budibase/client": "1.2.58-alpha.5", "@budibase/pro": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", - "@budibase/types": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/types": "1.2.58-alpha.5", "@bull-board/api": "3.7.0", "@bull-board/koa": "3.9.4", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index a893918e99..7cd3887fc8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/types/package.json b/packages/types/package.json index 7452b30a14..6ca06392d3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/types", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase types", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/packages/worker/package.json b/packages/worker/package.json index fcb452dd0e..22397acf77 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.2.58-alpha.4", + "version": "1.2.58-alpha.5", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -35,10 +35,10 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "1.2.58-alpha.4", + "@budibase/backend-core": "1.2.58-alpha.5", "@budibase/pro": "1.2.58-alpha.4", - "@budibase/string-templates": "1.2.58-alpha.4", - "@budibase/types": "1.2.58-alpha.4", + "@budibase/string-templates": "1.2.58-alpha.5", + "@budibase/types": "1.2.58-alpha.5", "@koa/router": "8.0.8", "@sentry/node": "6.17.7", "@techpass/passport-openidconnect": "0.3.2", From 65f2426cd46562e08a32fb64451ae644a301a724 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 1 Sep 2022 08:33:35 +0000 Subject: [PATCH 160/160] Update pro version to 1.2.58-alpha.5 --- packages/server/package.json | 2 +- packages/server/yarn.lock | 30 +++++++++++++++--------------- packages/worker/package.json | 2 +- packages/worker/yarn.lock | 30 +++++++++++++++--------------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/packages/server/package.json b/packages/server/package.json index 4b279b4022..c440376177 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -79,7 +79,7 @@ "@apidevtools/swagger-parser": "10.0.3", "@budibase/backend-core": "1.2.58-alpha.5", "@budibase/client": "1.2.58-alpha.5", - "@budibase/pro": "1.2.58-alpha.4", + "@budibase/pro": "1.2.58-alpha.5", "@budibase/string-templates": "1.2.58-alpha.5", "@budibase/types": "1.2.58-alpha.5", "@bull-board/api": "3.7.0", diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index d98f3c4cff..19c3977f67 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -1094,12 +1094,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" - integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== +"@budibase/backend-core@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" + integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== dependencies: - "@budibase/types" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.5" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -1178,13 +1178,13 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/pro@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" - integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== +"@budibase/pro@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" + integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== dependencies: - "@budibase/backend-core" "1.2.58-alpha.4" - "@budibase/types" "1.2.58-alpha.4" + "@budibase/backend-core" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.5" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" @@ -1207,10 +1207,10 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/types@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" - integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== +"@budibase/types@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" + integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== "@bull-board/api@3.7.0": version "3.7.0" diff --git a/packages/worker/package.json b/packages/worker/package.json index 22397acf77..4601c1cd43 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -36,7 +36,7 @@ "license": "GPL-3.0", "dependencies": { "@budibase/backend-core": "1.2.58-alpha.5", - "@budibase/pro": "1.2.58-alpha.4", + "@budibase/pro": "1.2.58-alpha.5", "@budibase/string-templates": "1.2.58-alpha.5", "@budibase/types": "1.2.58-alpha.5", "@koa/router": "8.0.8", diff --git a/packages/worker/yarn.lock b/packages/worker/yarn.lock index 78004ddb63..580f586a63 100644 --- a/packages/worker/yarn.lock +++ b/packages/worker/yarn.lock @@ -291,12 +291,12 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.4.tgz#3c45ab2161b8da445edcbee009b4a80ee4da9dad" - integrity sha512-gLNxqy44PoSZWxsuJeOYxkwsDPKO0Xz5Iuz0ZNiKRDgIw0A5AavqregwmuVUHIRiWes08RY4lFjOSdozQtI15A== +"@budibase/backend-core@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.2.58-alpha.5.tgz#430699334629b3bd05a5066aa6660c1f68f047b2" + integrity sha512-Z926rAp0eskXUr5UXGwh0S1OMDA3qzIi8o0GHLlO7KZAzk49RYzhRT/yo1fIst8Eq/9ZCaXLFxIeRkDmCJgILg== dependencies: - "@budibase/types" "1.2.58-alpha.4" + "@budibase/types" "1.2.58-alpha.5" "@techpass/passport-openidconnect" "0.3.2" aws-sdk "2.1030.0" bcrypt "5.0.1" @@ -325,21 +325,21 @@ uuid "8.3.2" zlib "1.0.5" -"@budibase/pro@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.4.tgz#08c1d7c08522986c7a94f8e532374d7c39a83297" - integrity sha512-Byvg/sXW9ZwAxd31Ps1ObG/D3vwtttPWr4e55O5ci7XBHDF0soenjwQlNT5FeW8T3RqMORCDUA4jqX6OMpzF0w== +"@budibase/pro@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/pro/-/pro-1.2.58-alpha.5.tgz#1f739653e641ac32d20818517d35bef489ec2ae6" + integrity sha512-owT7ipgZ588KAz6aHPJie5bLJX6EkhTRUvUQlyOJuLWt/hdXXnvbu+agxBQNaXE4gVzn916JJP0L0tbiMctjNA== dependencies: - "@budibase/backend-core" "1.2.58-alpha.4" - "@budibase/types" "1.2.58-alpha.4" + "@budibase/backend-core" "1.2.58-alpha.5" + "@budibase/types" "1.2.58-alpha.5" "@koa/router" "8.0.8" joi "17.6.0" node-fetch "^2.6.1" -"@budibase/types@1.2.58-alpha.4": - version "1.2.58-alpha.4" - resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.4.tgz#21695d674f23f032311fb441d6a4e156b5008e0f" - integrity sha512-OsJ6neUWhjok5480M2usOoYX1s3VyAnB+5N0E0Enb4N4XG/oVRbQQbxSlPFwrmTRpIXxgW/DufL52rVGCw8wcg== +"@budibase/types@1.2.58-alpha.5": + version "1.2.58-alpha.5" + resolved "https://registry.yarnpkg.com/@budibase/types/-/types-1.2.58-alpha.5.tgz#8ea99745f296a1076f878a06b7c228bc60886cd3" + integrity sha512-0JhHDGvfcMcjhBckP3RqbKCDsMhx7ZVTV8wvaqsOaG7PnBSst9dxyX7ETVVzfvYolIK1eV11itsgx0FpbYID2w== "@cspotcode/source-map-consumer@0.8.0": version "0.8.0"