Keep all previously approved widget capabilities when requesting new capabilities (#7340)
This commit is contained in:
@@ -34,7 +34,7 @@ import { IContent, IEvent, MatrixEvent } from "matrix-js-sdk/src/models/event";
|
||||
import { Room } from "matrix-js-sdk/src/models/room";
|
||||
import { logger } from "matrix-js-sdk/src/logger";
|
||||
|
||||
import { iterableDiff, iterableUnion } from "../../utils/iterables";
|
||||
import { iterableDiff, iterableMerge } from "../../utils/iterables";
|
||||
import { MatrixClientPeg } from "../../MatrixClientPeg";
|
||||
import ActiveRoomObserver from "../../ActiveRoomObserver";
|
||||
import Modal from "../../Modal";
|
||||
@@ -131,7 +131,7 @@ export class StopGapWidgetDriver extends WidgetDriver {
|
||||
}
|
||||
}
|
||||
|
||||
const allAllowed = new Set(iterableUnion(allowedSoFar, requested));
|
||||
const allAllowed = new Set(iterableMerge(allowedSoFar, requested));
|
||||
|
||||
if (rememberApproved) {
|
||||
setRememberedCapabilitiesForWidget(this.forWidget, Array.from(allAllowed));
|
||||
|
||||
@@ -14,7 +14,11 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { arrayDiff, arrayUnion } from "./arrays";
|
||||
import { arrayDiff, arrayMerge, arrayUnion } from "./arrays";
|
||||
|
||||
export function iterableMerge<T>(a: Iterable<T>, b: Iterable<T>): Iterable<T> {
|
||||
return arrayMerge(Array.from(a), Array.from(b));
|
||||
}
|
||||
|
||||
export function iterableUnion<T>(a: Iterable<T>, b: Iterable<T>): Iterable<T> {
|
||||
return arrayUnion(Array.from(a), Array.from(b));
|
||||
|
||||
Reference in New Issue
Block a user