mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
Summary: Builds upon https://phab.getgrist.com/D3328 - Add HomeDB column `Document.gracePeriodStart` - When the row count moves above the limit, set it to the current date. When it moves below, set it to null. - Add DataLimitStatus type indicating if the document is approaching the limit, is in a grace period, or is in delete only mode if the grace period started at least 14 days ago. Compute it in ActiveDoc and send it to client when opening. - Only allow certain user actions when in delete-only mode. Follow-up tasks related to this diff: - When DataLimitStatus in the client is non-empty, show a banner to the appropriate users. - Only send DataLimitStatus to users with the appropriate access. There's no risk landing this now since real users will only see null until free team sites are released. - Update DataLimitStatus immediately in the client when it changes, e.g. when user actions are applied or the product is changed. Right now it's only sent when the document loads. - Update row limit, grace period start, and data limit status in ActiveDoc when the product changes, i.e. the user upgrades/downgrades. - Account for data size when computing data limit status, not just row counts. See also the tasks mentioned in https://phab.getgrist.com/D3331 Test Plan: Extended FreeTeam nbrowser test, testing the 4 statuses. Reviewers: georgegevoian Reviewed By: georgegevoian Differential Revision: https://phab.getgrist.com/D3331 |
||
---|---|---|
.. | ||
ACLPermissions.ts | ||
ACLRuleCollection.ts | ||
ActionBundle.ts | ||
ActionDispatcher.ts | ||
ActionGroup.ts | ||
ActionRouter.ts | ||
ActionSummary.ts | ||
ActiveDocAPI.ts | ||
ApiError.ts | ||
arrayToString.ts | ||
AsyncCreate.ts | ||
AsyncFlow.ts | ||
BaseAPI.ts | ||
BasketClientAPI.ts | ||
BigInt.ts | ||
BillingAPI.ts | ||
BinaryIndexedTree.js | ||
BrowserSettings.ts | ||
ColumnFilterFunc.ts | ||
ColumnGetters.ts | ||
csvFormat.ts | ||
CustomWidget.ts | ||
declarations.d.ts | ||
delay.ts | ||
DisposableWithEvents.ts | ||
DocActions.ts | ||
DocData.ts | ||
DocListAPI.ts | ||
DocSnapshot.ts | ||
DocumentSettings.ts | ||
emails.ts | ||
EncActionBundle.ts | ||
ErrorWithCode.ts | ||
Features.ts | ||
FilterState.ts | ||
Formula.ts | ||
GranularAccessClause.ts | ||
GristServerAPI.ts | ||
gristTypes.ts | ||
gristUrls.ts | ||
gutil.ts | ||
InactivityTimer.ts | ||
isHiddenTable.ts | ||
KeyedMutex.ts | ||
KeyedOps.ts | ||
LocaleCodes.ts | ||
Locales.ts | ||
LoginSessionAPI.ts | ||
LoginState.ts | ||
marshal.ts | ||
MemBuffer.js | ||
NumberFormat.ts | ||
NumberParse.ts | ||
orgNameUtils.ts | ||
parseDate.ts | ||
plugin.ts | ||
PluginInstance.ts | ||
Prefs.ts | ||
RefCountMap.ts | ||
resetOrg.ts | ||
roles.ts | ||
RowFilterFunc.ts | ||
schema.ts | ||
ShareAnnotator.ts | ||
sharing.ts | ||
SortFunc.ts | ||
SortSpec.ts | ||
StringUnion.ts | ||
TableData.ts | ||
TabularDiff.ts | ||
tagManager.ts | ||
tbind.ts | ||
TestState.ts | ||
timeFormat.ts | ||
tpromisified.ts | ||
tsconfig.json | ||
tsvFormat.ts | ||
UIRowId.ts | ||
uploads.ts | ||
urlUtils.ts | ||
UserAPI.ts | ||
UserConfig.ts | ||
ValueConverter.ts | ||
ValueFormatter.ts | ||
ValueGuesser.ts | ||
ValueParser.ts |