mirror of
https://github.com/bitwarden/browser
synced 2025-12-10 21:33:27 +00:00
[PM-20615] Only process incoming messages once (#14645)
* feat: start ipc client * fix: payload serialization issues * feat: filter incoming messages by destination * fix: adapt to SDK renames * feat: update sdk
This commit is contained in:
@@ -2,7 +2,11 @@ import type { OutgoingMessage } from "@bitwarden/sdk-internal";
|
||||
|
||||
export interface IpcMessage {
|
||||
type: "bitwarden-ipc-message";
|
||||
message: Omit<OutgoingMessage, "free">;
|
||||
message: SerializedOutgoingMessage;
|
||||
}
|
||||
|
||||
export interface SerializedOutgoingMessage extends Omit<OutgoingMessage, "free" | "payload"> {
|
||||
payload: number[];
|
||||
}
|
||||
|
||||
export function isIpcMessage(message: any): message is IpcMessage {
|
||||
|
||||
@@ -23,6 +23,8 @@ export abstract class IpcService {
|
||||
|
||||
protected async initWithClient(client: IpcClient): Promise<void> {
|
||||
this._client = client;
|
||||
await this._client.start();
|
||||
|
||||
this._messages$ = new Observable<IncomingMessage>((subscriber) => {
|
||||
let isSubscribed = true;
|
||||
const receiveLoop = async () => {
|
||||
|
||||
Reference in New Issue
Block a user