From 8e39007861dfbb154a527b0b46e2a91fa94ee582 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:19:08 +0530 Subject: [PATCH 1/7] feat: pass poolid --- server/src/browser-management/classes/RemoteBrowser.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/browser-management/classes/RemoteBrowser.ts b/server/src/browser-management/classes/RemoteBrowser.ts index 483abb8c..2af22c07 100644 --- a/server/src/browser-management/classes/RemoteBrowser.ts +++ b/server/src/browser-management/classes/RemoteBrowser.ts @@ -118,11 +118,11 @@ export class RemoteBrowser { * @param socket socket.io socket instance used to communicate with the client side * @constructor */ - public constructor(socket: Socket, userId: string) { + public constructor(socket: Socket, userId: string, poolId: string) { this.socket = socket; this.userId = userId; this.interpreter = new WorkflowInterpreter(socket); - this.generator = new WorkflowGenerator(socket); + this.generator = new WorkflowGenerator(socket, poolId); } private initializeMemoryManagement(): void { From f00193149e92c347f3a14f580c9ba04b6518f273 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:20:10 +0530 Subject: [PATCH 2/7] feat: pass id to browser session --- server/src/browser-management/controller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/src/browser-management/controller.ts b/server/src/browser-management/controller.ts index ef1e0011..d18c4534 100644 --- a/server/src/browser-management/controller.ts +++ b/server/src/browser-management/controller.ts @@ -32,7 +32,7 @@ export const initializeRemoteBrowserForRecording = (userId: string): string => { remoteBrowser?.updateSocket(socket); await remoteBrowser?.makeAndEmitScreenshot(); } else { - const browserSession = new RemoteBrowser(socket, userId); + const browserSession = new RemoteBrowser(socket, userId, id); browserSession.interpreter.subscribeToPausing(); await browserSession.initialize(userId); await browserSession.registerEditorEvents(); @@ -62,7 +62,7 @@ export const createRemoteBrowserForRun = (userId: string): string => { io.of(`/${id}`), async (socket: Socket) => { try { - const browserSession = new RemoteBrowser(socket, userId); + const browserSession = new RemoteBrowser(socket, userId, id); await browserSession.initialize(userId); browserPool.addRemoteBrowser(id, browserSession, userId, false, "run"); socket.emit('ready-for-run'); From a372051cd7c6f3ff3bce8ce5532cf63235e202f1 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:21:27 +0530 Subject: [PATCH 3/7] feat: rm browserPool --- server/src/workflow-management/classes/Generator.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index 004126bd..bc028fcd 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -15,7 +15,6 @@ import { import { CustomActions } from "../../../../src/shared/types"; import Robot from "../../models/Robot"; import { getBestSelectorForAction } from "../utils"; -import { browserPool } from "../../server"; import { uuid } from "uuidv4"; import { capture } from "../../utils/analytics" import { decrypt, encrypt } from "../../utils/auth"; From b14216a28fe6c808156a5c9308212dac9d850885 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:22:28 +0530 Subject: [PATCH 4/7] feat: private poolid --- server/src/workflow-management/classes/Generator.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index bc028fcd..f02b4eb9 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -69,6 +69,8 @@ export class WorkflowGenerator { private paginationMode: boolean = false; + private poolId: string | null = null; + /** * The public constructor of the WorkflowGenerator. * Takes socket for communication as a parameter and registers some important events on it. From 4a9620caae396a2c3eb4bfef2e6fe2944f62b54b Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:23:11 +0530 Subject: [PATCH 5/7] feat: initialize poolId --- server/src/workflow-management/classes/Generator.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index f02b4eb9..35e1cd26 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -79,6 +79,7 @@ export class WorkflowGenerator { */ public constructor(socket: Socket) { this.socket = socket; + this.poolId = poolId; this.registerEventHandlers(socket); this.initializeSocketListeners(); } From 7e054ea18a459b7ca7ecafe52cad50810f2346b2 Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:23:51 +0530 Subject: [PATCH 6/7] fix: pass poolId to constructor args --- server/src/workflow-management/classes/Generator.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index 35e1cd26..d3f63127 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -77,7 +77,7 @@ export class WorkflowGenerator { * @param socket The socket used to communicate with the client. * @constructor */ - public constructor(socket: Socket) { + public constructor(socket: Socket, poolId: string) { this.socket = socket; this.poolId = poolId; this.registerEventHandlers(socket); From 8e60df708ff1596938050830ccca67e7c4832c6c Mon Sep 17 00:00:00 2001 From: amhsirak Date: Sat, 12 Apr 2025 19:24:42 +0530 Subject: [PATCH 7/7] feat: use pool id --- server/src/workflow-management/classes/Generator.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/src/workflow-management/classes/Generator.ts b/server/src/workflow-management/classes/Generator.ts index d3f63127..9fb3c766 100644 --- a/server/src/workflow-management/classes/Generator.ts +++ b/server/src/workflow-management/classes/Generator.ts @@ -150,8 +150,7 @@ export class WorkflowGenerator { }); socket.on('activeIndex', (data) => this.generatedData.lastIndex = parseInt(data)); socket.on('decision', async ({ pair, actionType, decision, userId }) => { - const id = browserPool.getActiveBrowserId(userId, "recording"); - if (id) { + if (this.poolId) { // const activeBrowser = browserPool.getRemoteBrowser(id); // const currentPage = activeBrowser?.getCurrentPage(); if (!decision) {