Skip to content

Commit b5d4fd6

Browse files
committed
refactor: optimize browser resolution by using direct Get call
1 parent bc865df commit b5d4fd6

File tree

1 file changed

+4
-34
lines changed

1 file changed

+4
-34
lines changed

cmd/browsers.go

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2718,41 +2718,11 @@ func truncateURL(url string, maxLen int) string {
27182718
return url[:maxLen-3] + "..."
27192719
}
27202720

2721-
// listAllBrowsers fetches all browsers by paginating through all pages.
2722-
func (b BrowsersCmd) listAllBrowsers(ctx context.Context) ([]kernel.BrowserListResponse, error) {
2723-
var allBrowsers []kernel.BrowserListResponse
2724-
page, err := b.browsers.List(ctx, kernel.BrowserListParams{})
2721+
// resolveBrowserByIdentifier finds a browser by id. Id can be session ID or persistent ID (backward compatibility).
2722+
func (b BrowsersCmd) resolveBrowserByIdentifier(ctx context.Context, identifier string) (*kernel.BrowserGetResponse, error) {
2723+
browser, err := b.browsers.Get(ctx, identifier)
27252724
if err != nil {
27262725
return nil, err
27272726
}
2728-
for page != nil && len(page.Items) > 0 {
2729-
allBrowsers = append(allBrowsers, page.Items...)
2730-
page = safeGetNextPage(page)
2731-
}
2732-
return allBrowsers, nil
2733-
}
2734-
2735-
// safeGetNextPage attempts to get the next page, returning nil if unavailable or on error.
2736-
func safeGetNextPage(page *pagination.OffsetPagination[kernel.BrowserListResponse]) *pagination.OffsetPagination[kernel.BrowserListResponse] {
2737-
defer func() { recover() }()
2738-
nextPage, err := page.GetNextPage()
2739-
if err != nil {
2740-
return nil
2741-
}
2742-
return nextPage
2743-
}
2744-
2745-
// resolveBrowserByIdentifier finds a browser by session ID or persistent ID (backward compatibility).
2746-
func (b BrowsersCmd) resolveBrowserByIdentifier(ctx context.Context, identifier string) (*kernel.BrowserListResponse, error) {
2747-
browsers, err := b.listAllBrowsers(ctx)
2748-
if err != nil {
2749-
return nil, err
2750-
}
2751-
for _, br := range browsers {
2752-
if br.SessionID == identifier || br.Persistence.ID == identifier {
2753-
bCopy := br
2754-
return &bCopy, nil
2755-
}
2756-
}
2757-
return nil, nil
2727+
return browser, nil
27582728
}

0 commit comments

Comments
 (0)