@@ -20,19 +20,26 @@ const removeAllClickListeners = (element) => {
20
20
} ;
21
21
22
22
const makeDefaultSearchTrieve = async ( ) => {
23
+ let defaultSearchBar = null ;
23
24
try {
24
- let defaultSearchBar = null ;
25
25
let retries = 0 ;
26
26
while ( ! defaultSearchBar && retries < 10 ) {
27
27
for ( const el of document . querySelectorAll ( "*" ) ) {
28
- if ( el . querySelector ( '[aria-label="Search"]' ) ) {
29
- defaultSearchBar = el . querySelector ( '[aria-label="Search"]' ) ;
28
+ if ( el . querySelector ( '[aria-label="Search"], #fern-search-button' ) ) {
29
+ defaultSearchBar = el . querySelector (
30
+ '[aria-label="Search"], #fern-search-button'
31
+ ) ;
30
32
break ;
33
+ } else {
34
+ console . log ( "Default search bar not found" ) ;
31
35
}
32
36
}
33
37
retries ++ ;
34
38
await new Promise ( ( resolve ) => setTimeout ( resolve , 10 ) ) ;
35
39
}
40
+ if ( defaultSearchBar ?. hasAttribute ( "disabled" ) ) {
41
+ defaultSearchBar . removeAttribute ( "disabled" ) ;
42
+ }
36
43
defaultSearchBar = removeAllClickListeners ( defaultSearchBar ) ;
37
44
38
45
defaultSearchBar . onclick = ( ) => {
@@ -44,16 +51,23 @@ const makeDefaultSearchTrieve = async () => {
44
51
} catch ( e ) {
45
52
console . error ( e ) ;
46
53
}
54
+
55
+ return ! ! defaultSearchBar ;
47
56
} ;
57
+
48
58
try {
49
- await makeDefaultSearchTrieve ( ) ;
50
- setTimeout ( makeDefaultSearchTrieve , 50 ) ;
51
- setTimeout ( makeDefaultSearchTrieve , 100 ) ;
52
- setTimeout ( makeDefaultSearchTrieve , 250 ) ;
53
- setTimeout ( makeDefaultSearchTrieve , 500 ) ;
54
- setTimeout ( makeDefaultSearchTrieve , 1000 ) ;
55
- setTimeout ( makeDefaultSearchTrieve , 2000 ) ;
56
- setTimeout ( makeDefaultSearchTrieve , 3000 ) ;
59
+ let defaultSearchBar = null ;
60
+ let retries = 0 ;
61
+ let sleepTime = 50 ;
62
+ while ( ! retries < 10 ) {
63
+ defaultSearchBar = await makeDefaultSearchTrieve ( ) ;
64
+ if ( defaultSearchBar ) {
65
+ break ;
66
+ }
67
+ await new Promise ( ( resolve ) => setTimeout ( resolve , sleepTime ) ) ;
68
+ sleepTime = Math . min ( sleepTime * 2 , 500 ) ;
69
+ retries ++ ;
70
+ }
57
71
} catch ( e ) {
58
72
console . error ( e ) ;
59
73
}
0 commit comments