diff --git a/hosting/proxy/nginx.prod.conf b/hosting/proxy/nginx.prod.conf
index 79007da311..12b8df049f 100644
--- a/hosting/proxy/nginx.prod.conf
+++ b/hosting/proxy/nginx.prod.conf
@@ -61,7 +61,7 @@ http {
set $csp_img "img-src http: https: data: blob:";
set $csp_manifest "manifest-src 'self'";
set $csp_media "media-src 'self' https://js.intercomcdn.com https://cdn.budi.live";
- set $csp_worker "worker-src 'none'";
+ set $csp_worker "worker-src blob:";
error_page 502 503 504 /error.html;
location = /error.html {
diff --git a/lerna.json b/lerna.json
index 54b6eb32ff..eb1e791fa3 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,5 +1,5 @@
{
- "version": "2.26.4",
+ "version": "2.27.2",
"npmClient": "yarn",
"packages": [
"packages/*",
diff --git a/packages/bbui/src/Form/Core/DatePicker/NumberInput.svelte b/packages/bbui/src/Form/Core/DatePicker/NumberInput.svelte
index dc4886d28d..6c06ce4e79 100644
--- a/packages/bbui/src/Form/Core/DatePicker/NumberInput.svelte
+++ b/packages/bbui/src/Form/Core/DatePicker/NumberInput.svelte
@@ -4,13 +4,14 @@
export let max
export let hideArrows = false
export let width
+ export let type = "number"
$: style = width ? `width:${width}px;` : ""
diff --git a/packages/bbui/src/Form/Core/DatePicker/TimePicker.svelte b/packages/bbui/src/Form/Core/DatePicker/TimePicker.svelte
index 047e5a4f08..4f070bdcfb 100644
--- a/packages/bbui/src/Form/Core/DatePicker/TimePicker.svelte
+++ b/packages/bbui/src/Form/Core/DatePicker/TimePicker.svelte
@@ -1,5 +1,4 @@
- :
-
@@ -50,10 +36,4 @@
flex-direction: row;
align-items: center;
}
- .time-picker span {
- font-weight: bold;
- font-size: 18px;
- z-index: 0;
- margin-bottom: 1px;
- }
diff --git a/packages/bbui/src/helpers.js b/packages/bbui/src/helpers.js
index 90b447f3c1..1db4a773ba 100644
--- a/packages/bbui/src/helpers.js
+++ b/packages/bbui/src/helpers.js
@@ -166,7 +166,7 @@ export const stringifyDate = (
const offsetForTimezone = (enableTime && ignoreTimezones) || timeOnly
if (offsetForTimezone) {
// Ensure we use the correct offset for the date
- const referenceDate = timeOnly ? new Date() : value.toDate()
+ const referenceDate = value.toDate()
const offset = referenceDate.getTimezoneOffset() * 60000
return new Date(value.valueOf() - offset).toISOString().slice(0, -1)
}
@@ -177,7 +177,7 @@ export const stringifyDate = (
const year = value.year()
const month = `${value.month() + 1}`.padStart(2, "0")
const day = `${value.date()}`.padStart(2, "0")
- return `${year}-${month}-${day}T00:00:00.000`
+ return `${year}-${month}-${day}`
}
// Otherwise use a normal ISO string with time and timezone
diff --git a/packages/builder/src/components/backend/DataTable/formula.js b/packages/builder/src/components/backend/DataTable/formula.js
index a179a7c6e1..7220a5ba4f 100644
--- a/packages/builder/src/components/backend/DataTable/formula.js
+++ b/packages/builder/src/components/backend/DataTable/formula.js
@@ -56,7 +56,7 @@ export function getBindings({
)
}
const field = Object.values(FIELDS).find(
- field => field.type === schema.type && field.subtype === schema.subtype
+ field => field.type === schema.type
)
const label = path == null ? column : `${path}.0.${column}`
diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte
index 8c94455c58..5114ad2d7a 100644
--- a/packages/builder/src/components/common/bindings/BindingPanel.svelte
+++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte
@@ -237,7 +237,12 @@
const onChangeJSValue = e => {
jsValue = encodeJSBinding(e.detail)
- updateValue(jsValue)
+ if (!e.detail?.trim()) {
+ // Don't bother saving empty values as JS
+ updateValue(null)
+ } else {
+ updateValue(jsValue)
+ }
}
onMount(() => {
diff --git a/packages/builder/src/components/common/bindings/DrawerBindableInput.svelte b/packages/builder/src/components/common/bindings/DrawerBindableInput.svelte
index d11ebcf87a..0cb10d1aa5 100644
--- a/packages/builder/src/components/common/bindings/DrawerBindableInput.svelte
+++ b/packages/builder/src/components/common/bindings/DrawerBindableInput.svelte
@@ -4,7 +4,6 @@
readableToRuntimeBinding,
runtimeToReadableBinding,
} from "dataBinding"
-
import ClientBindingPanel from "components/common/bindings/ClientBindingPanel.svelte"
import { createEventDispatcher, setContext } from "svelte"
import { isJSBinding } from "@budibase/string-templates"
diff --git a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/ScreenList/DropdownMenu.svelte b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/ScreenList/DropdownMenu.svelte
index 0d96dcda93..7421bfa68a 100644
--- a/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/ScreenList/DropdownMenu.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/design/[screenId]/_components/ScreenList/DropdownMenu.svelte
@@ -1,5 +1,5 @@