Commit Graph

6577 Commits

Author SHA1 Message Date
Rory Powell ec06f13aa6 Per user pricing (#10378)
* Update pro version to 2.4.44-alpha.9 (#10231)

Co-authored-by: Budibase Staging Release Bot <>

* Track installation and unique tenant id on licence activate (#10146)

* changes and exports

* removing the extend

* Lint + tidy

* Update account.ts

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>

* Type updates for loading new plans (#10245)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS` (#10247)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete + migration (#10250)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Lint

* Types and structures for user subscription quantity sync (#10280)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing for licensing (#10346)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing

* Lint

* Pricing/billing page (#10353)

* bbui updates for billing page

* Require all PlanTypes in PlanMinimums for compile time safety

* fix test package utils

* Incoming user limits warnings (#10379)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* Types and test updates for subscription quantity changes in account-portal (#10372)

* Add chance extensions for `arrayOf`. Update events spies with license events

* Add generics to doInTenant response

* Update account structure with quota usage

* User count limits (#10385)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* user limit messaging on add users modal

* user limit messaging on import users modal

* update licensing store to be more generic

* some styling updates

* remove console log

* Store tweaks

* Add startDate to Quota type

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>

* Lint

* Support custom lock options

* Reactivity fixes for add user modals

* Update ethereal email creds

* Add warn for getting invite from code error

* Extract disabling user import condition

* Handling unlimited users in modals logic and adding start date processing to store

* Lint

* Integration testing fixes (#10389)

* lint

---------

Co-authored-by: Mateus Badan de Pieri <mateuspieri@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Peter Clement <PClmnt@users.noreply.github.com>
2023-04-24 09:31:48 +01:00
melohagan 476bf65957 Set default enum values (#10377) 2023-04-21 14:37:15 +01:00
mike12345567 72d1394873 Further linting. 2023-04-21 12:07:28 +01:00
mike12345567 2056623897 Fixing linting. 2023-04-20 17:51:43 +01:00
mike12345567 060dc05afa Removing export all apps functionality from cloud - this was a very niche feature and often confusing, now there is a consistent flow for starting out in self host. 2023-04-20 17:19:17 +01:00
Andrew Kingston 55ce83c444 Grid UI in data section (#10329)
* Add WIP spreadsheet

* Add footer and improve styles

* Refactor to use IDs and support changing text values inline

* Add inline editing of options fields

* Add row deletion and fix sizing

* Add ability to add new rows

* Fix z-index issue with option cells

* Remove deletion notification and fix selection

* Add gap between items in an options cell

* Tweak options cell to be pixel perfect

* Fix padding around sheet not working when scrolling

* Add resizable columns and add support for all themes

* Allow multiselect component and field to support text values

* Generate inclusion schema when importing multiselect columns

* Add support for multiselect type

* Add number cell

* Add functional date cell

* Disable editing autocolumns

* Make sticky column the primary display and fix opening options cells

* Improve display of relationship cell and options cell

* Support empty dates and use CSS variables for easier styling

* Use more CSS variables and add utils to spreadsheets

* Add drag and drop column reordering

* Break out reordering logic into new stores

* Rename reordering to reorder

* Break out other components from spreadsheet for cleaner code

* Break out spreadsheet body into its own component

* Split into more modular components and try virtual rendering

* Test absolute positioning

* Optimise virtual rendering for both columns and rows to handle infinitely large datasets

* Optimise scrolling and virtual rendering performance

* Fix columnn reordering

* Migrate sheet to data section, improve reordering and reszing

* Clean up more sheet state and increase performance

* Fix multiple issues with z-index, reordering and resizing

* Fix date cells in sheets

* Separate data fetching logic from main sheet and tidy up

* Add infinite scroll, improve row fetching, add error handling, fix svelte store updates

* Fix overly thin scrollbars in firefox

* Use nicer checkboxes and fix some hover styles

* Fix issue reordering columns in firefox and increase performance

* Tidy up

* Use search endpoint instead of get endpoint to fetch individual rows so that relationship enrichment occurs

* Tidy up

* Fix relationship issues when creating rows

* Optimise resetting data to smoothly transition when changing datasource

* Add WIP virtual dom implementation to massively increase performance

* Refactor spreadsheet into more discreet components

* Fix multiple issues, clean up rendering, improve performance

* Tune cell sizes

* Fix some scroll issues and add shadow to sticky column

* Fix issue when no primary display is set

* Add padding to sheet

* Improve styles

* Allow reordering columns to be the first column after sticky column

* Fix row hover state not being removed

* Update hovered row on wheel

* Update scroll styles and z-index

* Improve scroll logic and handle horizontal wheel events

* Simplify and improve z index styles

* Fix styles when using no sticky columns

* Improve rendering performance

* Improve performance by removing keyed each blocks and fix reorder target styling

* Ensure scroll top is always properly reset and add config store

* Allow configuring selecting rows and adding rows

* Integrate sheet into data section better

* Add back in functional delete row button

* Refactor stores and make state more modular

* Lint and remove unused deps

* Remove add column button

* Fix options cells being unable to scroll

* Add WIP initial multi-user websocket implementation for sheets

* Add WIP multi-user UI for sheet interface

* Fix issues with not disconnecting users when swapping datasource and improve multi-user UI

* Update layout and remove logging

* WIP column popovers for dataspace sheets

* Add popovers to sheet column headers, improve mouse UX

* Tidy reordering stuff

* Refactor resizing logic into store and improve UX around hover events when resizing/reordering

* Add column sorting and reordering via popover

* Handle context menu events in header cells

* Fully integrates sheets with datasection and remove lots of old stuff

* Fix buttons being highlighted when filters are set

* Add flags for controlling editing and adding rows in sheets

* Count context menu clicks when considering the click outside handler

* Prevent adding rows to users table and remove log

* Expose loading state of sheet and improve column highlighting logic

* Small style updates

* Update delete button and allow horizontal scrolling

* Add context menu to sheets with deletion and duplication features

* Improve UX around selecting rows and cells

* Add basic keyboard interactions to dataspaces

* Improve keyboard navigation in sheets

* Remove unnecessary searching through large rows array

* Fix issue with deleting rows and fix relationship cells displaying undefined

* Improve loading state

* Update menu width

* Merge with new shared-core and moved lucene utils

* Improve rendering performance and simplify component props

* Remove new row component and improve mouse interactions

* Tidy up buttons above sheets and add FAB for adding rows

* Optimise sheet data loading and add sort button

* Update sorting and remove logs

* Add sheet button to control column visibilty, improve sorting, improve disabled states

* Fix bug with select placeholders and fix sorting loops causing endless refreshes

* Update filter button to look consistent and add double click to resize columns to default width

* Ensure all derived stores have default values

* Reset scrolling when datasource changes and fix wasted pagination calls

* Improve performance by removing searches through the full row array

* Add advanced key handling for spreadsheets and improve blur and focus UX

* Ensure the selected cell is always visible

* Add icons for all data types

* Add new long form text cell

* Add boolean cell

* Add ability to focus first cell via tab

* Add cells for formulae and JSON

* Remove console logs

* Add attachment cell

* Increase padding to account for attachment dropdown

* Prevent deleting autocolumns via keyboard

* Fix attachments overflowing

* Improve sort button, remove header more icons unless hovered and highlight sorted column

* Add functional relationship cell

* Improve relationship cell

* Fix race conditions and edge cases in relationship cell

* Update user avatar colours

* Improve preservation of column widths in sheets when making schema changes

* Remove redundant sheet schema context and fix issues with mutating table schema

* Disable websocket in sheets

* Rollback state changes when row saving fails

* Fix one-to-many relationships allowing selecting multiple rows on both sides

* Remove log

* Make sheet gutter width customisable

* Allow expanding rows using existing edit row modal

* Fix text cell not using full width

* Sort columns to put autocolumns last

* Add new footer for adding rows, improve store memoization, support inverting all data types

* Improve animations for adding rows and handle add row failure

* Ensure all sheet feature flags work as expected and fix multi row deletion

* Fix options ordering

* Fix add row button not appearing when horizontal scrollbar is hidden

* Fix selecting newly created rows

* Remove log and add notification when creating or editing columns

* Move new row component to top, automatically invert cell renderers when required

* Add resizable rows

* Fix overlapping long form text borders

* Fix scroll not working in new row

* Update new row component, fix z-index issues, improve UX

* Large refactors to row creation, naming and sheet APIs

* Refactor stores to fix dependency issues, use modals for adding rows, simplify sheet

* Fix resize overlays

* Add custom colors for drop shadows and blue-100 to all themes, fix sticky column shadow

* Increase horizontal padding when scrolling to a selected cell

* Add multiple validation improvements

* Add validation to duplicating rows

* Remove log

* Restore missing event handler

* Improve data fetch reset logic, fix issues with stale cache in spreadsheets

* Fix issue with cell colors, improve row API interactions to avoid relationship issues due to API response differences

* Fix filters not working

* Simplify logic for reordering and add new overlay. Simplify sheet cells

* Fix importing and exporting with sheets

* Fix reorder overlay z-index issue

* Fix issue when no display column exists

* Fix issue with display column not being able to be unset

* Add persitence to column size and order in sheets

* Improve sheet integration with data section and add horizontal cell inversion

* Fix double click resizing of sticky column

* Make column visibility persistent and refactor column updating

* Improve sheet loading states

* Add beta button to sheet, tidy up constants

* Work around table API inconsistencies to handle table schema updates

* Add additional reorder options and improve beta button

* Improve sorting

* Add copy and paste to spreadsheet and add immediate editing of cells without additional click

* Remove copy/paste rows, remove move to start/end, improve copy/paste for cell values

* Fix dependency ordering

* Refactor other sheet stores to improve dependency ordering

* Fix errors not showing in sticky column and clear cell value on backspace press

* Rewrite relationship cell and update default column widths

* Ensure dynamic row height is properly accounted for

* Update text cells, number cells, long form field cells and relationship cells to respect row height

* Fix row heights with sticky column

* Update JSON, boolean and date cells to respect row height

* Update attachment cell to respect row height

* Use unique background for focused cell

* Standardise shadows across cell types

* Persist row height as table metadata

* Improve a few design issues

* Clean up

* Fix relationship cells not being readonly

* Lint

* Fix icon padding in relationship picker

* Improve styles in relationship dropdown

* Update shadow

* Update relationship icons

* Update relationship icons

* Update error label max size and position

* Prevent using invalid data types as display columns

* Add menu option to edit rows in modal

* Prevent sheet handling key events sourcing from modals

* Standardise menu overlay shadow and add count to relationship cells when hovering

* Improve relationship cell performance

* Remove spellcheck from text fields

* Fix resize overlay handler height

* Fix reorder overlay height

* Remove unused code and change selected table faster in data section

* Fix table selection not working when on datasource page

* Improve sheet loading state

* Add rowHeight property to table types

* Restore builder middleware

* Remove any naming of dataspaces

* Lint

* Disable row import button for users table and add optional chaining to spreadsheetsocket invocations to fix tests

* Use unique user edit modal for editing users in sheets

* Add schemaOverrides prop to sheet and use it to customise user table schema

* Update number icon

* Fix primary display column not properly disabling certain menu options

* Merge

* Update beta button position slightly

* Update beta button text

* Fix HMR for custom plugins which was broken due to signed minio links

* Add maze link to grid

* Update koa <> socket.io integation to improve fake koa context and allow current app middleware

* Rename sheet to grid

* Fix menu postiion, fix copy and paste in menu not working

* Remove commented out usages of websocket emissions for grid
2023-04-20 15:56:24 +01:00
Andrew Kingston 9025e18f15 Misc fixes (#10345)
* Fix some issues with component and screen settings layout

* Fix issue with component setting labels when multi-line

* Remove early termination of form validation when encountering an errored field

* Update free logo badge to be a sticky footer

* Close side panels when clicking on links
2023-04-19 14:21:11 +01:00
Michael Drury 42c37eea46 Merge pull request #10276 from Budibase/labday/automation-plugins
Automation step plugins
2023-04-18 17:33:25 +01:00
mike12345567 22dbb8d379 Updating automation action add modal to split out plugins into their own section. 2023-04-18 16:12:08 +01:00
Gerard Burns d36cd3b1f8 Builder Unit Test PoC (#10173)
* wip

* wip
2023-04-18 14:37:29 +01:00
Gerard Burns 7e5b99aa84 Fix Help Menu (#10257)
* Fix Help Menu

* PR Feedback

* linting
2023-04-18 10:37:11 +01:00
adrinr 4a67136c72 Remove unnecessary initialisation 2023-04-17 09:49:11 +01:00
adrinr 965a417a21 Fix disabling fields on first load 2023-04-16 18:45:09 +01:00
mike12345567 b36702ca72 Merge branch 'master' of github.com:Budibase/budibase into develop 2023-04-14 17:32:04 +01:00
Peter Clement d0b23d780d Merge pull request #10202 from Budibase/fix/rest-bindings-bug
Fix issue with REST bindings not being shown in drawer
2023-04-14 09:55:24 +01:00
mike12345567 a9fb09424b Merge branch 'develop' of github.com:Budibase/budibase into labday/automation-plugins 2023-04-12 14:27:50 +01:00
melohagan 6ca999722c Add file/upload size validation option (#10262)
* Add file/upload size validation option

* Max upload size handler

* Update max total upload label
2023-04-12 11:51:18 +01:00
Michael Drury 1c7c06e983 Bulk of the automation plugin system, supporting custom plugins. 2023-04-10 23:48:54 +01:00
Michael Drury bfec84e1df Removing console logging. 2023-04-05 20:32:41 +01:00
mike12345567 022b3acbcc Linting. 2023-04-05 17:54:05 +01:00
mike12345567 373952a59b Fixing #10155 - some options errors were being swallowed and in general it was never considered to be an error state due to the 'handled' flag being consistently sent, changed the logic a bit here. 2023-04-05 17:43:35 +01:00
Peter Clement c571a3f881 Fix issue with REST bindings not being shown in drawer 2023-04-04 09:12:15 +01:00
Michael Drury 9e68e9cf2f Merge pull request #10181 from Budibase/fix/same-tab-googlesheets-onboarding
Minor googlesheets onboarding improvement
2023-04-03 12:22:09 +01:00
Adria Navarro e1669c8260 Merge pull request #10022 from Budibase/feature/scim
Feature - SCIM endpoints
2023-04-03 13:22:01 +02:00
adrinr d943e387b1 Expose actual error message 2023-04-03 12:00:06 +01:00
Michael Drury 09a48a1d21 Merge branch 'develop' of github.com:Budibase/budibase into fix/no-iterations-loop 2023-03-31 23:29:21 +01:00
mike12345567 ea70b6232f Making login page open SSO authorization on same page, rather than leaving a dead tab. 2023-03-31 14:52:18 +01:00
mike12345567 8673ed1dae Minor improvement - opening the google authorization in the same tab as onboarding rather than creating a dead tab. 2023-03-31 14:03:34 +01:00
Michael Drury 1c6465edcb Merge pull request #10172 from Budibase/fix/budi-6797
Googlesheets onboarding - fix in cloud, disable self host
2023-03-31 13:19:29 +01:00
mike12345567 e9f69dcfea Adding default state. 2023-03-31 12:51:45 +01:00
Peter Clement 0a567a3302 add new status to handle no iterations during loop 2023-03-31 12:23:10 +01:00
Adria Navarro ceba91fd5c Merge pull request #10176 from Budibase/bug/budi-6631-define-existing-relationships-doesnt
[BUG] Refresh sql columns on defining relationships
2023-03-31 13:00:58 +02:00
mike12345567 75baba76d6 Resolving PR comments. 2023-03-31 11:38:09 +01:00
adrinr 6f69798f27 Undo wrongly commited code 2023-03-31 11:27:44 +01:00
adrinr faa1c27d29 Refresh sql columns on defining relationships 2023-03-31 10:53:50 +01:00
adrinr ec0acadd0a Fix user crossover on the bulder when no using account portal 2023-03-31 09:46:56 +01:00
mike12345567 42320b1d95 Merge branch 'develop' of github.com:Budibase/budibase into fix/budi-6797 2023-03-30 17:29:58 +01:00
Rory Powell 38e6d61709 Explictly check for google datasource configured (#10165)
* Explictly check for google datasource configured

* Unit tests for getGoogleDatasourceConfig

* Update /api/global/configs/public test + lint
2023-03-30 13:40:59 +01:00
mike12345567 32c78ec9bf This makes it so that Googlesheets works correctly as part of onboarding in the Cloud, in self host the googlesheets onboarding option has been hidden as it is too complex to get the user to setup the correct integrations with their google account while doing the first time onboarding to an app. 2023-03-29 19:58:24 +01:00
mike12345567 26aeac357d Removing tenancy validity check, instead depending on the PLATFORM_URL environment variable for determining tenant ID. 2023-03-29 16:19:35 +01:00
Michael Drury d255bfad0b Merge pull request #10149 from Budibase/fix/budicloud-log-out
Budicloud logout on googlesheet auth
2023-03-29 14:47:15 +01:00
mike12345567 b6be98fa4e Making logic around logout very explicit. 2023-03-29 14:22:07 +01:00
mike12345567 70d91acc41 Adding a check for the tenant ID - to make sure it is a real tenant before forcing the user out of the platform based on it. 2023-03-29 14:19:54 +01:00
Rory Powell d6992bbf94 Merge branch 'master' into merge-master-develop 2023-03-29 11:52:09 +01:00
adrinr 204b6d2950 Fix config type 2023-03-29 09:31:07 +01:00
adrinr 5e478f2eaa Fix setting scim config 2023-03-29 09:27:52 +01:00
Rory Powell 89d19a87a7 Revert "Merge pull request #10038 from Budibase/fix/budi-6723" (#10143)
This reverts commit b1b18bef18, reversing
changes made to e841ccd0ed.
2023-03-29 08:48:06 +01:00
Andrew Kingston f2b12bcf45 Component error state improvements (#10136)
* Tidy logic for creating initial component instances

* Add initial implementation of enriching empty settings

* Fix regression that prevented custom placeholders from working (#9994)

* Tidy up

* Add automatic naming of form fields when added

* Update missing required setting placeholder

* Improve error states and add ability to automatically wrap a component in a required parent type

* Fix crash in column editor and rename component placeholder to error state

* Select the parent component after adding it when wrapping a component with a missing ancestor

* Fix blocks and make fields require forms

* Improve empty component placeholder

* Lint
2023-03-28 21:11:33 +01:00
Martin McKeaveney bcbed08a40 Merge pull request #9951 from Budibase/settings-panel-update
Settings panel layout update
2023-03-28 18:36:58 +01:00
adrinr ac1da306f9 Replace license with feature 2023-03-28 16:46:23 +01:00