1
- import { sanitizeUrlParam } from "../../lib/utils" ;
2
1
import logger from "../../logger" ;
3
2
import childProcess from "child_process" ;
4
3
import { filterDesktop } from "./desktop-filter" ;
5
4
import { filterMobile } from "./mobile-filter" ;
6
5
import {
7
- DesktopArgs ,
8
- MobileArgs ,
6
+ DesktopSearchArgs ,
7
+ MobileSearchArgs ,
9
8
DesktopEntry ,
10
9
MobileEntry ,
11
10
PlatformType ,
@@ -33,35 +32,39 @@ async function prepareLocalTunnel(url: string): Promise<boolean> {
33
32
* Entrypoint: detects platformType & delegates.
34
33
*/
35
34
export async function startBrowserSession (
36
- args : DesktopArgs | MobileArgs ,
35
+ args : DesktopSearchArgs | MobileSearchArgs ,
37
36
) : Promise < string > {
38
37
const entry =
39
38
args . platformType === PlatformType . DESKTOP
40
- ? await filterDesktop ( args as DesktopArgs )
41
- : await filterMobile ( args as MobileArgs ) ;
39
+ ? await filterDesktop ( args as DesktopSearchArgs )
40
+ : await filterMobile ( args as MobileSearchArgs ) ;
42
41
43
42
const isLocal = await prepareLocalTunnel ( args . url ) ;
44
43
45
44
const url =
46
45
args . platformType === PlatformType . DESKTOP
47
- ? buildDesktopUrl ( args as DesktopArgs , entry as DesktopEntry , isLocal )
48
- : buildMobileUrl ( args as MobileArgs , entry as MobileEntry , isLocal ) ;
46
+ ? buildDesktopUrl (
47
+ args as DesktopSearchArgs ,
48
+ entry as DesktopEntry ,
49
+ isLocal ,
50
+ )
51
+ : buildMobileUrl ( args as MobileSearchArgs , entry as MobileEntry , isLocal ) ;
49
52
50
53
openBrowser ( url ) ;
51
54
return entry . notes ? `${ url } , ${ entry . notes } ` : url ;
52
55
}
53
56
54
57
function buildDesktopUrl (
55
- args : DesktopArgs ,
58
+ args : DesktopSearchArgs ,
56
59
e : DesktopEntry ,
57
60
isLocal : boolean ,
58
61
) : string {
59
62
const params = new URLSearchParams ( {
60
- os : sanitizeUrlParam ( e . os ) ,
61
- os_version : sanitizeUrlParam ( e . os_version ) ,
62
- browser : sanitizeUrlParam ( e . browser ) ,
63
- browser_version : sanitizeUrlParam ( e . browser_version ) ,
64
- url : sanitizeUrlParam ( args . url ) ,
63
+ os : e . os ,
64
+ os_version : e . os_version ,
65
+ browser : e . browser ,
66
+ browser_version : e . browser_version ,
67
+ url : args . url ,
65
68
scale_to_fit : "true" ,
66
69
resolution : "responsive-mode" ,
67
70
speed : "1" ,
@@ -72,7 +75,7 @@ function buildDesktopUrl(
72
75
}
73
76
74
77
function buildMobileUrl (
75
- args : MobileArgs ,
78
+ args : MobileSearchArgs ,
76
79
d : MobileEntry ,
77
80
isLocal : boolean ,
78
81
) : string {
@@ -84,11 +87,11 @@ function buildMobileUrl(
84
87
const os = os_map [ d . os as keyof typeof os_map ] || d . os ;
85
88
86
89
const params = new URLSearchParams ( {
87
- os : sanitizeUrlParam ( os ) ,
88
- os_version : sanitizeUrlParam ( d . os_version ) ,
90
+ os : os ,
91
+ os_version : d . os_version ,
89
92
device : d . display_name ,
90
- device_browser : sanitizeUrlParam ( args . browser ) ,
91
- url : sanitizeUrlParam ( args . url ) ,
93
+ device_browser : args . browser ,
94
+ url : args . url ,
92
95
scale_to_fit : "true" ,
93
96
speed : "1" ,
94
97
local : isLocal ? "true" : "false" ,
0 commit comments