Skip to content

Commit a328035

Browse files
authored
Merge pull request #124 from docknetwork/fix/background-notificationss
fixing issues with background notifications
2 parents d9b679d + 60490f5 commit a328035

File tree

1 file changed

+33
-4
lines changed
  • packages/wasm/lib/services/relay-service

1 file changed

+33
-4
lines changed

packages/wasm/lib/services/relay-service/service.js

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,29 @@ import {
66
serviceName,
77
validation,
88
} from './configs';
9-
9+
import {dockService} from '../dock/service';
1010
import {RelayService as relayServiceClient} from '@docknetwork/wallet-sdk-relay-service/lib';
1111

12+
export function waitFor(condition, timeout) {
13+
return new Promise((resolve, reject) => {
14+
const interval = setInterval(async () => {
15+
if (await Promise.resolve(condition())) {
16+
clearInterval(interval);
17+
resolve(true);
18+
}
19+
}, 400);
20+
21+
setTimeout(() => {
22+
clearInterval(interval);
23+
reject(new Error('Timed out'));
24+
}, timeout);
25+
});
26+
}
27+
28+
function ensureDockNetwork() {
29+
return waitFor(() => dockService.isApiConnected(), 8000);
30+
}
31+
1232
/**
1333
* RelayService
1434
*/
@@ -24,18 +44,27 @@ export class RelayService {
2444
this.name = serviceName;
2545
}
2646

27-
sendMessage(params: SendMessageParams) {
47+
async sendMessage(params: SendMessageParams) {
2848
validation.sendMessage(params);
49+
50+
await ensureDockNetwork();
51+
2952
return relayServiceClient.sendMessage(params);
3053
}
3154

32-
resolveDidcommMessage(params: ResolveDidcommMessageParams) {
55+
async resolveDidcommMessage(params: ResolveDidcommMessageParams) {
3356
validation.resolveDidcommMessage(params);
57+
58+
await ensureDockNetwork();
59+
3460
return relayServiceClient.resolveDidcommMessage(params);
3561
}
3662

37-
getMessages(params: GetMessagesParams) {
63+
async getMessages(params: GetMessagesParams) {
3864
validation.getMessages(params);
65+
66+
await ensureDockNetwork();
67+
3968
return relayServiceClient.getMessages(params);
4069
}
4170

0 commit comments

Comments
 (0)