mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) Fix an insidious bug in RefCountMap, manifesting as JS errors some time after import.
Summary: After an import from inside a document, one minute later, an important QuerySet would get disposed, leaving the view section in a bad state, and manifesting as JS errors on subsequent operations. (Might not *always* happen because switching pages would prevent it from manifesting, I think.) Bad state that I've seen after transforms is probably explainable as this bug, which is unrelated. Reproduction was hard because who knew one had to wait a minute?! Test Plan: Added a unittest for the fix in QuerySet, and a browser test that fails without the fix (JS errors, bad state), and passes with. Reviewers: paulfitz Reviewed By: paulfitz Differential Revision: https://phab.getgrist.com/D2653
This commit is contained in:
@@ -98,6 +98,12 @@ export class QuerySetManager extends Disposable {
|
||||
public purgeKey(queryKey: string) {
|
||||
this._queryMap.purgeKey(queryKey);
|
||||
}
|
||||
|
||||
// For testing: set gracePeriodMs, returning the previous value.
|
||||
public testSetGracePeriodMs(ms: number): number {
|
||||
return this._queryMap.testSetGracePeriodMs(ms);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user