From 5be6b0818f5c71b0d4d669a4b1cdb5327bad5e17 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Thu, 8 Nov 2018 14:04:32 +0100 Subject: [PATCH 1/4] Fix bug onEveryBlock --- packages/light.js/src/frequency/blocks.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/light.js/src/frequency/blocks.ts b/packages/light.js/src/frequency/blocks.ts index dc96022e..25cd3614 100644 --- a/packages/light.js/src/frequency/blocks.ts +++ b/packages/light.js/src/frequency/blocks.ts @@ -20,10 +20,13 @@ import { onSyncingChanged$ } from './health'; */ const onEveryBlockWithApi$ = memoizee( (api: any, options: FrequencyObservableOptions) => - onSyncingChanged$(options).pipe( - filter((isSyncing: boolean) => isSyncing === false), - withLatestFrom(createPubsubObservable('eth_blockNumber', options)), - map(([_, blockNumber]) => blockNumber) + createPubsubObservable('eth_blockNumber', options).pipe( + withLatestFrom( + onSyncingChanged$(options).pipe( + filter((isSyncing: boolean) => isSyncing === false) + ) + ), + map(([blockNumber]) => blockNumber) ) as Observable, { length: 1 } // Only memoize by api ); From c098c724a1aa63ee5a78dde58506ed7809449509 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Thu, 8 Nov 2018 14:07:41 +0100 Subject: [PATCH 2/4] Bump version --- packages/light.js/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/light.js/package.json b/packages/light.js/package.json index cec927a6..0a01f87d 100644 --- a/packages/light.js/package.json +++ b/packages/light.js/package.json @@ -1,7 +1,7 @@ { "name": "@parity/light.js", "description": "A high-level reactive JS library optimized for light clients", - "version": "1.0.8", + "version": "1.0.9", "author": "Parity Team ", "license": "MIT", "repository": "https://github.com/paritytech/js-libs/tree/master/packages/light.js", From d8c67e6f80d419d1420112f18c9e3a5e4709150b Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Thu, 8 Nov 2018 14:10:52 +0100 Subject: [PATCH 3/4] Clearer formatting --- packages/light.js/src/frequency/blocks.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/light.js/src/frequency/blocks.ts b/packages/light.js/src/frequency/blocks.ts index 25cd3614..b6fdc070 100644 --- a/packages/light.js/src/frequency/blocks.ts +++ b/packages/light.js/src/frequency/blocks.ts @@ -19,15 +19,16 @@ import { onSyncingChanged$ } from './health'; * @ignore */ const onEveryBlockWithApi$ = memoizee( - (api: any, options: FrequencyObservableOptions) => - createPubsubObservable('eth_blockNumber', options).pipe( - withLatestFrom( - onSyncingChanged$(options).pipe( - filter((isSyncing: boolean) => isSyncing === false) - ) - ), + (api: any, options: FrequencyObservableOptions) => { + const isSynced$ = onSyncingChanged$(options).pipe( + filter((isSyncing: boolean) => isSyncing === false) + ); + + return createPubsubObservable('eth_blockNumber', options).pipe( + withLatestFrom(isSynced$), map(([blockNumber]) => blockNumber) - ) as Observable, + ) as Observable; + }, { length: 1 } // Only memoize by api ); From 2620e729e59cf7a22ad322e88efdc8dde75556a5 Mon Sep 17 00:00:00 2001 From: Amaury Martiny Date: Thu, 8 Nov 2018 14:13:15 +0100 Subject: [PATCH 4/4] Refix bug --- packages/light.js/src/frequency/blocks.ts | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/packages/light.js/src/frequency/blocks.ts b/packages/light.js/src/frequency/blocks.ts index b6fdc070..5fbe7e02 100644 --- a/packages/light.js/src/frequency/blocks.ts +++ b/packages/light.js/src/frequency/blocks.ts @@ -19,16 +19,12 @@ import { onSyncingChanged$ } from './health'; * @ignore */ const onEveryBlockWithApi$ = memoizee( - (api: any, options: FrequencyObservableOptions) => { - const isSynced$ = onSyncingChanged$(options).pipe( - filter((isSyncing: boolean) => isSyncing === false) - ); - - return createPubsubObservable('eth_blockNumber', options).pipe( - withLatestFrom(isSynced$), + (api: any, options: FrequencyObservableOptions) => + createPubsubObservable('eth_blockNumber', options).pipe( + withLatestFrom(onSyncingChanged$(options)), + filter(([_, isSyncing]) => isSyncing === false), map(([blockNumber]) => blockNumber) - ) as Observable; - }, + ) as Observable, { length: 1 } // Only memoize by api );