From 80074ddba0c757503e0b1cb21ea0c9c1dd02c0bf Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Mon, 18 Oct 2021 15:38:42 +0000 Subject: [PATCH 01/18] v0.9.169 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index ac5ef2c829..8a7c587265 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.168", + "version": "0.9.169", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 9810f8d7c9..6fd851b7ae 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.168", + "version": "0.9.169", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 9d4fd2f2a0..12415957ec 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": "0.9.168", + "version": "0.9.169", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 6488cf158b..aef6ef2b6f 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.168", + "version": "0.9.169", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.168", - "@budibase/client": "^0.9.168", + "@budibase/bbui": "^0.9.169", + "@budibase/client": "^0.9.169", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.168", + "@budibase/string-templates": "^0.9.169", "@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 ab4f196cbe..a8b92870d1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.168", + "version": "0.9.169", "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 7adcb57736..27b03f8403 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.168", + "version": "0.9.169", "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": "^0.9.168", + "@budibase/bbui": "^0.9.169", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.168", + "@budibase/string-templates": "^0.9.169", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 7137f8e961..4d3bec91d5 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.168", + "version": "0.9.169", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.168", - "@budibase/client": "^0.9.168", - "@budibase/string-templates": "^0.9.168", + "@budibase/auth": "^0.9.169", + "@budibase/client": "^0.9.169", + "@budibase/string-templates": "^0.9.169", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index fa9ff8932c..410b54bad8 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.168", + "version": "0.9.169", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index f77674a0d1..aaff0414cb 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.168", + "version": "0.9.169", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.168", - "@budibase/string-templates": "^0.9.168", + "@budibase/auth": "^0.9.169", + "@budibase/string-templates": "^0.9.169", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From 50757012098c1e8bbe82ff6106e529ed3647134e Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 20 Oct 2021 12:41:10 +0100 Subject: [PATCH 02/18] default MINIO url if available --- .../kubernetes/budibase/templates/app-service-deployment.yaml | 4 ++++ .../budibase/templates/worker-service-deployment.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml index bce532016a..c88e6511b1 100644 --- a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml @@ -73,7 +73,11 @@ spec: name: {{ template "budibase.fullname" . }} key: objectStoreSecret - name: MINIO_URL + {{ if .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }} + {{ else }} + value: minio-service:{{ .Values.services.objectStore.port }} + {{ end }} - name: PORT value: {{ .Values.services.apps.port | quote }} - name: MULTI_TENANCY diff --git a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml index 563b1b4193..0d27f54696 100644 --- a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml @@ -70,7 +70,11 @@ spec: name: {{ template "budibase.fullname" . }} key: objectStoreSecret - name: MINIO_URL + {{ if .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }} + {{ else }} + value: minio-service:{{ .Values.services.objectStore.port }} + {{ end }} - name: PORT value: {{ .Values.services.worker.port | quote }} - name: MULTI_TENANCY From 3c6d4a3470f263906ae2ad034c043152718e7337 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 20 Oct 2021 12:42:21 +0100 Subject: [PATCH 03/18] release helm chart --- docs/budibase-0.2.2.tgz | Bin 0 -> 40740 bytes docs/index.yaml | 50 ++++++++++++++++++------- hosting/kubernetes/budibase/Chart.yaml | 4 +- 3 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 docs/budibase-0.2.2.tgz diff --git a/docs/budibase-0.2.2.tgz b/docs/budibase-0.2.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c3da502141f328decdf1b461d7e0cadf8a4280b8 GIT binary patch literal 40740 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 literal 0 HcmV?d00001 diff --git a/docs/index.yaml b/docs/index.yaml index 8aa6769207..ba71dbea1a 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -2,8 +2,8 @@ apiVersion: v1 entries: budibase: - apiVersion: v2 - appVersion: 0.9.163 - created: "2021-10-18T16:25:04.374924613+01:00" + appVersion: 0.9.169 + created: "2021-10-20T12:42:13.877669+01:00" dependencies: - condition: services.couchdb.enabled name: couchdb @@ -13,8 +13,33 @@ entries: name: ingress-nginx repository: https://github.com/kubernetes/ingress-nginx version: 3.35.0 - description: Budibase is an open source low-code platform, helping thousands of - teams build apps for their workplace in minutes. + description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes. + digest: 83524796e44c76e47b7dc49dcf595d3956889bf75d40092111cd5aca9ca82d2f + keywords: + - low-code + - database + - cluster + name: budibase + sources: + - https://github.com/Budibase/budibase + - https://budibase.com + type: application + urls: + - https://budibase.github.io/budibase/budibase-0.2.2.tgz + version: 0.2.2 + - apiVersion: v2 + appVersion: 0.9.163 + created: "2021-10-20T12:42:13.871929+01:00" + dependencies: + - condition: services.couchdb.enabled + name: couchdb + repository: https://apache.github.io/couchdb-helm + version: 3.3.4 + - condition: ingress.nginx + name: ingress-nginx + repository: https://github.com/kubernetes/ingress-nginx + version: 3.35.0 + description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes. digest: ebac6d8631cc38b266c3689508b5123f5afc395f23bdb02738be26c7cae0b0b5 keywords: - low-code @@ -30,7 +55,7 @@ entries: version: 0.2.1 - apiVersion: v2 appVersion: 0.9.163 - created: "2021-10-18T16:25:04.36936805+01:00" + created: "2021-10-20T12:42:13.867701+01:00" dependencies: - condition: services.couchdb.enabled name: couchdb @@ -40,8 +65,7 @@ entries: name: ingress-nginx repository: https://github.com/kubernetes/ingress-nginx version: 3.35.0 - description: Budibase is an open source low-code platform, helping thousands of - teams build apps for their workplace in minutes. + description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes. digest: f369536c0eac1f6959d51e8ce6d74a87a7a9df29ae84fb9cbed0a273ab77429b keywords: - low-code @@ -57,7 +81,7 @@ entries: version: 0.2.0 - apiVersion: v2 appVersion: 0.9.56 - created: "2021-10-18T16:25:04.36360616+01:00" + created: "2021-10-20T12:42:13.863488+01:00" dependencies: - condition: services.couchdb.enabled name: couchdb @@ -66,8 +90,7 @@ entries: - name: ingress-nginx repository: https://github.com/kubernetes/ingress-nginx version: 3.35.0 - description: Budibase is an open source low-code platform, helping thousands of - teams build apps for their workplace in minutes. + description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes. digest: 8dc4f2ed4d98cad5adf25936aefea680042d3e4e17832f846b961fd8708ad192 keywords: - low-code @@ -83,7 +106,7 @@ entries: version: 0.1.1 - apiVersion: v2 appVersion: 0.9.56 - created: "2021-10-18T16:25:04.354504201+01:00" + created: "2021-10-20T12:42:13.857304+01:00" dependencies: - condition: services.couchdb.enabled name: couchdb @@ -92,8 +115,7 @@ entries: - name: ingress-nginx repository: https://github.com/kubernetes/ingress-nginx version: 3.35.0 - description: Budibase is an open source low-code platform, helping thousands of - teams build apps for their workplace in minutes. + description: Budibase is an open source low-code platform, helping thousands of teams build apps for their workplace in minutes. digest: 08031b0803cce0eff64472e569d454d9176119c8207aa9873a9c95ee66cc7d3f keywords: - low-code @@ -107,4 +129,4 @@ entries: urls: - https://budibase.github.io/budibase/budibase-0.1.0.tgz version: 0.1.0 -generated: "2021-10-18T16:25:04.346266269+01:00" +generated: "2021-10-20T12:42:13.851904+01:00" diff --git a/hosting/kubernetes/budibase/Chart.yaml b/hosting/kubernetes/budibase/Chart.yaml index 6849d2712c..c5233842ad 100644 --- a/hosting/kubernetes/budibase/Chart.yaml +++ b/hosting/kubernetes/budibase/Chart.yaml @@ -22,13 +22,13 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.2.1 +version: 0.2.2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "0.9.163" +appVersion: "0.9.169" dependencies: - name: couchdb From ccf252ddb930892e4125834108846c7dc111c626 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 20 Oct 2021 11:59:17 +0000 Subject: [PATCH 04/18] v0.9.170 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 8a7c587265..129e0bcbef 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169", + "version": "0.9.170", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 6fd851b7ae..1ecd10a849 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169", + "version": "0.9.170", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 12415957ec..c5d6c3c297 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": "0.9.169", + "version": "0.9.170", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index aef6ef2b6f..3b67da73b8 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169", + "version": "0.9.170", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169", - "@budibase/client": "^0.9.169", + "@budibase/bbui": "^0.9.170", + "@budibase/client": "^0.9.170", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169", + "@budibase/string-templates": "^0.9.170", "@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 a8b92870d1..4a518cb5e3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169", + "version": "0.9.170", "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 27b03f8403..7f4e2c56db 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169", + "version": "0.9.170", "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": "^0.9.169", + "@budibase/bbui": "^0.9.170", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169", + "@budibase/string-templates": "^0.9.170", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 4d3bec91d5..16377b1670 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169", + "version": "0.9.170", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169", - "@budibase/client": "^0.9.169", - "@budibase/string-templates": "^0.9.169", + "@budibase/auth": "^0.9.170", + "@budibase/client": "^0.9.170", + "@budibase/string-templates": "^0.9.170", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 410b54bad8..69d686b80d 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169", + "version": "0.9.170", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index aaff0414cb..935ebe18b7 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169", + "version": "0.9.170", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169", - "@budibase/string-templates": "^0.9.169", + "@budibase/auth": "^0.9.170", + "@budibase/string-templates": "^0.9.170", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From 58cabb05c901e67b98eef983b41020a1f79d1cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20K=C3=A4stner?= <8317993+fabiankaestner@users.noreply.github.com> Date: Mon, 18 Oct 2021 13:02:28 +0200 Subject: [PATCH 05/18] minio default --- .../kubernetes/budibase/templates/app-service-deployment.yaml | 2 +- .../budibase/templates/worker-service-deployment.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml index c88e6511b1..625f508f82 100644 --- a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml @@ -76,7 +76,7 @@ spec: {{ if .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }} {{ else }} - value: minio-service:{{ .Values.services.objectStore.port }} + value: http://minio-service:{{ .Values.services.objectStore.port }} {{ end }} - name: PORT value: {{ .Values.services.apps.port | quote }} diff --git a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml index 0d27f54696..2a78638548 100644 --- a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml @@ -73,7 +73,7 @@ spec: {{ if .Values.services.objectStore.url }} value: {{ .Values.services.objectStore.url }} {{ else }} - value: minio-service:{{ .Values.services.objectStore.port }} + value: http://minio-service:{{ .Values.services.objectStore.port }} {{ end }} - name: PORT value: {{ .Values.services.worker.port | quote }} From aa88bd69f4e4c0e924a5332827be6ea77169a230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabian=20K=C3=A4stner?= <8317993+fabiankaestner@users.noreply.github.com> Date: Mon, 18 Oct 2021 12:56:21 +0200 Subject: [PATCH 06/18] Make multitenancy configurable in values.yaml, set selfHosted by default. --- .../templates/app-service-deployment.yaml | 2 +- .../templates/worker-service-deployment.yaml | 2 +- hosting/kubernetes/budibase/values.yaml | 41 ++++++++++--------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml index 625f508f82..fcb8278ea5 100644 --- a/hosting/kubernetes/budibase/templates/app-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/app-service-deployment.yaml @@ -81,7 +81,7 @@ spec: - name: PORT value: {{ .Values.services.apps.port | quote }} - name: MULTI_TENANCY - value: "1" + value: {{ .Values.globals.multiTenancy | quote }} - name: REDIS_PASSWORD value: {{ .Values.services.redis.password }} - name: REDIS_URL diff --git a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml index 2a78638548..101f0c9605 100644 --- a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml @@ -78,7 +78,7 @@ spec: - name: PORT value: {{ .Values.services.worker.port | quote }} - name: MULTI_TENANCY - value: "1" + value: {{ .Values.globals.multiTenancy | quote }} - name: REDIS_PASSWORD value: {{ .Values.services.redis.password | quote }} - name: REDIS_URL diff --git a/hosting/kubernetes/budibase/values.yaml b/hosting/kubernetes/budibase/values.yaml index 774f7ea102..bd9f6543b3 100644 --- a/hosting/kubernetes/budibase/values.yaml +++ b/hosting/kubernetes/budibase/values.yaml @@ -24,10 +24,12 @@ serviceAccount: podAnnotations: {} -podSecurityContext: {} +podSecurityContext: + {} # fsGroup: 2000 -securityContext: {} +securityContext: + {} # capabilities: # drop: # - ALL @@ -42,23 +44,24 @@ service: ingress: enabled: false aws: false - nginx: true - certificateArn: "" + nginx: true + certificateArn: "" className: "" - annotations: + annotations: kubernetes.io/ingress.class: nginx hosts: - host: # change if using custom domain paths: - - path: / - pathType: Prefix - backend: - service: - name: proxy-service - port: - number: 10000 + - path: / + pathType: Prefix + backend: + service: + name: proxy-service + port: + number: 10000 -resources: {} +resources: + {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following @@ -89,10 +92,11 @@ globals: sentryDSN: "" posthogToken: "" logLevel: info - selfHosted: "" - accountPortalUrl: "" + selfHosted: "1" # set to 0 for budibase cloud environment, set to 1 for self-hosted setup + multiTenancy: "0" # set to 0 to disable multiple orgs, set to 1 to enable multiple orgs + accountPortalUrl: "" accountPortalApiKey: "" - cookieDomain: "" + cookieDomain: "" platformUrl: "" createSecrets: true # creates an internal API key, JWT secrets and redis password for you @@ -128,7 +132,7 @@ services: # password: "" # only change if pointing to existing couch server port: 5984 storage: 100Mi - + redis: enabled: true # disable if using external redis port: 6379 @@ -136,7 +140,7 @@ services: url: "" # only change if pointing to existing redis cluster and enabled: false password: "budibase" # recommended to override if using built-in redis storage: 100Mi - + objectStore: minio: true browser: true @@ -147,4 +151,3 @@ services: region: "" # AWS_REGION if using S3 or existing minio secret url: "" # only change if pointing to existing minio cluster and minio: false storage: 100Mi - From 6cccfffb0293f250322c5471b0fc35d447be5424 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 20 Oct 2021 14:17:47 +0100 Subject: [PATCH 07/18] adding log level option --- docs/budibase-0.2.2.tgz | Bin 40740 -> 40800 bytes docs/index.yaml | 14 +++++++------- .../templates/app-service-deployment.yaml | 2 ++ .../templates/worker-service-deployment.yaml | 2 ++ 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/docs/budibase-0.2.2.tgz b/docs/budibase-0.2.2.tgz index c3da502141f328decdf1b461d7e0cadf8a4280b8..5fe4f8e3155d996af8b043e2c0d54de104a4a93d 100644 GIT binary patch delta 37583 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 F1OR!nWN-ig delta 37526 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 Date: Wed, 20 Oct 2021 14:23:46 +0100 Subject: [PATCH 08/18] loglevel param in templates --- .../budibase/templates/worker-service-deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml index aa7de8defa..31cdca2aef 100644 --- a/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml +++ b/hosting/kubernetes/budibase/templates/worker-service-deployment.yaml @@ -80,7 +80,7 @@ spec: - name: MULTI_TENANCY value: {{ .Values.globals.multiTenancy | quote }} - name: LOG_LEVEL - value: {{ .Values.services.apps.logLevel | quote }} + value: {{ .Values.services.worker.logLevel | quote }} - name: REDIS_PASSWORD value: {{ .Values.services.redis.password | quote }} - name: REDIS_URL From 00337602237958ecf0d9359c354b1257f240edcc Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 20 Oct 2021 14:27:31 +0100 Subject: [PATCH 09/18] latest helm chart --- docs/budibase-0.2.2.tgz | Bin 40800 -> 40807 bytes docs/index.yaml | 14 +++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/budibase-0.2.2.tgz b/docs/budibase-0.2.2.tgz index 5fe4f8e3155d996af8b043e2c0d54de104a4a93d..c70754eb990a6b711a3d7b3e7cdbc091d6c7b2f0 100644 GIT binary patch delta 36528 zcmV)NK)1i(z5?gI0+6?VXXokmfAsoWPj`0y1NH74l9s0w5*Po``{KTugZqO#IHy07 zLQu{IXu1{PJa<2P(etRk_dG~QPFO-%OolG8cnx7w0&hkZ4Thq#Q<+cTMqsa6-~7Kxk?~*^aiO zoqE@ljSC_~#Kx4}xc2|;;^<%k#ACYq2mr)-SmgqH%dL?AvwlHg3BVM)^j;XD^; z#0w-Rgcj(U7gu?IierK(Lm6eIBq9o~$n2UI2`qu_BnVN0C03xQ*-1+wNfGF&uqQjv zfI+>MDX>H7y7E;q`$`oI6jd;fPpzwJ!m?3plR*#soJu@bb>lv3q z@(d+B!<0c;gmNq=rlPK_UJOvzz0pN3U_wrR3o@cN-lrjsuLw&9-YbN>dGsH>Yx08M z%tBM7Q3B?;@eUzYW<$G3J%v>quj4k$PXv{s#A!N11&Mi<5thK7mmCQ=vNMM`TzxnU zlB1O1DM3=9K&((;%$bNOFNNNR6RyscVcgWADk6<9aVj{XOdTgd1Wb0U|1G3Yy9;rD zh6tO|g0qY;DbO{Q6O>XZQ?mmtD4R%>@kDk1iZZGeJW{82#!HlNbd6bUBwn?W>CsAk zR(YE8Ys$vZdPOqf*U2R-XS-@4c<=znp^fboQ!la$1g7aG4w zo+>P<5#HN(L4Zdi%BY;_&*PL2aS8*rB=(3+2k7+d_2HX?i{sZPZeaTir!z@^W8pA_ zB7(*2@chIegPaRF;o}Q_MJ&EZ`S>N7l2pk-BMx=a(GOfmHBX&>2W(>}LUqauiPJYlYO$aHdOxRs{~$AqCpo{OGif+%c^&c9T*@GW=YX#pueayqX1}(%$$H`jcs_hfl9r`XajMU z&OFkVbIK%eD;$vID`ey~=`8MK3H675msjSe4h8a$6y{+@3gR`T5i}jn-Z5VLJpmA|+ zogICD{Q6}525z^)y1Ku@W`e8rZ7j-fEzdqYw|kua$4Teilh+qV=aIaTch$!V{m=IH z*3*XmXJ=>k>4W~~KAwJrz9(8l@Kn3#&Dl#doGD3#8EIc}i9E|NOT-}f@F7$_@EoBdeB9K=AWqm1Q>HBF=YaEPIy8Tm)UV38=fjsvcGPR z+$chVPF^1#U7o%^yLj={Vtz6BbL+8T>a|$0*mXI4{ zS332k(H=q6djf|nf|I7tQ|D95`d1?vC|DcI3WHsLcoLnKZH=RN`ugzlWdGGsW4>~p zth?P))WLZk)s`qP7!jqK|i4!a_v~A{6kM7|0$;JNh z$YDyX#U+~0Z{^`c(XA3Wlr1p z7H~Z~!lGnZ3;9|QD=5MdFRpQsc;Kr(24B@D#YgPFHCg?`JT3g+<%Fa;DMTdmySWNn z!T;@S&GCP`+q=E9UkaiFf4ldf|GSsRr|>w>MMcyP-O|_S`aJpOSy zesz3@|IQ(PXAIhgO4Q&Z-x^4xMJpj2^CB$c$x9EObs!S5z>&QQZ{~* zC)#Y@o<7r!H{a@+oAb5ief_yt&*J%4Pg)!EI-^F&&O5a3u9oZ@g{r5%ak*Z&Z{Hjq zf4hHvba{00o*5KTpoUV`R44U*Pb>n znA;3i!&nxn-&kA!f2-?!_~3K^a}AlxvljhGD5h~}%^{cdXQ^Mk!zNj8&cgZ8SreM? z3Z6A7xiMZlBcpb5{^0|vZjk5ovQZr{*pXy5Ksd=Ldm~7piY(tf1RD|zr5T(J-+!xk z+nOyvC7y|Dq^&pG7P>O!To1hEtu96YuZ~ZSUwf9PzvWtaW7r4rdI7Y?T=w?^?SdVq zpT#YkDNQn!dBPXQ@XL+?4|`ZmhB^`vUCHP zG2LS8oFBdX?(&D%=NCuIr_HW(<X@- z|MzrvZ|gz-cOOqJ{*zVx8RL>aiQdm4!>|$of7a(p^Ysy?zEfNq!`4-ct43&0D0q2S z*7#qHQd`ddB*%9f2580k@9(wvf9-8Qod5fH8h4ytkOkkHt9DCJ73og5hD2hEHh$m* z{Y5bv=_yb4O)*lmm<6oio6!0KRHo ze|sQwJ9ujmC_Dttx|j)`O^VGre+zOG0&g<{)+OkuM$R8gR8+_}$z2Z^8d}YWwvc zYxsZkclz`G9}oV&_wuap(4VT#VnaOv$4Ui z&|}6WdMrpbCB*^Ha$FG9`Q}AG>OTv69TXjS@xY>gltW?zzI{)n`SZz>$_<$6m}ieC zSSV3{&h*U-zt&k|o7VA~{OVGTQV{w1tt}q^3jbv~LTyv?eBG%rM&Bz8{e1t-f41&+ z?zB72Rn#ns{VL=}5~ltX^|E?WR@o$e_~32lFJ&}z1&H3YZ0VuooCu|=O8!rrrHdMF z*siU2T)yn2=*~^E2UP^RHlsV&XA|Is#&gl(Isrj{2+z^c0x ztnGJn4U0E@UsMgS`rXQk)P8t|e}s$2Py^0}-%~w7l!7@Bm)avPijz={TO04yBOlaj z+udW0`j+gLuWqqjs;9CRv|wELp8JayLO-qcgbwh9Xl^Y?=kN6v7%F;rA~FCu!o|Fu zQ5$uu>0;e@vDucY6X^o;P5PcAtx%ub5=Qg2(oWnSoaTD9aOuAxC;RYxf6mjw|LaR) zMKi-(9UUPFlT)6S8HrO&vs()WtMtFS{oRKB=hpV#L;U}HdD@-g>UID+3Rr^&bIRgV zw?}@2J#wJ-NR93Kd=+oC6&?5Hy|P@94!QOUd^14Jdq!~bQ$Zzp%|Otv#f3$+z@x|y zVYbR3!W0CKth&+qLz|s1e?0$pXaTZ>Rro{_o@Y?DPKzH5RXJ?gmm> zY%t#cTubm~cdfSIMEf59NzA~TLtbqNj*D^4Siy^ls$X;s1<+5c-MBWs`}XYhPc4?s zt1-KY6S~wS?ZI^N&P^wcXO?MXCy+9mf{iJkC7!l&M;KQ2ue@1Sqou(fXv#|a$ zgn;IaSK+Af!q{O!*kq8~pZ9t_4W;qz>?%OKS|d!;vLF|ef`|!E6C0vfKRGEV?`+deD#zdNu1T6O>5Yx@6h_4@sX`~Q1+ zzFhwMV;BqFhVNU;U}z4Fu5CB82m!A$A8N0++KQ+#$i;R<|5k|a;en?G|JPjf??L|W z@9oav|EK*2`_FrM{$L{gqTpn98;7uYgZ5|>>p6n!m=d4ie+j-eY=1_F@U;iOS{=}I zhp1|zwf!O5!;E~6xKs}@a(hAP%SE1F)p=qi{{Qv)|K8KyJpaG9`+)!N_-W>og(p_3dl+of6u+zodfO9X!^U>z&|q`)WOR)=NCt3m+PmO z@MGdHjpF{03F$5~AwA^RddSywC;6Hl(kT6##sYXqqjak@N^8=&-%TPV1MfYhQd-&i zLrSIFr&Rh=rSbW-k|W)HdLXx`uP#n6zuSNL^4tA`e_ZO+lWQ(-CUa-Yv#N(Se};H* ztL2KQInd-z~)i7}couIaaC*5|BM)jrzkptMz|hZVs?Y|NnHW>HpQ+?mzf{-OKX_ zHtW2d-fu0#&LvFsV$04JB)H17e{-(NYTM4{u&6A=X)=wd1tntq`Ydyom~uVo9e2BEfs_F-w9C#K;(qJ9?ZKWJGUBqOa`#e@`Oxf10H;#2M67 zAfcQTD5Z=4GnR8Rpw|!QzC+|BXOMvUq?fH6?`4ZO#RIZIu5@6-@yj@5f_w~0v#V7i6F`g zuB7}Rq6xuWUA*8w2hmi-e>@@GKLXd{&i~ob{^6^mC`<0Xj}_;CtGC_E|G2f?dx-yg zFV6=0*6e^Fcx(TB_jn>@E(YDM)9l4O>ppR15funC#B;)sX7y3ZuS2!#k(HA-(S)SA zLLhR&OMzJ;5Fa5)a3(ZzfeS}8;sufuLJJ^qd5U9#C_@=#rBp~Kf7sYS7cc*Ic=os8 z{rmSZXM(3B_zJ~|HUba6QXOT8G9huAI$4fl8rgf}poQkTk2hFy;(TESg0bW_U~r zJ@C_lfIp+4l87J(fAvtO+lUtk5BZb?A*z5t{b=W}L5NO&M0vrdRIy#8u=rZdssf;7 z2`SQaCt&Xi)t$ zw)en$q4#QDL-XqWAgC|w+-lmAc115#^V(v=EQzRgCf9@XeHBI#;afh>ptw z$Weq;qi<{P-aX!^{eFUkHfljB6;eQBIWBNUBq`KSEK!UZ8WPtwNl;Q2dZuAKy0ako z27UeY1Pm0oH;gWt_tJjqCL|@2z~}eb%uTVkb6aQI zRI6&hME};fBFUWvdui5dv-!w0*x!ilL{n|k9^<|US z9(MsMlTRPD0d127AVmSalS?2q0V0!uAVC|HSIY{p*&BO{l7spU{`{!y1~NZ4H0v5{ zRK}CtAh;i3!!D0KIk0?zHdoQE7hF)ui&-V3ASChF%9;q}p4pSMAyxs5lM5mo0bY|R zBCG-1lhq_MV_w%&I|8RF$t1>$+j2^l?u~Q3`LZ6w_sY=+?manN1!(%Zi z^a@rfov0Fr2I!-s74_>z#aPi;y5V%tWBpqn_{T0{cpVW$PoC7t)Lg3>DHNHjzi&PG zwT29JG)}6U>MwoA2^4TqJ;&?4{fl_lan(^(z_fpRMP{4mD~+;LgRb?Kw*Df}3#7P4 zRSP{fwLT)r&w9oRn&_>4yv+Z z+~xYOKL6IJ>{pBb)_=OQHLw4DIRE$ZGz2ia*w*jMN$f`IIx!lhxeePUTiHsdyZ}MJ znI6Tr8LcWo*eI{G1qt5!x)&dHRi>BG)iZyvc$xNxL}H84j1lU;BSu@0=Bk~mYfk!H z$}GzYUqL2L=+tp{HD24hi*ur&i3AO^Kw+n zDiO|4huz;{EzqY zG|>Ni5Qs0#{r`n1{`a5xzY*r3brcH{-PfubR=pk?;nuC$s=BrLmr?XQeb&MMzjA;4|9=1J zy#3$K1OI<7Px}RYP5*NjDq?3S^~Y!M7tGl5{%QCn@B&OLk3pe|2=KS|J&;CZ9Uk3+{?4v z0Lxg`t{?)Y^xCwbVF&hSB?*6a5}P5eRE_ztR|_e`vSvII@tK;AHO_x!n);bM;PUg| z-`(5VZJz)B?nC_NdwKkG-ADlMdmaB9D{@;C#`{Lfh9|0D7_Bikt+B4WKH7q5wIqxB zQoZu>bo1$FH2losBZ$l9R0VBUiLKe};|YncM41`WQf|%f~-91re8Y+inTj2Ff(fn-nP4w=^M68BV50$93NDFFoyoPHTT$d9P z?>44(?^w&5cpH-23Ik_b}%9%v0jqhy&i3UHH1Fid~03eHyeDk$CJ) z3u+5i&|0qwc~`%b_2PdHh{>bPM`8SE^HH3muFP^x=^%tl*J!??ph#XHIWta!imfu z*t!wgqSalovY)f6OINgU3%MNN+7M6c7n;r5B+r_Q*Qn}UQrfDG616)|gb14s?7>>@ z$lnUl!Rt2%KOBDB%&d$S=if&wa`2<}Jp4;;P3jK>fvjCWECswJfAjAG_|vwt+64am z=-}+=;&%jk^Im^t{xsJI;^MfqjX|GcYs|HYzMA^BRDLwMPoEGtt6iC(6kkovAG+&K zlXBD|JI(VR>S+XjYThN*U6d9E{b~%G+*F*GeJuK)o6-=8Nz2PHZh5JrV|gNAM#A$vF$zv;1PEZLWyi$-%_bTArieg4U4H1q{WqtVjRvr#qZg^ion zW4e!?<<@^zz5aT#(@H7G4+TeLd`qe57F_wVP8ag%XnAbA)vc>a&5`(#`D= z3zZ&P4609uAKiPM*=+<>n3JEISxMUXsWr}jZGd&ILvO%?6w}NqjGg^NQ`L=D_2ge> z=x2ZJD-Hduyp*Wxom(=ppqlT@!g=)SHR+G)y6LNf+VsGUV6fH8Djcl0GxSu|?=PBA z2_4d<(RE{|&)4!Z=`?FSCjWwHLu=K3;t$UMU^MnMwS0qdZ7IHVsCA&1D*V6f0{07_ zMfbmFNBf7bj-o8NgFcqu|870qYTEzxcej7~5B4AT^0@p!K`qk=POqZ%Goss2a2KqjX!@Q z@dPs}GKkMavpm&d2VGJ!6U1I|89I6`fEVNiPf8uu!_SW*CcI1&2>ked5h;GJ2Jv1N zC4s-NlsKLQ_55oPlfRjJt(w3{=WTlVx5G2YJwL=^ViV6RVFTeLaj~Rq_wr8i@CKaoD97Up)rJh=u3+`WoJw=>NQk7?E9^ z)2_*wyo0vB=_X{_Wo4Q|I6M?4D0~8$^wk8M76i0Bf=VKSAoSx)_M_*2)#u_{BC$FJ zF7;**dKq*~BBNT({?1=@3Qs*5F8P2uAwh7#-7L9aoqobc;6ZeJ%lB3K|M!1`AlOfm zT8O$I?0T6zWOuceFhBbvNs4R8DlrePHu10nd-LY_FnF(Ive6JHi~fCY&9!Tc<(lYMtl>fPFGxalyRnHhmY zPvh2^2^F0SQz{kyeNhAC#fbCP0v50rLtHcqG@*Pk#J|+0@ES8|(&K;XjKNj<+G^4i zs*WdW<<&gdJdy&ZQn2j&>tP0O0XFe2 zP*A-drBCs<6r(G7o_V9Bfv0Z(X3Y^oxA&f8Kyn;=_XfV!G(zJS~}_k!GjV$?Y` zOH4Rhka|t0I<^TSTQcIkt-X8qc%%0F39|9aQYxefAX5-7a7H94gyv5TYV`QDM02)g zPIYHN@D2L<>kFEH{q+F7q(UcgHWO?!ZM}!JP+e&n|Ax^;RJeb%pSlT2iAhG_lU$Eu znqO{Hrz&oznYc6t11|P#!&*~CiSnp%-5xw_}xZk&qNUe{#;6<#=hNPH_e%(|&K)vl1b5+fR;!3@v zISkRzPNhk=ahbIlhR^l58jii-g`#Vwq4c+glD$ZzA+)a_j6=YiZmh+UrAa!D1)zkHa=+Rpp5yI&7N2eH4XU1-a z);>h-5Z2ckL=5_ioA#=*Q9yaUE}mGOwO-AxcV*r(y&utjk|^qIQ}ronyOCVpODylz z)0=&bB@QeRvof3^*k*i9oB)|fZPv+-n;ba0t+Oo_~!uq}jQ3_{BC|OL&43tSyjDUNCOr|E0DrU1~tG4uWJ4Ao; zwr=lDW4BEI>Lq@4DE>C5a34)^L5ZBHgQt^i&pSh2S(?Mv2@hiQ9tUfYOmH}Wtr6uqn|Ez zRg3KgWle_eipM~615uE%~P)Q(}>MdLJ4PBgoU`ds|r}{@Z zB))`PYjNJoxn*S(p-fZKy1>mAt)=2JY3p|LxNO&aUW=ZI<{h=@jJ58J7Pdqv`oc5Q zh%U7NQ`|~i_kt5GK84QQ<2HXVdO?)t@gs1aYr?o7i`V;li?#g!D_U#~()+#%<7doc z!_&M;3%{U6t*^OD7@P4>-lN;^M`PN(98-Mww0?`NPIF&0>g8TtR&u(H#&M-**L&ck zKD))58_WA@)cy6EY-zFS&tga2|7;lRek~O(yiJSkzF=Q+W>&Z=nH_(Ao3&o;t@Qqu zYrV{8$(zSptn~`#B{S+TSee$vzD0|{#s>P1kYtGCt4(w)L`lS^HrS)XQc^Y!Oxny8 zjZ8U21-d3_%rnR^%*z73Ed?pwz3sn4yg+XgG9@X`)tjw%D8m%)jN$etnzO~6z;)r< zgV!e)XUE^Zxi~)g{@s7u?RQ$u0Qa~?zkoPH6Mn7lAEj2+lO%v5Q~?fmU69`&LE6D; z3{HKVUlEdPT_hDKFZj z_4x@D7g)xV{HC?6`DO~{m|@A=3+ivW;Lmv?T1%-9rY$nWLQ=xQyeN|i&oa{9?tD4Z zfFwC)Lee~4QPC@@tKtkx+zz1rq>CL)XvWBFXREcO`>G3PSjwNXnBj6fk({+wX_T=Q zDI@tLSx`fN)J1>y6Pz7lHf}9yKblqxIZH{=-l+bj3to{aW!EV#TZ_7{W?jjQuwU9Y zfcd5io>G=mw%w0fi`uVGg5Yic-N5?Bs>2=PBA(DG5s|r5=Eb<1@#Hca@*AiBP#B^c zyxsbox(S(fgSXqJYIFIaqO4yxo8Cnn-x;JeHwb!n*E?osH% zE-X6LOW)7mzaW7Ub8e&aE~9Z?4p65T^{WU18OeAt8=!vgm3E`{LcVEpX(dVjO-ULg zo^aF|ao+hG5~&hacGY`E{`TnI117rNv*`T$Chvb=+Q+K%-+TJBdH%Qdb|23FeLT*M z!SiNr=B3fewOd0G{MO(d5nM3{LYsf_Dx>d`kZ`cZ!`>V>^WL567+ z`PGHKoKP~_Pst5t2`K^_x7i<+W6{D}O@_`6gL4Rp4o(bH3)XhDy&Lr&D8e7>S&sj| zRP&>s<@kS3Nq|lKzqR*}|KVPqjSY=r>Q>~z#s)egqgx@$no>F8vFMh96ydm}3F&`A ziLlm((Hv(Ww^(m;eg3tzxWQgM{9ooQpFG462 z?Ub`3KEN=rDA+XhP3=?uQtlot)1I7z(m;3SzF z%4^tk5ShZx1~F$KK?xJa$vHsPkM_#iZ5)goB)2w#-_b(IpQxPtz=b>^Qb{*47TUFY zf~N#Mn&>arytvZn;Zc7CZGYJEuEMPaazaAYVrW_fAgm}TB$j`rK-XBHVT#!m8j={R z(YZJQjJr5n5u!dn?4pS;7p)pJZcT6?YAQB6S zS%QlMBJe_xtuhxV;Y5I?j1r+{I=d7vZMFa>O8+Vx$Dsoj?lF;a3=@DhTA6ucZyObmk>4p6+IL!m&-CFeP(`4mOHbYW!|msh?^WHmeqDk3tXJ z5C%j?jWVVwcXEwc1R^)Gz@Eckq&JrPT@f7}H`YW|svH;-kLk0qXmwgRlg&-X>)kME zLxBG_JLjClWuat<1J1w~Iak=58qvwaZ8=Yb-7J4O*l9vNQ_bV3luXrvxhdBSh{WPb zbV2p6*vY~g;dI4J#4>e1AzmXi$hbmDoarUkkz*2rSal^0n1amwb_2G*_2^ND5gEn2 zAd%o1zKJp$P>ScVXSrJx#nWH-3kCw9A^BI6CK#Gdc|`|t!#8=zs`meFU@ zI>mnhU1wAy@>D{u2Vsh9VM=wZ1t&mm8ygBe=^$C!u|N@blW;AfZ?S~ zZEIWgRVk#R7Jqjd;cvQsH^na@SdA%Z4vc@CIN96^N*m}U&8YT`2W_(LeI5nE=Y`0{ zfuNe!=UA^E9LHJ=W+=ACc5=)r>LQ<+Rc~B(b;05l&QIbV^~(QV0y%4FGy%H*C#R3^6=5qgDhGIan_8WSZtT@eVsm+*gU z23HT?6aJD)vV{&!EM35R4%rSN)5+^r>d7Q@p>`MzSNNYLs1cT!1f)jbP>c-$_T>6xYUmAlB3)(BYL0D z^D~A&ipCKHjL1n$N3$B2e185C#iW0bFbqjtG{;gHYzAa>zZh$5zfmy+p%7{4RUM#C z1Ea(Rks6_NK;dE=@-|yFNW!MH;0(;mr?{Xx(0~qeVQU|;sTiQQ?_hzdH--$^+m-KL zzcz0gdBir1DN8eh*oN~Z07CB9M=t8Tt`s^3%<#CFWSpH7(9u-^;_Q*oiF$v%_qSD# zcwvrJ2evocesjYcZiJ+fm~?ZVrspR5%>Z@&lT1l5Lwmi<;c&~w$%2l@q!=isC=Dz>Obnxrge>To3hgu$>&e6Y0oPIpIp+XAx-6ns)gMZyyG8&Os z4p8TW+uix`6ht8J#R)&UA#o|m<9@V$4u))jt)1lLD5 zxuQK)qUh?o**ZASqxy2Vyp|iDJ6E--j@jHt8z-;%K5X2cuL*z+>+_oe;evnO6%=!# zv3?}adCJE#U^D6i#|2CiC1k?Tl4n2bjg-mzTtmvv)z`=aQpl&TjSeq zv-|0M(f0a`-di_TZCiEP_mxH67p5!{xuT7ru9gK*GE|UshB(vGbET1?5OCZut+p?e zfS>+j@kGapJ{EA#_4nu!WT5ZaV6LF}A6b*^QjTQVwUs&q8*Av3tFo7i%BdS@KLw>@grJSzd z!t(>C=cSh_$u9BYjoY|J52;awn`PBe27!!zU*MRW`aZ|H$Tg;*-{VKNK<&np09u0AO58nPe>@N?%3^sdeS&G zhxKN-7$~8wym3ks?cj40$ZlihDH;DQ#m=9kof8p%ZaO?6Qy;!`ui`P>I0+*?f15JcicP0 z+A6{7hl_uUQ}ePlx96_;*htf9UpI4QZkhM<`8W-W-;#|~wbjU#jOG)e-eNiyOve0F zv`oZ;Y3OTatuYJcZF3Sdu4$iwMHA3Wi~H|21KUOrRp487mxdd~YFLP{Bs6U({FwVl9H&{lKkT6 z-wMDm@C`Q+{nopdhRvY$u0}lBFhZT)B6-0xA}6F2K_zBa`By6`Q0pc4^|hyqg7NpN zK9~l5GkD&6-t+6}9j|RARi(K-TosiSResd(^&a`({#6o%=tP-4F0dqzTbh6RP^Hj& z(aC0E^|SNo?N;{g$rG*S7?KH|Qf|`jTAmcAK0@I$Aw2t76p^RoYO?j+cdy<0ZA!Rnnh|A5W z%NU`25pmCGTyVihvTGZ47CV2?*DLeZGx)76(v9tywK)%vxxREnWByvwrIU4Uz3Vrz z`1-x|o)MwOMF`lo*r0~CRU-ll$YEL84iJGbWSoj8&AS(S*Q#S(TMo=Nbqo2`Hq_m) zVG~1|3;&wmzCS+I_`wW9$(G+5-z+l{7_9gD98l4jaYVCK^{o8>mRo<$ZlQW9{OJVq z7U@86#;y7e32a$AFL{j94%~Sb1dx!m8#zAJrqj@lvFs>>wSa=WQF7fWlcnSZ#i^)f zO!pGfyu0E41iJ4o!W9h*)tOSW;vCuZ{Mj*G=pk7nPPZYPF@|;zK%EoLNJnusoddAx zJwELqIzocT$oH!Q1Al*ehby_M7nw%aRv)-A7z;|u#`axzV@eCf2B@6^cOd3Nm>2wp z60>`d(7diw{d!~5_s!JW&-&67X!$@Edd$iUQqI9IoyFye(+l}VIi3h~!V_|;%2UDq z-~ai)(sh+=n!dft{)qw{Vv@{4hme(M#>>K<*Z=o_{;xo;eYk&-S$A5E5f+G?J|pR@ zuXK>j(49fGVM4oOx*KL^D$a)VnH%5nfd9d8g(bzTfJw!+B-$MwzTo6(d<|Y8BLF#^`7-qk!QVU@V3#k zZP;ZAH*LD#s=0rP(JGVN3cMag6FOmylP9b|UUyPOkB3BnBNQa}wP=eo@+7kD`O>(; z-Yy-P+uHReK}ydED)R{ahzsiOdBM70TPW+JU=$<(kU($0x>Gy$7N)n=9A+U_x8Kw* z7m8JrCb>QOju*A{uFmA4XUx-!;D6m-WLjEHBJK|HuSEU71@d2iiT=TW<$yc)U?bT! zOn>a>6=oVaPojBCQIEk&Nyb^4;5>vNZnom0_ll*nq1&wmfR<6SS!jaNSXt7z+JTHZ z&@trdRTlKosP9U#@gk@Oy=W`y*?QPoC0WLHQ8m9z7~)j$l#eABG9g9dqcbRb@zvwg z*N2xU`>&49PxlXhj-Jdl?zv-H(*`!J!J|iSoAHf`TJ4e$(nh9pW=Zyg*8EwyEHW3G z3%UcSf0aI+1tqi!apqqsk+)im(0OgfC)zFQ1MKSG8anVibur|wG zUA3#L+9UI$-(%aM@j+@iDjBBC(_PoM>LQ4JaBmChGAP@B0JLX$jd>(lE@y|du=pK% zJ!Vw4;g#y$rja+mN~vVlZV6KQI$z{3mG&E|&oR-!`7nmWxb8$*6f z?cM5sUkfUn>RU-WZ{Bp)rr5sCQLWUoirW=&fz{dRsB_U-P)I}6fx%SbL7P@9ZikbWi?Iv!roh_CJYzgK>`UWN z8QZV|0Y7LLnzUhnFyVSE_LrzH~$dnYIhKvg;X^hia zftG7BTeB9}Y={%zUvEUmD6GZdL6FdYZ8Sdz2#GSwu;M66X2`5o_vjpOu2pjZD!Gnr zV%ybIqCJd>C^NEn87ijn=q9JdtYs}8=I4Dn|EGXg2qW;szd1xR6g! z2rTg9Cr{Ad(Oz%oS?@Pq7$H)h-F_^dXzoN0LlMwa&90mfhA_G&<^!Ix`^fh`6*OiO!_U-lM2kmJ3;(vE`qrY}O zp(m&dHCI-Ag4B`OZCRP@Rx5Lj3#PC2Z@(}XoTCi08QT4y{}GGk{FN3mF+;n5QOp9a zTT;ogU?fp3Y-+B_r6mWfgry{Z%&1$IuEx&YuEx$Ecr|vucr|ubu7*}F9A`>^Af5rQ zHtIFW$Cvp(CnP13Sm$$$oCPaVJiqZf{7GxWsX*%7st=p!TAg?$(+ZN*yc(C94C_0e z?H&@og|g&myVu*SQu#ZxWaC`zSthqwG8^UVv9=t?rR~RU=7WBq{icU#7LlR#p0zSoHHsx{xjR=-yVcgdbocFVNZ7i~R zaYc$yOiHP+Txe7sFuPjtqyla2^n|ZJ==aP(!C=;`l97E1axQu9_?jCMd-24L3dp?x zZS6It(g6?zizGM*cE{6y6w)?&wc`{SOC~SDR zz1`hyJ%^qg-gtS!*%{~3W7P|Slh-Vrsn_4pl!%#-B=ZU^4lU<@Mfv&S*m85;&-HAH z#zF<|hdtPsuf@QnpNA$KCGVzYaLv7who-av-ivz0G&DK1?`w_ z{2H{If!{K!PR}}5aBzce?^XzyT{>m7_uh6GI-_;t;n1zH)0{bfo6$E~WNf~@%-DR9 zS$R`kyvVG69+JI(#gMcDvU^K79z2b2>uFqb?hQUOs?Tp1wr6=fpHQC?NHvStm8~;`1zvw2kIRU@Bo6wdO`rPZ# zIp2n*7lP{>jBgo^=5E~`YRddpKw)V^+i<`VaV3g!i!syVSjjp`qq#&Ig<;-uf2=Tu@!2;GOKqtHoDK@%+4rIm?< z4jFU;ffY8;#lfjNb&7gwnJve(P;0eDGxV91Pma3Q!p|@kTMP-~T+1HvsZdgmo zjzI~wWC-!frt#o;uh&y&1-&`^Z6GcafY_R7ZXmROyKQ0%gj#&lm+=V`gWYWabswUw z?(L8S9n#T=lJEzTrWt0HuVrAOZpJ!RY8Ag;ak&GBJO&9vd6Leqm#8)&h)rFD78{U!ZHlP1mCu_+Mg-ytxM}$67+SDDr+ryl9MF!(JK; zfR?>vF*avS#*V*p$dS%u*v_pm+~=+bZUeb zkW$ZFni$L>v#m2r9ke^G*5}U#aIPhX#8mr#VG#g+fA{{? z>F*csKYaXANo!Zw6YYmW0$mLA`uyQ3WgZrBfnh{BvFJ!i?}IO2c$$9s4$DB`4~#s2 z-z3W)+n+nwhgOHZx%kxkEd=LFoA%~-mbmtP&L{heYp1fGF?c2NgtZWxO}>=3wOTY%pgc0wJDPC)$erOn=*^4zGu zIM^Zb@$3%*oY@chPG!~^{sx2JxG6_}a^sk62|DeRK5?Sc%WAz|cG}UZYqUgt2vUlk zoDr}xG7%cC+U6|D_EKm$`sZ3L*uMIG!TJJP!kpWl$V{k-YSI zz+w9_4k!3Rj|>l~RC-P_D#NWA*x(0=8Lsg#YeCBS>kp>v@lt>YizgpQ zUj#K104I@BVHZ;izX+Ezo_m^ql4x-c$~@0n@=kY&Fqwhd+uM$OJY=EB?SUa&xdWy< z4yzw%7xUuu44)sQ*44~J`nWUD6{aXH7lVV@9Y7TF(76U5&o6-^4avg( z5t6THeE=Y;KLfWXlK*2S@7%C z8WUi;m`z89!cXkXO|%7h*NGkIB_K`RD^UaD;*LcZv_+m#LJ#d}$r*x`-YD0RKAv@b2v0>lwI84t*5~>QRQ4{~6!1 zAl748&PdcgfE2&%B10X2D3(|1s*~(-m$O!=;6v+2-+L*m|EpORtB#Sc|Mz?2X)OQe zpg$V+8vTDC<@4w6Gq7=1Gw!nCxR8>-A1MttttFg+XI-YEb)U6P?|e$)Wv=H?`d~T2 zTcVyJg43l7Zbnpx-4=Ctf^jB}Nz$q&>jZxR60AK7Oor^A&gyc1eSPiRfwmEKMkxjT zH;3|s-(YZuA_gY~T4X5(CguscL{1i7i`^<0&Vbd8M)d>7BiEq)zp(MYa9f`V|F?`q z^_PrT1KR&+gZA(3`m-`a%yAFC|Ex`yg{5H6D(P%Ht$#t@JF8FV7!-0GCQ8F-1=Ua= z{7HrbU7NqgWY@}n@(s9y!Bc^&SMM%qUFHbjL+h{*VUZ$ZL?#Eh%JHBe=Y-Y0`%kMS?&QR0hz37@l2&?wBGJx?dr1i$ft+G?H{#|khDR#d{wvkem;|wG| z%}}rvt@aMuXvh2n3aI#DS=W3!v^)eT-dE|G4+XBRjyl7wC=;ajf&&2YIzZo^UWLnh&qV zyIMkb)xk?HKhN?^d|ZC$@a>RQ3kzqnb1_6mG1m+Jb?p06wD|I+m3%X~kt+7*&nZp* z0{>Yf5^hSNW+i)BnVz|TwlTk-Y34AQTQwDn(p9d1Bp&0FHBuqrc7SY@MK-~d#!-m* z6#HNHQA-H9iJ*Dx`SjW&;R8^0ZcUfYQUaceCaSUNO`}{dP>6MO1tXEH+y%b1d z{Y&qScBxK^q>eZ`<6dGqE`h;qWK2?LZ+m=XOYb2OyUD@a#3U?M6)8~3)yQp?w>Szt z6H_gJN7OQ@+7>GqK~SUb%!U2H-fzh}g#h`1!`O`PybjRXXR^gb+`lV@Q6zl8I5q&a)w@ie#VREZ#2w1a1flD^c8H{T8k?bG(t+}Xa?pl% z1bQs{OTM5jwmAzrsO9mE2!_->iMe3gmVgz1!i0sPh4M$rl$Vasu3ZxoAg(P^Ha0#9 z`~GMyelcCg)^NoxbrT5dbq3Q;kD)BZOusT0utUs6Bnw@ejtkl+S|)wrxy@ho(CI`m z&UyC$1z_ncmM|!TH7&oenn*Y6FteJSsAgO2`)uQES|(zpgYeu)yM36vm$GPr{%x** z+&bO<1su7Jg zr#~G}b^G72*XxfP``rZGBzrOVi(}#F+@6VtxdspIB=WC6XMeFLR*>h4R$pwhbxEI`8>$9>0Z-By zdAXXCplb#ahqx79uNooiR&HCv`obkyT_o}NQOP{P+iWO5VviNY7}`@UeuuYzfx%p9 zvVbJ~x5%a+qv%N~L2fEGZ54R%=}E-9pZpdB6MT9Smn9u2t8uUxAfKMBF^siljsVf> zu*YlV&P?=NQ!bOi)DaL$ZK?;9__g}h79HuFM*nBx{O_9n&mGTpyoJUFis=6+?*BRL z4~Gr?-%I&s=>JQ;u~OJT!v}VMzz2{EMTk~ON^=${^xRPS^A=nguUWuJ!HA?&h^mz; z4k0y3qvAJ`?%kDc7<=gR`L)YV=s*1zw}x<6o|qC)K>x?1(J(ImPX^P5{_mqaApM`S zy%W;<|AXc`k@3Y&Y?V0jj8@iV1m7~b=l+%9wSsCwJH9v*D}+05Obpt8a+yS?Ek5D_ zIHrHfkUs!Bo&~|p5eEHEf6xMe5LbkUIKCz@_{s4cyoB})^mLDTqNUK$9RPQ+2l9+V zSsPY=rVm0Bk^W>l&puSL=V&31G*v(%2c(4Ys<=arfMVgQxJ#JRXy}Ps1CQ}X(h)2v z@2Arph%5IULtqT*#6#bI5TfK;+vEx-T9;YCDA>8`yDI_>MB6l4-SUbhM+G;>YKBY^ zB&scEuY_MRzI>sWR=%(gLjB}FiHFW#zI5r|vVX;PIiuf+xe#BSYw)yVI}6A{I)3>A z{`cq4;_okCfYPoVo2rH=Z53qbrfR!_+p(k2PkQGvpF>oPS8`ddzd z2q2OqngNmf<-PY44}K(mPTus@)*z}AKs9a=MR2_0Ph|`zUpyjpT zR=X`jJ8>+&P`F2bGJ>%IJ$PF+;t@9dJE?#>)Bo7N1V$_Bf8+inq5n1Zzx|Z&Q2%42 z?oj>v9_@YKy#gpVL8JdQ`rqT#|Ds(QEpDU!?NR-UF927TWEQ6FwWZ2>8Ux5!tqHqA z|544_5mnlmGN+Cyg2oEwmGP)PiFqx#nU3&ARcutnMpb-&++`>FpO5`CzduTi0da7k{-U9%xF?TfK zUUobVuke3cnRh(*g3NQXay%I+Ias@J2HvhQ`9R4qi;c~Lsk{o1uj;bgpXB)byrt6m zv`z$nU_p|9&mC`lr`BRMj=g*O>)Q8SxPl%rUDaE18|X!NY7Q*-mV9ga>@OK_n*HGi z=nrTSwyuVV=EDAIqg(IR4D92Jv&zh9C-gtd@mrK4`ac-N<3CP@(@{hJ_fa0V|6hjV zcRe!wb=^U}Phy_$A1;Ebr+9&L>Qw0MEpA`GX$ks&+b%n!|7nijq7?dnPh#(X2Gi-N zq5pd+kDvZ$JAOA@;BkA0H*VpNzwCtm3(Ki^#h+jSMfATn?8oo_N8={`+g{28(*Kak z$If&^=pT&Ge~%QdDS2fJ`X9aYmESUKKn3)FIPS&mKhxo;@&DROsdC?^67mC?Y}#6y zbgwLbc!)4|d;1(%VLX&D&UHkEWXzNN3}P&gCiE=W<RbvdMZUA5M=yo@$?dzIdg6O4!nPEiqrnEoz$2MftmH-BshSC{olc++Oj2 zBa5&v5wAa5czJW!)$v~Cr0Y47CFJqU$z_)=y|*oVH$s%holX)zR3=Nwt|MwP*#YQ? zSq0*7>t8Da9qTk7;_paIE-U{Pgm}s=1@hluJRZm7zrk?W_$g5I-zB=Xk_=>gd=`b%X021S=*u7jgn zF_ws`m2a70%aCV{;T1gH+EH=BVQZ|_Py!*b_8A%95&*Qbt^+k@P!+}y->LVEmG3Qi z)~=$9%arxX7%K`!6%C(|Fx%ijzMUBTBMUZN7TF1K*@%D}=%sH}?Zs^5LA|ek$#;2j zwlv5@?69o4ZZ$B=a#aiUk6T!%!T)n^decjx{l6dg{~S)njs0gY|3^q*L7Afd*nLz>l?~Nyexc_H=+R*>K zlsvsga)cGcWt;cSs`G?CTJToMf?ajPhJS z*%T#SKTIqjs7ja_Ji|;Rmq(N1v->|R1ZbH7$oFU)|2vee=s&S?-+jt|QY8OP`*Hbi zG-=-d?5D&?6|wxsOv#@BBCSe|ssh6ScO#(eqEY;uhyW-h7AWe{JvN{IBgtcmB)X02Jwe(|G=m!KmMF z^uN87Z|2uBsc#DUqyDhp(Eoju z=!ids|4G}2lp}!lE4JpBkhBl;E51Zz*^aV^%JY(ywzQLwHcj8h(VcNP?gLs6^TRUo zK~yJE$$HX8-79a&b*tUtAwtP#2Qm^;bH{y4hJT4k7=0#pNcy8WKD<4ERMmP$PdaluqIQ__Lk_uaF`ej1* z+8#d91PuVfPX&86YFZ{dqwV4R=PF@^#}c_W?-FPGxW*NK;}>U$;88?75%x0G5%(Tj zMBQeop)$+QJ~?Qm9UO1G%}OMu27ve!O-fKB{=I-8rSxY+Y+Ce@_8LjVt<51;MWiY( zOmzAd3R~z~ut;F}8^(*yiwm8-xm@QOTKAS4Lss~?fIddeqaEHK#D`8yDJ@EMm$4{A zGOPrXNtuU#c-!~Vv~Hkh>*wGgEF)K3zIC%LCnWwa)X0B!?81hX3H99uhQCwt4cXRMh~J6V-{(BgeKWK ztCpu`WGoJ`{4_9#zgK;9u6o_PcYp6Qdft}I4>G%!U(5%8>=(vx!y;D5l=n7sWLaG`ey z25I<-%nFIlghZRu<5Mzsm5|dNFM~t?IkekH5b> zd-v-1%hM0PoW)Xa6edI9QnZ%(KpQhN-gjPiS*`Tm3p0ttCcEP#BDq8FIf)6#C2E|1 zZ@qO^6t7ltKXcH}U;TdZ;q?6d@vAhrXP~>rLDxl=>2_UbPXD(OJ$5jv&j1)%IQ2HE zWFcFTikf99Qq=`6Vg_XGUj%3#JIv}Y1qzN)&0>{dcSUHYGwL%2vjF2Y0W@G;AiQs%f zYLdE&6DlW{*O*%Vu}D>#<0l}d>ZZ>r{j}`o45W`;Z71jBDOGh(;7M1w>*48t=U0yv zPtr`9ZujS2FCT?vs}tr7VTRx=4*CmAGx8R#J(B9IlX(JTn#M-yC(ai#T(b&Wq9vB_db>aY;S~$DfBUz)Tu@ym!iev?pK;c zaz|7b$+YH`h9`X-9_YC=zsJ^U`Mc0<@ikH#M;v>jHc!?aEx=7C>?4 zIV24dNBdrYoV1>{xsOXV_bDHG3_Qv=99j8pIw#m#94Qb*cw9Ptj{MtJNpP!kRk^lF9aFFo-9u9|%|MxyhS^w{F&G+p99uC}ifHxlCyYK*4E?v{6 zwk8N$rt5eMos$O8cOA>jl%7VaZk*0j&qw2Q-Z-6u$K-VW!&A+z=CE-#*T;NZ&gK#I9|nOA^i&(7ubA$u^V z@^&2NcH>muIF&zQr}D;&yYb>~yto@LZqRsfe-~cd(YJE4PUFwr_;WY@+>JkX)5 zme2kCKZ^4|3?}`5am@dFFda1UzxPt|Z)DTFVV~~WS6p!x&veVZfwrkqLfvCLg0j0A z%poxc!h8G;3YDx}HjP(cZkP)IO>% z+H*5&l|4lms@}pC3hsX>dU%U>OnZ~x z_z00`z&ldL3V$&-FfbQT`H5p8W%E{>-pR$!73QW-O`DnJuOGpzq+}>%kd(I{gGBG? z|9l9+r3U|h7gd-GSt&uFDF4%FoOu5=88`fYFGb=1Pcd9=U~qy~z8OH!{;wbVo&J&0 zYlF^-;?vOi=XwqW3Gcjii1_Crcv|2~D35exhgSH08UPi?2eF4_9ydTy%5!tX_~E8c zg@b-e^%N;;p&n4qqt28$ebKFaWtjau18owl zVOw1tDRo3Z%z#)%Z2?*!)lS49?XYZ6kiY;7LE<~tD{IhyCW}{50E_g$=`^1IbJ&|S z^nWiUU;oq8uCJu{9e^bvKAv^EY&5*=+Q`CPUByeMMyx?pEh5pERPnIi&;NkdL%ti{ zMt#YDrmP%I$_%%8%A4O=smHxBB`@;nEU{v3_90}prt2@wep_NXiZoDUxXi|6$m=V@ zgqKNp>aVB9V149L&4KxuZ%j9LcgO1T4lIOR8{K;Rz9F~0UNx>6v)9VG?Q_)P5{=_J zF$tW-g1t7&lU-O_S(Rf?m0tAxw-H)Rdt-Wk78E|S0mK9a@FRL3I19%!-O^C!w#*lL zSo=9#nj0s&yj-Rmp~Q1np_>;g@U=f1`3jC41~+io>yTyyK1OxOA0sqDh2x{szj} z1C%=SKR_!;mT--OwF^s_0E_7VcpA6=jYoqf|NCA_zWx_?M$hvm4|m0fwHv)VjYoG{ zA&LhD5%$=eBk-}%n=G2mlQT4N-(MmOonx%bUxD&xVlZHF>Q z(>>2LC)V$*Sh=hWFe6C3vqgZ`K0~eIY@X#D7JH7)x|!9RCI=xlx5w+JQiuLyf2aN* zqtRfJ@c$T(8~VSGl0yHLa5+43NhJ2el~3-|J+~Z89B*-f{lf&!&yv9PQ7RFC`-B+0 zPf9AqY4++B+9!zzzbS8YbKWkh;eSMzKYQ4`hL=%Pq0igI6f)E}LOEB_ERYm`!fVg? z+wE4~i(v6&;Q$=dDuD8H;Wo-{;BluFb0amtlhA+iiTuL$)GH_89}W!g#1GIP&?3+d z>u~SIsD_Phy<0P|k1x)i>QVsO=DFs9{+P+2 zdRWR+%$0c;`x@Uf!lqhsvX#J&y}sNn+}dK6eSmqOJh+U8F8R1p!c?MqDF_REgbzSi zL3#)mf}Q__GG_wW4P#R&`Ihn^`F2uSYUK@HxX|KTrQyOSi3iCih_!})3n?hwx@Q+B z5&2|$`RrBnA&Stz$r<P|~Kp))-7 zL*FWfqRDtX9Jc_t#%$Do{SGQ$(@`Y+M=Zby!D+16a(nkyMOZ7B=h~0 z8uEXDT)4~o|KVsdjNkwF`;Gm7FD1rhg1KpRtN>CSIWESt-^?{(_gPE?RJ^3PQ2znN zj5d$Uj$X@n&W!<#F_^xi(o*`V-PSx*m0!ZXd60$;4CczO3rMPecNxZ%!{H|%+0h?d zOpgABp6w&YBRLT8f4dHj{$O$8sskq@-|cQJct@Z|_g*xkcEUxk4GzG~5eEHEfAo(m z*u*w?#uCxPci*HSAG;oOy=)80F5k+6a9qf`#|<9;#gr7(4%zYkaNp^{8iW{|CxGi zADoa_RPDrzIomK*0zO?f$S>vnjBGZ0px~6Br;Os&yqxLQ9#-l`6rEYO@ z`?+Kq%m-#6PXed@S`^f_^eFi*D<$Uu@AyAH2Ilp(W2u=>QhzFq6cb$fWIM4Xa86~U%= z0n(nZCjKb95IAimaIK}lUu!KAk;Qhj7 ze-EdBqqzNNJQz z?^AWzJ>TysCc;OBF&8Bp}>55HO28cX=*)%?+_gnjW#30G?rtIf3E$GK<-fsX8h`&W9*i6Ruf3EyUdB6-1e4wG zKqf5L>En?O>x*P+Xy#oBW!cy(7SFQVRu$Ar_EghTeh0!^xlZfI9N9hB7wD?=xkDg- zcP8Z37%uO8rwCHaZe{5Cr?@yZ8VysVqp0R1=j~-meg0qG1-yX&PsR!R&v4TCfA6Q1 zHI7%}`n$QIZ7yc_VB6WD_)uP0s4E)O7X)^|_IJhPw`b{FGVrg;uD^;cX4f{DDz=wm zs4!&m$+4EEDfY1ll9WCw!Jwo9f2Uc0BT{}Sf+eG`=Aym1Xm2jszoCov3a_pUGS~X) zNl;5*JKopl?0l@rc`D$EcG(G=(_8ECYM9=ptIwHPs46dkk{mZTDQ@8sM7eJ>mO%DZ zX$chYYAgY5y`v?FcU5``z5^ZoYnJ-@zsVmJlrRGn=>NTB{;zR=(&+ztDW4O6L2dLm zBUz7u;@ZD_mhuQ*{nU62Q$__g*95Ty&-#o%q8q4(Rf!=muN`>sr#1D@zlh|x{rMk` zCW-SuXx@M9r{ur?s1W~C?25NySJaIEd8zfXxA>ni;OoZ!%=bcY{u7}fP?+F{I62Blh zD8o4m)}9h4BUMz{1{Yj=RQI#`MZe71rdK(E#L>^u-X1h!{Wqi1RVrnF?(hLzZJBE?^ikAf<&9nnJ8_{jRdCO2mI`PL7xFA5 zfN@sl0$!|L_mYRCi+YIvlD0&N*2Sw*fQ-OFfkWCZ72Kp$Z$ zI^I*}Lsvxk!afL*ng6tKFkwG*>EE({Icej|ml^#|%!T;sT!W__+gU(NSiE}hzdwH# ze}DM`ly>ddv@{%Q`#HtsAZ^+mKdc)+nK^v;js)g$u)zA*X0T9JugrB*xqf+1-Dlv~ zvY=1E4ZO!;Bx2ToCk80sOUz>H0u%G^;8{1NC!TuoY0O>gFW^G&P-aJuiUABGanYr$ zfD-C0y~&S>sNlIPnDQ~TUi@fkJzI$+08z06PPuWrbi+as!nSeDTSaTuNsqLyArBiPc+w#!cl%TbLQR9fj_6LPK$8|Q)gBV`~ zXb$zAuq4EP4M}`^_$FD-K$pAX{2Bi-?k$ku2ti^!0l?N0QsVyRJ=4SBd^cN5pUqD9R;=qCZLV0ayW3r{j(54eVqNF&FXg#} zEGe#YvRG=mk?Pwh&7Y_gIsb(vnR!c9(-_t_$}g!2y$ZXlKA0iLgF^e}4E;@Mz@4QaRC?3gc_*{h}He7ChM9ci?66C@lZY)qfmYA&C#kM-B zsrd`jVye!<`GACt%V3!hUz9I>iBh&KN;TJx@@dgIw z0xE;d!t3i8@2Up*Tew2O{VsuDu^#Kg-|*glzfq~n|9xcJ4i45n-AePdy@1({00sQN z-%rHI5AdR^v_#c~SUuL9)9 z^V7?#=U5`*SSR9MI6Z5wOq!dQXm|_gm89`9+1^`|=Vq4K;@KZzqWD&n{gVAt$q(Of zp4?KG{#Qu?TuA@>{W$%f4jcR5UP=mo{a16qZOs$Di6p|+h5StBQahtCCyS3NDQ7kV zmss6XVor(Qyab&OeUQGKS&bMeY1f*W)zKd zksW0gt>Tu^BpQ9Zr7r!i5(KvB{(sz`Hu;|)sMLG^S3crO z5>Z(*(3KIHHKTT^=&WVhWPpVA>~S+|E1x7n}NA9_$^EMO48`NyrAox zcYxV7+t#7keyAmy{}4a)5(az8_GibJZ%7+!LYb0({yR(PuAGI30=UH(MdyD!h{gZu zPY2EU-%mLJ7bc-<5(WeTzSQ7$2|X}hJFe|`3*ej9jk$oh(>eejmkwrsSN<&eIbK57 z1q&C=xo?`|EuMn_x+ZZpkUcb2zMG!iIshJA@Ymo^{QzD&chKhK=YJk{zU6u{O2I6b;!zZJ^TM#2jCYoaL^iqvsb6M z)e(LNt&U?uv&-uR=#N%sgDqsk?l(ki^3VUto8xz{PtV`K?yT(kW8|OzL2o>Ypa02p z(D?uEr5u2hB~|ZTv}m>1>89rZ*vMM1phqw;T^D$WFh5Rf$t?kY1c6W5M)~b2%SkZn zb{7s=uIDVMYb1v2yXp|Uf$oZq8;}n8xP+8sP+1vx>(v|vl;*54#NZQ#E7K#61vXp? zal8c|Y1ZvxxZ1#=gM!6jr`0+*H~_=WaMbCwS_b$u9gHWxfeJ8n{k7|MX)|za+mS2} zt{v#w!0`ZCLgh1mwvZ3)@J2gSA8-iDP=eB*jOu{WpNzoIzD-pU_L(Am)9(y=oqjmR zARMDVtu;n}%BHKDQLj+|-dr4qWAwu@hV{l6@-YO{VEtQbOwbDW0h%iq>xq#Lro9(~ zN;^sn)q62G1RvlEZRj3dLf|8e9p?IW570GOW4g6mWSQ=N5@AAD^;DP$nU)4j90i<} zU=3afuzvjwd^(uC7>#RzHs~EPG$7{5P8SpV&~mQt!5?VOg_@kpVF87V*%X)_#q zSg=YXWt9dRoJYMnCyO={aE7bG-7?pVTAT7jzjCgx9ca9PuDdclz%(*QV8FSG0!F{i zDWc5|!LjS2Tgo8lk@nUr7&ul$nK3=pRBHiDpb61`(AUr~JsQ>-e|j|JXb{s?=_Wzo z(lT9Wzh@Wh%2<4kek)K&WE3*6L1=#)ooG)2cEht6{-_ETG3jtqDFjj@Te)i3WIuSnx|> zfc)ow>8oRk7R%&2<&_Cn$h(9DcUlJc$+_b-HUoO#Sfm-`DLrbtWmt>cPKUk27*KC6 zj@jYS&3iIzr$A&V&h%dtobzFH&ih9i$djX5^k{N)Bo7#;NCvwylup+SpP?-W#N7<< zmGNKH+Vqnb{X=j@l_{n_28>~&Ykr_3Y7$O=x`uxGbnTD;yuy0(E>eIb>r!S($e$$Ft8J z3wjv-6W%{z(h@)Do**vF^czB;v%%4%mJl$SypY>YP*#BvPS+*Bk^9c{Y#>ee5{{vN zj)~Ez7A8g`jtOx-S8j}IrW?x`%cgj5GKwT&+bH0uwonH*cH z-wTs0KT?u*dS_apbfAm)qd_g zGTgM5TriwYB~{CG6VND|J6D8};kXuk8jd+B4FhmmBFrs@gs>bH$de~ll7(o0F?+Qb z(Wuwwlt3Xnk|rrqpE^#xP1745f-@fHP7zy$rG*(~_->hM2YxuHhslAU^fJUCqc34V zIIfU$yRG8^n@LO<5?z#@>if1|50d`m5WJ(pyXi8)HWr54@ubkp#;ABU9E{fx(^1BU z5^SBT59?9PA*GmfD@q38I^Oz!P79eP#~W)4Hh58sF%Dk5;0vZ~4Iv9eX*Gw5{&x{?SECWE7+&<>?9+_>JtjbBjK%FUX8iaM(FTW>bw zqr*rp1S>PRvC*wZ_u-A&c`afz7!M<$Hw;s~46F?64KNfeGTKZEeT4%E2*e~BQd|Cd z1a{D4bGkO!j#E^M8+f14miv=h){*{1SVxpC#noeG7Jzp?!cdyAA~u47%pDXn+&ii@)!xxGGy;X{FO#s+Q`b9QBzmPtF4%{ERtTU@UHiRy`00%f z!CMDg;M%zp!XNwH5Vge$(eHCAp9bItLYI;LXpMc4t9?o?8{q+SW7O#Gm3I^ggXl>=r{=8hgrWe<)!WsAU8IS7F z9NMgk`Y*jT-;|y_5rR2_f63e65*(nR!;==V77MYE4;xckZHjcV%J% z1D+z>nXd^7aCfnGY}iG&9t?12Ww%7G>j`e)ccaLjkF&))q?S-%MaNQnY78Qk47>D@)94d&u%q1F0`z#7BnObe%U z>Pmm!BOvHlu8HxCE1y@2Ws-9Ed$bNh*uro*9pUiErNlWxgsSvD2BsIgN{(D`0P=td zK1CA>{Sh^&4&`fEF<%Pzr#H}DMfjwIs)Lt*htjhWgio;@qHg#t zBprf{eCAGXU_og+!sC{M@jFBE&z_^BIgY-y zmySS*B!_Ny?hi>T#StQ3#$jM$j4a20B+?yUh`Hhh+J-J`Kq6n=jyClWj>5@@HOoxj zUj!zTy0fOwD!};e`E>H;_`}EFfMJNSI672#dBb98dA(v-Rbc-`5%~YX0D)KN)*}vg z&$?hY(%i81@;=;s6s7vcRcPnZjLgN%t|tN^W9EoO2`6yK6U-cOsQ5!^8!_pBNdqVV z0puqG+8uD_0e;O-5V&^ksA@`{11v;8cxOS^rQ~f+)fgXP0_OMN-0^H|-h*?~vx9qZ z9iSCBK{m8Z8?NqWDjA%CcMN!no}8&i2wy?lS+5v7vBEA5NKpWp3%Ej^gyd&>w(%zn zkYS6y4aYP5uy12vz3BI>i8+RU_L1}nf9o)7qPO7CW9G-+)hv{Zm;{jFkK7`_OlY^} zJ<|hE(B{TeMLiZXMSJx6C+#_?y3e2Yfoqg1`irT_>jCNH+ceZ6|;h;Y|M3 zyGua0Nt~~goUwAM2nuJG?Cu;b^bY2TEVZSv0oV;E^106|5u$^)fK;ss=kjwI{43BP z&w}BI^uTjNg&j~`$mTFOM0WoZe{&urrsFcN2TIh@HSHEdfC=<5JJX-a6C(WHr+mKU!rU9eO4{Fwpxr|o(K;BDaLZwfS2$Z1yD+X;k%p! zD`lQoT_yzo&e-aK74>J3eYk1XZwf>FP ztXrxZDSgKL`6*`Of4BBrpGzAkB_`EX2OPWXI+i#a=-xl4>qQUu8gs!*8T-As0_CTl z&6zq-2E6C2uKIru){X;HfZ3qTWH%>s-rVH4sG0Cer z$_{~T;^iEffemg=sczXJRD)rs;^kR3RD)qpK&31fFbRvV1o}t4qn<>pNma5tfRS|r z3AlxGzMPzXf0$un4wFRB;W{k<Sejel2(ajhK|y$0u;=(bB%FPJO1K$tOzjfc6r=ze z;viBGXy4({pr=VbAf$q)IH_?q%3oN5PfFDSAPvW}f7WwK4Z70L!>~Pk7&B{8fYiqY zl1OoG#oYAOlLDgOS)?2#;+_brr4H6HU4LoDV(HLT<-tA_V8!)6okJ&LcgO#_1m{z5 zdj66#>dVV>@G(k6+G+`R&%}nHI`0zQdQ#MjEwnr3ch>dSnQO&e^A>mAX;0i|L{@=mM{%W7@Vz5=h?11FCIURcYI^&?PI|p3`o;{re{9T>S;5R>6Fuc)q1ramH{=cS zahC)T%6-UM;jZ4-p*U=cShsS zKs)`ww-vnFHhV;8y5LOupiwk}mys!-MGt{w?NdIr#_)RW@;8N4=3(vuOecw6e|Wa? zf0jVK7rnh` z27n=X&Y2Juc3FH1Bp%>#Am$Jd^9ItLQhL(t1sTMOmEA?_@Z~!N|4AUUj83a1e`iJY zsN;WKmOJWl+>opDiOv9>sm%J8JnaA+fD`^qHN^bs`OEOvO4K-n0kr9;ZDovO?;aqs zWbgPwnnw3MTTjb1189RK44@DuR2;lMIo&%B&R=%GTdBhaD;c9$5_`6OodrS*P7zfx zj+?W^r2@J&2%^9o<{msztf-ci&3i6N6B6xxkUjz`JKfLq|2Z$ z0S^k?mbADX8v>ev>%br!M)^50rIH=jT4a!1<>NosK}jLD!YY>9$aLiWY~}ZXX}J)b zu;YK`T?Zy6!P+7ZHFab;UvJ{aT%}}0lun+JRBS=d3>-x1{?gp=KoZz@e;s0M9C*uY z`CM4IWu|5p(Pce%9Si(P*~ZDce!T29s49YUb z03X@nwF`5ikg;^Qfs?UJ>EEvi(^nhQb!=u!7hbEH-RMfavA%{TVIn#LegHS@#?lPk z8^nbTWIKsHQWeW6ZvH#1XU}+uE7469yaLRlD_QJ#76d&O`l$2le_0WN9FCjLGyYnd z?FKeEWe4;-{n0<3(|Qwj{rZU=0A?z!;nX@B5BkDOmR(|;1_27dzo;A?UW?4wV~>s! zwEfIui00zl47A%!{*prEI=WAZYP0SQ}t29)dE zK-QyfL1z%pz|R-2e?J_*It4!+pPiq+3S$F<_Ww(Zg5)+`Du+*?#LQ+gY!?R3YPDu} zwVV*WV%G&Mqy)NUGq_#eGXywZ;i{-+ZnhBpAq(?BWk+TyV!}5^pmx6R?(XiwlZ{pm zIg!9CW@$m?Smi5rn;XS?0Ra>@K4B~}hTl%Bb<7O1a*3|`e=IK3m2RZvMsjE6Q$mFZ z@B_4QZ2nr}J__v55%?TjZHMVADWU@xc?%c-WLfJ#9IGp(w|4tVljZ~H*)V{1=Mno$ ze{Ut<|I>21;VW>1-`sKHY$#V~g<}-?e-D!RUxveBA zCX@L2pAN>&`QJy`&G}C!0O9j?X08x_gsLjB{77qk(d+eQVA$)u=!tJ@TmQMwf9|(h zq9Je67E*hcKul&wy`x^c)e>!atF#&qjrGS80v;7Y8Yl|ueMP2~R{jGOq+ zdnvo(|E6uf;roME_|^C+FjvsvCJ#IVHe~7I8Q;HzBwiT>w`O2N+qj@2fiSNY$rTTc zyzih?IRBC9dR~nN6!QN>{-;r|$^WpQvKRS(s~ef^?wuYQzmL6CIR7;ye_o2te}6QJ z^Z(Igf7G1+eUz_w{zLKqq376?>{8+U`^Z)Z^bYm^(I77Wk0#UR{O_gg>ii4e^VqL~ zw-*QpdhAbLD+&%q8NF|k@EER0K-y4ia?UdiKwS-zy+W60b$($Pgc0xmi z^G___SlhnAO}TGPKTK^|KnsfPe{uW&WZKyOfA>@NB>#uTzU1Z!)3UY{qhDUN#sIj( zQseyZ-u{=!|2iD>8vFlV%6{(uniKn2OU3hF`RxCXGUtCZjOTwI4SLP_-$!{Q=f64m z4^)cJKQzVpmx<|i&j0(Pl>5KN{=b*9m-GM7lWa<6sc`;<_2nzb|Gh!t{7)PGe=p_X zf9-z{je);+sc`;%{I%r&eq8?_j0O$=-%Ht#{O=?CQY3HVnM!Cqok~13BL1eO!ugju z1x(MbMhlA1f5QJ~GHCq&_ENSz|7AFQbNnA~sd4_lg8rZI{~1gh``=#5KF{r`T-0XT=(1k7F2yJ6w7ASPiXERi2SFAj3U(!cFe<^0zT08n)Pe+T0@ z{~wM<&H3L;smK4D*Z$v2sdE171^_6O|NDvfKZ8-@|Ff5}Gx@)H?f*@dD(Anh17M;2 zKZ)P}4@c96|L>*LJO7Qh-}h3god3E3Knl|>I>HODx08q&P6ZZeXWZ1m_-%F`r+i%=>zr#}H z{MQWtRA~Q8y#Jl{hmHU5UdmUo|25HmzL`?z{O|n!Z;-tI?>F-QUdmTE|ILa0hDz1* z|5fDwMEtM8q~F;8_fo3J|4kI1@2^xj|8*Y#7oPt_{-1HL(f{{Ts`3BkFtzXZR_dJp so!|c_@Bc=V=KSxa?Ed^e^o*L)l%_PLDP_w44FCZD|DWE?764=f03w;bMF0Q* delta 36539 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 Date: Wed, 20 Oct 2021 13:36:22 +0000 Subject: [PATCH 10/18] v0.9.171 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 129e0bcbef..a5b3080fe4 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.170", + "version": "0.9.171", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 1ecd10a849..0414417877 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.170", + "version": "0.9.171", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index c5d6c3c297..56348d9c10 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": "0.9.170", + "version": "0.9.171", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 3b67da73b8..03d3159664 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.170", + "version": "0.9.171", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.170", - "@budibase/client": "^0.9.170", + "@budibase/bbui": "^0.9.171", + "@budibase/client": "^0.9.171", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.170", + "@budibase/string-templates": "^0.9.171", "@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 4a518cb5e3..5ff84b1e56 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.170", + "version": "0.9.171", "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 7f4e2c56db..bca1508002 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.170", + "version": "0.9.171", "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": "^0.9.170", + "@budibase/bbui": "^0.9.171", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.170", + "@budibase/string-templates": "^0.9.171", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 16377b1670..de1ec95218 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.170", + "version": "0.9.171", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.170", - "@budibase/client": "^0.9.170", - "@budibase/string-templates": "^0.9.170", + "@budibase/auth": "^0.9.171", + "@budibase/client": "^0.9.171", + "@budibase/string-templates": "^0.9.171", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 69d686b80d..91c0aaf2fc 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.170", + "version": "0.9.171", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 935ebe18b7..bb26252371 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.170", + "version": "0.9.171", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.170", - "@budibase/string-templates": "^0.9.170", + "@budibase/auth": "^0.9.171", + "@budibase/string-templates": "^0.9.171", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From 4794a5374e2b8104789c2f1cb2d83655a6b36a1c Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Thu, 21 Oct 2021 17:23:10 +0100 Subject: [PATCH 11/18] Fixing an issue with user metadata not always being present when user accessing app, causing weird issues. --- packages/server/src/api/controllers/auth.js | 15 ++++++++++++--- packages/server/src/db/linkedRows/index.js | 21 ++++++++++++++------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/packages/server/src/api/controllers/auth.js b/packages/server/src/api/controllers/auth.js index ac88599713..2bcdae4c05 100644 --- a/packages/server/src/api/controllers/auth.js +++ b/packages/server/src/api/controllers/auth.js @@ -28,14 +28,23 @@ exports.fetchSelf = async ctx => { ...metadata, }) } catch (err) { + let response // user didn't exist in app, don't pretend they do if (user.roleId === BUILTIN_ROLE_IDS.PUBLIC) { - ctx.body = {} + response = {} } // user has a role of some sort, return them - else { - ctx.body = user + else if (err.status === 404) { + const metadata = { + _id: userId, + } + const dbResp = await db.put(metadata) + user._rev = dbResp.rev + response = user + } else { + response = user } + ctx.body = response } } else { ctx.body = user diff --git a/packages/server/src/db/linkedRows/index.js b/packages/server/src/db/linkedRows/index.js index 303cd085c1..6835719e5f 100644 --- a/packages/server/src/db/linkedRows/index.js +++ b/packages/server/src/db/linkedRows/index.js @@ -81,7 +81,9 @@ async function getFullLinkedDocs(ctx, appId, links) { row => row.doc ) // convert the unique db rows back to a full list of linked rows - const linked = linkedRowIds.map(id => dbRows.find(row => row._id === id)) + const linked = linkedRowIds + .map(id => dbRows.find(row => row && row._id === id)) + .filter(row => row != null) // need to handle users as specific cases let [users, other] = partition(linked, linkRow => linkRow._id.startsWith(USER_METDATA_PREFIX) @@ -172,13 +174,18 @@ exports.attachFullLinkedDocs = async (ctx, table, rows) => { row[link.fieldName] = [] } const linkedRow = linked.find(row => row._id === link.id) - const linkedTableId = - linkedRow.tableId || getRelatedTableForField(table, link.fieldName) - const linkedTable = await getLinkedTable(db, linkedTableId, linkedTables) - if (!linkedRow || !linkedTable) { - continue + if (linkedRow) { + const linkedTableId = + linkedRow.tableId || getRelatedTableForField(table, link.fieldName) + const linkedTable = await getLinkedTable( + db, + linkedTableId, + linkedTables + ) + if (linkedTable) { + row[link.fieldName].push(processFormulas(linkedTable, linkedRow)) + } } - row[link.fieldName].push(processFormulas(linkedTable, linkedRow)) } } return rows From 47ebc393c7718d36de74319d4ee1eac24dfc2af5 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Thu, 21 Oct 2021 17:25:29 +0100 Subject: [PATCH 12/18] When adding a user through the basic onboarding flow they get a temporary password, but we didn't set force password reset, meaning the user wouldn't necessarily have to change the temp password. --- .../users/_components/BasicOnboardingModal.svelte | 8 +++++++- packages/builder/src/stores/portal/users.js | 11 ++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte index 9c7b9aa0ea..ff958d542b 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte @@ -16,7 +16,13 @@ admin = false async function createUser() { - const res = await users.create({ email: $email, password, builder, admin }) + const res = await users.create({ + email: $email, + password, + builder, + admin, + forceResetPassword: true, + }) if (res.status) { notifications.error(res.message) } else { diff --git a/packages/builder/src/stores/portal/users.js b/packages/builder/src/stores/portal/users.js index 0535b2626d..9a3df120e0 100644 --- a/packages/builder/src/stores/portal/users.js +++ b/packages/builder/src/stores/portal/users.js @@ -35,12 +35,21 @@ export function createUsersStore() { return await response.json() } - async function create({ email, password, admin, builder }) { + async function create({ + email, + password, + admin, + builder, + forceResetPassword, + }) { const body = { email, password, roles: {}, } + if (forceResetPassword) { + body.forceResetPassword = forceResetPassword + } if (builder) { body.builder = { global: true } } From 9617477dcd5cb121dd595ddb583cdb88864763b2 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Thu, 21 Oct 2021 17:32:01 +0100 Subject: [PATCH 13/18] Adding email address disabled to update user info, so you can see which user you are currently logged into. --- .../builder/src/components/settings/UpdateUserInfoModal.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/builder/src/components/settings/UpdateUserInfoModal.svelte b/packages/builder/src/components/settings/UpdateUserInfoModal.svelte index 96e2aa3743..ea0cb827f8 100644 --- a/packages/builder/src/components/settings/UpdateUserInfoModal.svelte +++ b/packages/builder/src/components/settings/UpdateUserInfoModal.svelte @@ -26,6 +26,7 @@ Personalise the platform by adding your first name and last name. + From a2d302cd579b5f4296670c686126b3bc56a216dc Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 22 Oct 2021 14:34:20 +0100 Subject: [PATCH 14/18] Removing live replication between deployed and development app, instead it is replicated when the app is opened in the builder. Live replication was not working and only actually pulled back the data on deploy which was a little confusing, this way it can easily be controlled. --- packages/auth/src/db/Replication.js | 16 ------ .../builder/app/[application]/_layout.svelte | 17 +++++- .../server/src/api/controllers/application.js | 52 +++++++++++++++---- .../src/api/controllers/deploy/index.js | 21 ++------ packages/server/src/api/routes/application.js | 1 + 5 files changed, 62 insertions(+), 45 deletions(-) diff --git a/packages/auth/src/db/Replication.js b/packages/auth/src/db/Replication.js index 931bc3d496..7af3c2eb9d 100644 --- a/packages/auth/src/db/Replication.js +++ b/packages/auth/src/db/Replication.js @@ -45,22 +45,6 @@ class Replication { return this.replication } - /** - * Set up an ongoing live sync between 2 CouchDB databases. - * @param {Object} opts - PouchDB replication options - */ - subscribe(opts = {}) { - this.replication = this.source.replicate - .to(this.target, { - live: true, - retry: true, - ...opts, - }) - .on("error", function (err) { - throw new Error(`Replication Error: ${err}`) - }) - } - /** * Rollback the target DB back to the state of the source DB */ diff --git a/packages/builder/src/pages/builder/app/[application]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/_layout.svelte index 603fb62d99..da4317c8b7 100644 --- a/packages/builder/src/pages/builder/app/[application]/_layout.svelte +++ b/packages/builder/src/pages/builder/app/[application]/_layout.svelte @@ -1,21 +1,24 @@ {#await promise} diff --git a/packages/server/src/api/controllers/application.js b/packages/server/src/api/controllers/application.js index e3aac8bd63..e2e42c20f9 100644 --- a/packages/server/src/api/controllers/application.js +++ b/packages/server/src/api/controllers/application.js @@ -25,7 +25,12 @@ const { BASE_LAYOUTS } = require("../../constants/layouts") const { createHomeScreen } = require("../../constants/screens") const { cloneDeep } = require("lodash/fp") const { processObject } = require("@budibase/string-templates") -const { getAllApps } = require("@budibase/auth/db") +const { + getAllApps, + isDevAppID, + getDeployedAppID, + Replication, +} = require("@budibase/auth/db") const { USERS_TABLE_SCHEMA } = require("../../constants") const { getDeployedApps, @@ -134,7 +139,7 @@ async function createInstance(template) { return { _id: appId } } -exports.fetch = async function (ctx) { +exports.fetch = async ctx => { const dev = ctx.query && ctx.query.status === AppStatus.DEV const all = ctx.query && ctx.query.status === AppStatus.ALL const apps = await getAllApps(CouchDB, { dev, all }) @@ -159,7 +164,7 @@ exports.fetch = async function (ctx) { ctx.body = apps } -exports.fetchAppDefinition = async function (ctx) { +exports.fetchAppDefinition = async ctx => { const db = new CouchDB(ctx.params.appId) const layouts = await getLayouts(db) const userRoleId = getUserRoleId(ctx) @@ -175,7 +180,7 @@ exports.fetchAppDefinition = async function (ctx) { } } -exports.fetchAppPackage = async function (ctx) { +exports.fetchAppPackage = async ctx => { const db = new CouchDB(ctx.params.appId) const application = await db.get(DocumentTypes.APP_METADATA) const layouts = await getLayouts(db) @@ -196,7 +201,7 @@ exports.fetchAppPackage = async function (ctx) { } } -exports.create = async function (ctx) { +exports.create = async ctx => { const { useTemplate, templateKey, templateString } = ctx.request.body const instanceConfig = { useTemplate, @@ -252,13 +257,13 @@ exports.create = async function (ctx) { ctx.body = newApplication } -exports.update = async function (ctx) { +exports.update = async ctx => { const data = await updateAppPackage(ctx, ctx.request.body, ctx.params.appId) ctx.status = 200 ctx.body = data } -exports.updateClient = async function (ctx) { +exports.updateClient = async ctx => { // Get current app version const db = new CouchDB(ctx.params.appId) const application = await db.get(DocumentTypes.APP_METADATA) @@ -280,7 +285,7 @@ exports.updateClient = async function (ctx) { ctx.body = data } -exports.revertClient = async function (ctx) { +exports.revertClient = async ctx => { // Check app can be reverted const db = new CouchDB(ctx.params.appId) const application = await db.get(DocumentTypes.APP_METADATA) @@ -303,7 +308,7 @@ exports.revertClient = async function (ctx) { ctx.body = data } -exports.delete = async function (ctx) { +exports.delete = async ctx => { const db = new CouchDB(ctx.params.appId) const result = await db.destroy() @@ -318,6 +323,35 @@ exports.delete = async function (ctx) { ctx.body = result } +exports.sync = async ctx => { + const appId = ctx.params.appId + if (!isDevAppID(appId)) { + ctx.throw(400, "This action cannot be performed for production apps") + } + const prodAppId = getDeployedAppID(appId) + const replication = new Replication({ + source: prodAppId, + target: appId, + }) + let error + try { + await replication.replicate({ + filter: function (doc) { + return doc._id !== DocumentTypes.APP_METADATA + }, + }) + } catch (err) { + error = err + } + if (error) { + ctx.throw(400, error) + } else { + ctx.body = { + message: "App sync completed successfully.", + } + } +} + const updateAppPackage = async (ctx, appPackage, appId) => { const url = await getAppUrlIfNotInUse(ctx) const db = new CouchDB(appId) diff --git a/packages/server/src/api/controllers/deploy/index.js b/packages/server/src/api/controllers/deploy/index.js index d68b2064d7..13002476fc 100644 --- a/packages/server/src/api/controllers/deploy/index.js +++ b/packages/server/src/api/controllers/deploy/index.js @@ -1,6 +1,6 @@ const CouchDB = require("../../../db") const Deployment = require("./Deployment") -const { Replication } = require("@budibase/auth/db") +const { Replication, getDeployedAppID } = require("@budibase/auth/db") const { DocumentTypes, getAutomationParams } = require("../../../db/utils") const { disableAllCrons, @@ -87,7 +87,7 @@ async function initDeployedApp(prodAppId) { async function deployApp(deployment) { try { - const productionAppId = deployment.appId.replace("_dev", "") + const productionAppId = getDeployedAppID(deployment.appId) const replication = new Replication({ source: deployment.appId, @@ -104,23 +104,8 @@ async function deployApp(deployment) { appDoc.instance._id = productionAppId await db.put(appDoc) console.log("New app doc written successfully.") - - console.log("Setting up live repl between dev and prod") - // Set up live sync between the live and dev instances - const liveReplication = new Replication({ - source: productionAppId, - target: deployment.appId, - }) - liveReplication.subscribe({ - filter: function (doc) { - return doc._id !== DocumentTypes.APP_METADATA - }, - }) - console.log("Set up live repl between dev and prod") - - console.log("Initialising deployed app") await initDeployedApp(productionAppId) - console.log("Init complete, setting deployment to successful") + console.log("Deployed app initialised, setting deployment to successful") deployment.setStatus(DeploymentStatus.SUCCESS) await storeDeploymentHistory(deployment) } catch (err) { diff --git a/packages/server/src/api/routes/application.js b/packages/server/src/api/routes/application.js index 4d67a0f4f4..1a21cc8216 100644 --- a/packages/server/src/api/routes/application.js +++ b/packages/server/src/api/routes/application.js @@ -7,6 +7,7 @@ const usage = require("../../middleware/usageQuota") const router = Router() router + .post("/api/applications/:appId/sync", authorized(BUILDER), controller.sync) .post("/api/applications", authorized(BUILDER), usage, controller.create) .get("/api/applications/:appId/definition", controller.fetchAppDefinition) .get("/api/applications", controller.fetch) From 51416be2132d7f141c65cf73bb05eeb58f1a3642 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Mon, 25 Oct 2021 11:00:33 +0200 Subject: [PATCH 15/18] get company size and role into intercom --- packages/builder/src/stores/portal/auth.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index 7beb25a1b4..333226e3ba 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -60,6 +60,8 @@ export function createAuthStore() { name: user.name, user_id: user._id, tenant: user.tenantId, + "Company size": user.size, + "Job role": user.profession, }) }) } From f33cc5a9cd747ffb8491af36ac7baf0bf66de290 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Mon, 25 Oct 2021 09:08:46 +0000 Subject: [PATCH 16/18] v0.9.172 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index a5b3080fe4..bf2656cc64 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.171", + "version": "0.9.172", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index 0414417877..c74bc1bee4 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.171", + "version": "0.9.172", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 56348d9c10..d66a6851f5 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": "0.9.171", + "version": "0.9.172", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 03d3159664..80c9570cb7 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.171", + "version": "0.9.172", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.171", - "@budibase/client": "^0.9.171", + "@budibase/bbui": "^0.9.172", + "@budibase/client": "^0.9.172", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.171", + "@budibase/string-templates": "^0.9.172", "@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 5ff84b1e56..15bf655b3d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.171", + "version": "0.9.172", "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 bca1508002..a0573c407e 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.171", + "version": "0.9.172", "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": "^0.9.171", + "@budibase/bbui": "^0.9.172", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.171", + "@budibase/string-templates": "^0.9.172", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index de1ec95218..60d711845c 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.171", + "version": "0.9.172", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.171", - "@budibase/client": "^0.9.171", - "@budibase/string-templates": "^0.9.171", + "@budibase/auth": "^0.9.172", + "@budibase/client": "^0.9.172", + "@budibase/string-templates": "^0.9.172", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 91c0aaf2fc..a1ee131acb 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.171", + "version": "0.9.172", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index bb26252371..0bad7b0c4f 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.171", + "version": "0.9.172", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.171", - "@budibase/string-templates": "^0.9.171", + "@budibase/auth": "^0.9.172", + "@budibase/string-templates": "^0.9.172", "@koa/router": "^8.0.0", "@techpass/passport-openidconnect": "^0.3.0", "aws-sdk": "^2.811.0", From cc89350ccb0bee2f7b166df9076b328d2e868572 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Mon, 25 Oct 2021 13:50:36 +0000 Subject: [PATCH 17/18] v0.9.169-alpha.18 --- lerna.json | 2 +- packages/auth/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 7f8cf4ba08..866f5c8aac 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/auth/package.json b/packages/auth/package.json index a87204c6fd..750f325fac 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/auth", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "description": "Authentication middlewares for budibase builder and apps", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 5f72bd3c1d..928a67c78d 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": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "license": "AGPL-3.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index a778446605..36a6a7d485 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "license": "AGPL-3.0", "private": true, "scripts": { @@ -65,10 +65,10 @@ } }, "dependencies": { - "@budibase/bbui": "^0.9.169-alpha.17", - "@budibase/client": "^0.9.169-alpha.17", + "@budibase/bbui": "^0.9.169-alpha.18", + "@budibase/client": "^0.9.169-alpha.18", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^0.9.169-alpha.17", + "@budibase/string-templates": "^0.9.169-alpha.18", "@sentry/browser": "6.0.0", "@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 23ff72a708..a33997208c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "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 9b222d0167..6dd4906de3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "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": "^0.9.169-alpha.17", + "@budibase/bbui": "^0.9.169-alpha.18", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^0.9.169-alpha.17", + "@budibase/string-templates": "^0.9.169-alpha.18", "regexparam": "^1.3.0", "shortid": "^2.2.15", "svelte-spa-router": "^3.0.5" diff --git a/packages/server/package.json b/packages/server/package.json index 7ddb350f16..ab70895cc6 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "description": "Budibase Web Server", "main": "src/index.js", "repository": { @@ -68,9 +68,9 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.17", - "@budibase/client": "^0.9.169-alpha.17", - "@budibase/string-templates": "^0.9.169-alpha.17", + "@budibase/auth": "^0.9.169-alpha.18", + "@budibase/client": "^0.9.169-alpha.18", + "@budibase/string-templates": "^0.9.169-alpha.18", "@elastic/elasticsearch": "7.10.0", "@koa/router": "8.0.0", "@sendgrid/mail": "7.1.1", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 5d01621385..3aa304d7b0 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 90bf9a722b..3c110c88b1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "0.9.169-alpha.17", + "version": "0.9.169-alpha.18", "description": "Budibase background service", "main": "src/index.js", "repository": { @@ -29,8 +29,8 @@ "author": "Budibase", "license": "AGPL-3.0-or-later", "dependencies": { - "@budibase/auth": "^0.9.169-alpha.17", - "@budibase/string-templates": "^0.9.169-alpha.17", + "@budibase/auth": "^0.9.169-alpha.18", + "@budibase/string-templates": "^0.9.169-alpha.18", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 507a58c9c52512ba206348991a1f1c4185becf97 Mon Sep 17 00:00:00 2001 From: Rory Powell Date: Tue, 26 Oct 2021 14:31:56 +0100 Subject: [PATCH 18/18] Add timeout to node mailer, lower than jest default --- packages/worker/src/api/routes/tests/realEmail.spec.js | 3 --- .../worker/src/api/routes/tests/utilities/TestConfiguration.js | 1 + packages/worker/src/utilities/email.js | 3 +++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/worker/src/api/routes/tests/realEmail.spec.js b/packages/worker/src/api/routes/tests/realEmail.spec.js index 54238e9270..a2474bb97a 100644 --- a/packages/worker/src/api/routes/tests/realEmail.spec.js +++ b/packages/worker/src/api/routes/tests/realEmail.spec.js @@ -3,9 +3,6 @@ const { EmailTemplatePurpose } = require("../../../constants") const nodemailer = require("nodemailer") const fetch = require("node-fetch") -// need a longer timeout for getting these -jest.setTimeout(30000) - describe("/api/global/email", () => { let request = setup.getRequest() let config = setup.getConfig() diff --git a/packages/worker/src/api/routes/tests/utilities/TestConfiguration.js b/packages/worker/src/api/routes/tests/utilities/TestConfiguration.js index 9638e2a2a7..c40b6d8dec 100644 --- a/packages/worker/src/api/routes/tests/utilities/TestConfiguration.js +++ b/packages/worker/src/api/routes/tests/utilities/TestConfiguration.js @@ -234,6 +234,7 @@ class TestConfiguration { user: "don.bahringer@ethereal.email", pass: "yCKSH8rWyUPbnhGYk9", }, + connectionTimeout: 1000, // must be less than the jest default of 5000 }, }, null, diff --git a/packages/worker/src/utilities/email.js b/packages/worker/src/utilities/email.js index 25a2d35200..f11ec90a27 100644 --- a/packages/worker/src/utilities/email.js +++ b/packages/worker/src/utilities/email.js @@ -35,6 +35,9 @@ function createSMTPTransport(config) { options.tls = { rejectUnauthorized: false, } + if (config.connectionTimeout) { + options.connectionTimeout = config.connectionTimeout + } } else { options = { port: 587,