(core) move DocUsageBanner to ext

Summary:
grist-ee build was failing since it didn't have a
DocUsageBanner implementation available. Made the implementation
added to monorepo available, since it will be useful to improve
the activation banner.

Test Plan: manaul

Reviewers: georgegevoian

Reviewed By: georgegevoian

Subscribers: georgegevoian

Differential Revision: https://phab.getgrist.com/D3452
This commit is contained in:
Paul Fitzpatrick 2022-05-27 16:28:45 -04:00
parent b9a4b2b58f
commit dcaa2b4f29
2 changed files with 7 additions and 1 deletions

View File

@ -13,6 +13,7 @@
// changed during construction of a query.
import * as sqlite3 from '@gristlabs/sqlite3';
import * as log from 'app/server/lib/log';
import {Mutex, MutexInterface} from 'async-mutex';
import isEqual = require('lodash/isEqual');
import {EntityManager, QueryRunner} from 'typeorm';
@ -102,6 +103,7 @@ export function applyPatch() {
await queryRunner.commitTransaction();
return result;
} catch (err) {
log.debug(`SQLite transaction error [${arg1} ${arg2}] - ${err}`);
try {
// we throw original error even if rollback thrown an error
await queryRunner.rollbackTransaction();

View File

@ -55,8 +55,12 @@ export async function getOrCreateConnection(): Promise<Connection> {
// If multiple servers are started within the same process, we
// share the database connection. This saves locking trouble
// with Sqlite.
return getConnection();
const connection = getConnection();
return connection;
} catch (e) {
if (!String(e).match(/ConnectionNotFoundError/)) {
throw e;
}
const connection = await createConnection();
// When using Sqlite, set a busy timeout of 3s to tolerate a little
// interference from connections made by tests. Logging doesn't show