Commit Graph

419 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
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
Gerard Burns d36cd3b1f8 Builder Unit Test PoC (#10173)
* wip

* wip
2023-04-18 14:37:29 +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 faa1c27d29 Refresh sql columns on defining relationships 2023-03-31 10:53:50 +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 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
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
adrinr 204b6d2950 Fix config type 2023-03-29 09:31:07 +01:00
adrinr d615e1daed Create feature store 2023-03-28 16:46:23 +01:00
adrinr 0c5d33a642 Show SCIM banner if SCIM enabled 2023-03-28 16:46:23 +01:00
Dean eb3e38bb61 Removed the license agreement toggle 2023-03-27 15:32:45 +01:00
Dean 8131d9dc6f Branding feature flag changes, config trimming and some fixes 2023-03-27 15:17:14 +01:00
Dean bfd7e49c72 Template fixes and updates to the file picker. Error handling added to display a warning when navigating to an unpublished or invalid app url. 2023-03-21 09:20:43 +00:00
Dean 253ee413a2 Working commit 2023-03-16 09:07:21 +00:00
Dean 5ce52cad06 Working commit 2023-03-13 12:33:16 +00:00
Dean e8c6fc6acf Merge remote-tracking branch 'origin/develop' into feature/whitelabelling 2023-03-08 13:01:55 +00:00
mike12345567 ae3671ea42 Merge branch 'master' of github.com:Budibase/budibase into develop 2023-03-07 17:49:44 +00:00
Dean 5b9fbbc3b4 Various fixes for update self behaviour 2023-03-07 13:35:18 +00:00
Dean e4512ba91f Merge commit 2023-03-07 12:18:48 +00:00
Rory Powell a80d963c88 Hide upgrade button on enterprise plan 2023-03-02 08:58:54 +00:00
Peter Clement 692d10d4be lint 2023-03-01 14:54:00 +00:00
Peter Clement a192ea0caa Only allow admins to access audit logs 2023-03-01 14:48:10 +00:00
Dean a5c6dbe4ae Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 16:38:44 +00:00
Rory Powell 7ed0586673 Add validation between sso config acivation and sso enforcement 2023-02-28 13:36:54 +00:00
Dean dd08845a44 Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 09:38:15 +00:00
Dean 61ed62e6c4 Builder user onboarding 2023-02-28 09:37:03 +00:00
mike12345567 2fb33e2cf3 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-27 14:51:33 +00:00
Rory Powell 2c46109e7d Enforceable SSO (#9787)
* Add ENFORCEABLE_SSO feature flag

* First draft of enforce sso configuration / show single sign on url

* Reading and writing isSSOEnforced + integration with login page

* Enable CI + lint

* Set correct base branch for CI

* Test fix for expected string changed

* Use tenant aware platform url as SSO link

* Bring in latest pro changes

* Lint

* Add useEnforceableSSO mock helper function

* Update configs.spec.ts with coverage for public settings

* Update users.spec.ts with additional tests for isPreventPasswordActions

* Lint

* Update refresh OAuthToken to use correct enum and add case statement
2023-02-27 13:42:51 +00:00
mike12345567 42fc004212 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-24 12:46:58 +00:00
mike12345567 01076bd35f Getting downloading working correctly, some minor UI updates, adding a new middleware for converting a query string to a body (useful for when a GET has to be used). 2023-02-22 18:50:27 +00:00
Peter Clement 6681853acf Merge branch 'feature/audit-logs' of github.com:Budibase/budibase into feature/audit-logs 2023-02-22 10:11:21 +00:00
Peter Clement 7bb9829165 update sidebar styling and fix bugs 2023-02-22 10:09:15 +00:00
Gerard Burns e7f8a8a801 Backups UI Changes (#9726)
* Backups UI Changes

* PR Feedback

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>
2023-02-22 10:03:11 +00:00
mike12345567 ef30c03fa6 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-21 17:26:24 +00:00
Peter Clement dc691bcaf7 integrate properly with audit log search api 2023-02-21 10:48:55 +00:00
Rory Powell cacf275a99 Prevent SSO users from setting / resetting a password (#9672)
* Prevent SSO users from setting / resetting a password

* Add support for ENABLE_SSO_MAINTENANCE_MODE

* Add typing to self api and build out user update sdk

* Integrate sso checks with user sdk. Integrate user sdk with self api

* Test fixes

* Move self update into SDK

* Lock down maintenance mode to admin user

* Fix typo

* Add health status response and return type signature to accounts.getStatus

* Remove some unnecessary comments

* Make sso save user function non optional

* Remove redundant check on sso auth details provider

* Update syncProfilePicture function name to getProfilePictureUrl

* Update packages/worker/src/sdk/users/events.ts

Co-authored-by: Adria Navarro <adria@revityapp.com>

* Add ENABLE_EMAIL_TEST_MODE flag

* Fix for logging in as sso user when existing user has password already

* Hide password update and force reset from ui for sso users

* Always disable sso maintenance mode in cloud

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-02-21 08:23:53 +00:00
Peter Clement a1b47bbce3 ensure table is pulling from search endpoint 2023-02-17 16:49:41 +00:00
Peter Clement 6d60c27521 add store and api funcs 2023-02-13 16:32:14 +00:00
Peter Clement 2d2c960b75 add audit logs feature 2023-02-13 11:43:25 +00:00
Peter Clement 70ac7b81c3 add base audit logs ui 2023-02-13 09:47:08 +00:00
Peter Clement 2320bd574e don't load env vars when license isn't enabled 2023-02-06 14:37:50 +00:00
deanhannigan 7540cad45c Merge pull request #9467 from Budibase/feature/auth-screens-redesign
Selfhost onboarding UX/UI updates
2023-01-31 16:13:46 +00:00
Dean d37c0e4b5d UI Onboarding UI/UX auth refactoring 2023-01-27 13:44:57 +00:00
mike12345567 301bc2af8e Merge branch 'cheeks-lab-day-portal-redesign' of github.com:Budibase/budibase into feature/environment-variables 2023-01-27 10:52:46 +00:00
Peter Clement c68b5ccb84 fix license check 2023-01-26 16:16:56 +00:00
Peter Clement debef20af5 gate env vars in binding drawers behind license 2023-01-26 15:09:20 +00:00
mike12345567 63d882efc6 Adding frontend event publishing for events like upgrade panel opened. 2023-01-23 19:18:02 +00:00