Skip to content
This repository was archived by the owner on Sep 30, 2024. It is now read-only.

Commit cfedc71

Browse files
committed
fix "Find references" exception
1 parent 1dd8e01 commit cfedc71

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

client/shared/src/util/rxjs/combineLatestOrDefault.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
/* eslint-disable @typescript-eslint/no-use-before-define */
22
/* eslint rxjs/no-internal: warn */
3-
import { Observable, ObservableInput, of, Operator, PartialObserver, Subscriber, TeardownLogic, zip } from 'rxjs'
4-
import { fromArray } from 'rxjs/internal/observable/fromArray'
3+
import {
4+
asapScheduler,
5+
from,
6+
Observable,
7+
ObservableInput,
8+
of,
9+
Operator,
10+
PartialObserver,
11+
Subscriber,
12+
TeardownLogic,
13+
zip,
14+
} from 'rxjs'
515
import { OuterSubscriber } from 'rxjs/internal/OuterSubscriber'
6-
import { asap } from 'rxjs/internal/scheduler/asap'
716
import { subscribeToResult } from 'rxjs/internal/util/subscribeToResult'
817

918
/**
@@ -41,7 +50,7 @@ export function combineLatestOrDefault<T>(observables: ObservableInput<T>[], def
4150
// Only one source observable: no need to handle emission accumulation or default values
4251
return zip(...observables)
4352
default:
44-
return fromArray(observables).lift(new CombineLatestOperator(defaultValue))
53+
return from(observables).lift(new CombineLatestOperator(defaultValue))
4554
}
4655
}
4756

@@ -103,7 +112,7 @@ class CombineLatestSubscriber<T> extends OuterSubscriber<T, T[]> {
103112
// This makes tests (using expectObservable) easier to write.
104113
if (!this.scheduled) {
105114
this.scheduled = true
106-
asap.schedule(() => {
115+
asapScheduler.schedule(() => {
107116
if (this.scheduled && this.destination.next) {
108117
this.destination.next(this.values.slice())
109118
}

client/web/dev/esbuild/build.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ export const BUILD_OPTIONS: esbuild.BuildOptions = {
3434
manifestPlugin,
3535
packageResolutionPlugin({
3636
path: require.resolve('path-browserify'),
37+
38+
// Needed because imports of rxjs/internal/... actually import a different variant of
39+
// rxjs in the same package, which leads to observables from combineLatestOrDefault (and
40+
// other places that use rxjs/internal/...) not being cross-compatible. See
41+
// https://stackoverflow.com/questions/53758889/rxjs-subscribeto-js-observable-check-works-in-chrome-but-fails-in-chrome-incogn.
42+
'rxjs/internal/OuterSubscriber': require.resolve('rxjs/_esm5/internal/OuterSubscriber'),
43+
'rxjs/internal/util/subscribeToResult': require.resolve('rxjs/_esm5/internal/util/subscribeToResult'),
3744
}),
3845
monacoPlugin(MONACO_LANGUAGES_AND_FEATURES),
3946
{

0 commit comments

Comments
 (0)