summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-core/src/wallet.ts
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-01-13 14:24:28 +0100
committerFlorian Dold <florian@dold.me>2024-01-13 14:24:28 +0100
commit3277caa38a693e7faae588133d2604cd7072295a (patch)
tree80dd3fad250dc4080d974e7963ad729fc9660b86 /packages/taler-wallet-core/src/wallet.ts
parent2487a06bfea973dc92b7e3aff2e7a70f48d2cf17 (diff)
downloadwallet-core-3277caa38a693e7faae588133d2604cd7072295a.tar.gz
wallet-core-3277caa38a693e7faae588133d2604cd7072295a.tar.bz2
wallet-core-3277caa38a693e7faae588133d2604cd7072295a.zip
wallet-core: test request to diagnose sleep/wakeup issue on iOS
Diffstat (limited to 'packages/taler-wallet-core/src/wallet.ts')
-rw-r--r--packages/taler-wallet-core/src/wallet.ts21
1 files changed, 20 insertions, 1 deletions
diff --git a/packages/taler-wallet-core/src/wallet.ts b/packages/taler-wallet-core/src/wallet.ts
index da34ff37f..8d5028d47 100644
--- a/packages/taler-wallet-core/src/wallet.ts
+++ b/packages/taler-wallet-core/src/wallet.ts
@@ -298,7 +298,7 @@ import {
GetReadOnlyAccess,
GetReadWriteAccess,
} from "./util/query.js";
-import { TimerAPI, TimerGroup } from "./util/timer.js";
+import { TimerAPI, TimerGroup, timer } from "./util/timer.js";
import {
WALLET_BANK_CONVERSION_API_PROTOCOL_VERSION,
WALLET_BANK_INTEGRATION_PROTOCOL_VERSION,
@@ -1393,6 +1393,25 @@ async function dispatchRequestInternal<Op extends WalletApiOperation>(
ws.workAvailable.trigger();
return {};
}
+ case WalletApiOperation.TestingInfiniteTransactionLoop: {
+ const myDelayMs = (payload as any).delayMs ?? 5;
+ let loopCount = 0;
+ while (true) {
+ logger.info(`looping test write tx, iteration ${loopCount}`);
+ await ws.db.runReadWriteTx(["config"], async (tx) => {
+ await tx.config.put({
+ key: ConfigRecordKey.TestLoopTx,
+ value: loopCount,
+ });
+ });
+ if (myDelayMs != 0) {
+ await new Promise<void>((resolve, reject) => {
+ setTimeout(() => resolve(), myDelayMs);
+ });
+ }
+ loopCount = (loopCount + 1) % (Number.MAX_SAFE_INTEGER - 1);
+ }
+ }
// default:
// assertUnreachable(operation);
}