1- $ ( document ) . ready ( function ( ) {
2- pagename = location . href . substring ( location . href . lastIndexOf ( '/' ) + 1 ) ;
3- if ( pagename == "linux.html" ) {
1+ $ ( document ) . ready ( function ( ) {
2+ pagename = location . href . substring ( location . href . lastIndexOf ( '/' ) + 1 ) ;
3+ if ( pagename == "linux.html" ) {
44 $ ( "#debian-install-code" ) . hide ( )
5- }
6- else if ( pagename == "download.html" ) {
5+ } else if ( pagename == "download.html" ) {
76 $ ( ".downloads-content" ) . hide ( )
87 }
98 $ ( "#pre_release" ) . hide ( ) ;
109
11- function update_page ( stablerelease , prevrelease , prerelease ) {
10+ function update_page ( stablerelease , prevrelease , prerelease , experimental_release ) {
1211 // find the right assets in the stable release
13- windows64_url = undefined ;
14- windows32_url = undefined ;
15- mac_url = undefined ;
16- linux_url = undefined ;
17- linux_file_name = undefined ;
18- source_url = undefined ;
19- $ . each ( stablerelease [ "assets" ] , function ( index , asset ) {
20- if ( asset [ "name" ] . endsWith ( ".dmg" ) ) {
12+ let windows64_url = undefined ;
13+ let windows32_url = undefined ;
14+ let mac_url = undefined ;
15+ let linux_url = undefined ;
16+ let linux_file_name = undefined ;
17+ let source_url = undefined ;
18+ $ . each ( stablerelease [ "assets" ] , function ( index , asset ) {
19+ if ( asset [ "name" ] . endsWith ( ".dmg" ) ) {
2120 mac_url = asset [ "browser_download_url" ] ;
22- }
23- else if ( asset [ "name" ] . endsWith ( ".deb" ) ) {
21+ } else if ( asset [ "name" ] . endsWith ( ".deb" ) ) {
2422 linux_url = asset [ "browser_download_url" ] ;
2523 linux_file_name = asset [ "name" ] ;
26- }
27- else if ( asset [ "name" ] . endsWith ( "x86.exe" ) ) {
24+ } else if ( asset [ "name" ] . endsWith ( "x86.exe" ) ) {
2825 windows32_url = asset [ "browser_download_url" ] ;
29- }
30- else if ( asset [ "name" ] . endsWith ( "x64.exe" ) ) {
26+ } else if ( asset [ "name" ] . endsWith ( "x64.exe" ) ) {
3127 windows64_url = asset [ "browser_download_url" ] ;
32- }
33- else if ( asset [ "name" ] . endsWith ( "tar.xz" ) ) {
28+ } else if ( asset [ "name" ] . endsWith ( "tar.xz" ) ) {
3429 source_url = asset [ "browser_download_url" ] ;
3530 }
3631 } ) ;
3732
3833 // find the right assets in the prerelease
39- pre_windows64_url = undefined ;
40- pre_windows32_url = undefined ;
41- pre_mac_url = undefined ;
42- pre_linux_url = undefined ;
43- pre_linux_file_name = undefined ;
44- pre_source_url = undefined ;
45- if ( prerelease != undefined ) {
34+ let pre_windows64_url = undefined ;
35+ let pre_windows32_url = undefined ;
36+ let pre_mac_url = undefined ;
37+ let pre_linux_url = undefined ;
38+ let pre_linux_file_name = undefined ;
39+ let pre_source_url = undefined ;
40+ if ( prerelease != undefined ) {
4641 $ ( "#pre_release" ) . show ( ) ;
47- $ . each ( prerelease [ "assets" ] , function ( index , asset ) {
48- if ( asset [ "name" ] . endsWith ( ".dmg" ) ) {
42+ $ . each ( prerelease [ "assets" ] , function ( index , asset ) {
43+ if ( asset [ "name" ] . endsWith ( ".dmg" ) ) {
4944 pre_mac_url = asset [ "browser_download_url" ] ;
50- }
51- else if ( asset [ "name" ] . endsWith ( ".deb" ) ) {
45+ } else if ( asset [ "name" ] . endsWith ( ".deb" ) ) {
5246 pre_linux_url = asset [ "browser_download_url" ] ;
5347 pre_linux_file_name = asset [ "name" ] ;
54- }
55- else if ( asset [ "name" ] . endsWith ( "x86.exe" ) ) {
48+ } else if ( asset [ "name" ] . endsWith ( "x86.exe" ) ) {
5649 pre_windows32_url = asset [ "browser_download_url" ] ;
57- }
58- else if ( asset [ "name" ] . endsWith ( "x64.exe" ) ) {
50+ } else if ( asset [ "name" ] . endsWith ( "x64.exe" ) ) {
5951 pre_windows64_url = asset [ "browser_download_url" ] ;
60- }
61- else if ( asset [ "name" ] . endsWith ( "tar.xz" ) ) {
52+ } else if ( asset [ "name" ] . endsWith ( "tar.xz" ) ) {
6253 pre_source_url = asset [ "browser_download_url" ] ;
6354 }
6455 } ) ;
6556 }
6657
67- if ( typeof ( isfront ) !== 'undefined' ) {
58+ // find the right assets in the prerelease
59+ let exp_windows64_url = undefined ;
60+ let exp_windows32_url = undefined ;
61+ let exp_mac_url = undefined ;
62+ let exp_linux_url = undefined ;
63+ let exp_linux_file_name = undefined ;
64+ let exp_source_url = undefined ;
65+ if ( experimental_release != undefined ) {
66+ console . log ( experimental_release ) ;
67+ $ . each ( experimental_release [ "assets" ] , function ( index , asset ) {
68+ if ( asset [ "name" ] . endsWith ( ".dmg" ) ) {
69+ exp_mac_url = asset [ "browser_download_url" ] ;
70+ } else if ( asset [ "name" ] . endsWith ( ".deb" ) ) {
71+ exp_linux_url = asset [ "browser_download_url" ] ;
72+ exp_linux_file_name = asset [ "name" ] ;
73+ } else if ( asset [ "name" ] . endsWith ( "x86.exe" ) ) {
74+ exp_windows32_url = asset [ "browser_download_url" ] ;
75+ } else if ( asset [ "name" ] . endsWith ( "x64.exe" ) ) {
76+ exp_windows64_url = asset [ "browser_download_url" ] ;
77+ } else if ( asset [ "name" ] . endsWith ( "tar.xz" ) ) {
78+ exp_source_url = asset [ "browser_download_url" ] ;
79+ }
80+ } ) ;
81+ }
82+
83+ if ( typeof ( isfront ) !== 'undefined' ) {
6884 // set download URLs
6985 var parser = new UAParser ( ) ;
7086 var result = parser . getResult ( ) ;
@@ -74,29 +90,45 @@ $(document).ready(function() {
7490 $ ( "#main_download_url" ) . attr ( "href" , windows64_url ) ;
7591 $ ( "#pre_release_download_url" ) . attr ( "href" , pre_windows64_url ) ;
7692 $ ( "#footer_download_url" ) . attr ( "href" , windows64_url ) ;
77- }
78- else if ( osName == "mac os x" ) {
93+
94+ if ( pre_windows64_url != undefined || pre_windows32_url != undefined ) {
95+ $ ( "#experimental_release" ) . show ( ) ;
96+ const userAgent = navigator . userAgent ;
97+ if ( userAgent . indexOf ( "WOW64" ) !== - 1 || userAgent . indexOf ( "Win64" ) !== - 1 ) {
98+ $ ( "#experimental_release_download_url" ) . attr ( "href" , exp_windows64_url ) ;
99+ } else {
100+ $ ( "#experimental_release_download_url" ) . attr ( "href" , exp_windows32_url ) ;
101+ }
102+ }
103+ } else if ( osName == "mac os x" ) {
79104 $ ( "#download_os" ) . html ( "For macOS (Yosemite or later)" ) ;
80105 $ ( "#main_download_url" ) . attr ( "href" , mac_url ) ;
81106 $ ( "#pre_release_download_url" ) . attr ( "href" , pre_mac_url ) ;
82107 $ ( "#footer_download_url" ) . attr ( "href" , mac_url ) ;
83- }
84- else if ( jQuery . inArray ( osName , new Array ( 'kubuntu' , 'xubuntu' , 'lubuntu' , 'ubuntu' , 'gentoo' , 'fedora' , 'mandriva' , 'redhat' , 'suse' , 'debian' , 'slackware' , 'arch' , 'linux' ) ) !== - 1 ) {
108+
109+ if ( pre_mac_url != undefined ) {
110+ $ ( "#experimental_release" ) . show ( ) ;
111+ $ ( "#experimental_release_download_url" ) . attr ( "href" , exp_mac_url ) ;
112+ }
113+ } else if ( jQuery . inArray ( osName , new Array ( 'kubuntu' , 'xubuntu' , 'lubuntu' , 'ubuntu' , 'gentoo' , 'fedora' , 'mandriva' , 'redhat' , 'suse' , 'debian' , 'slackware' , 'arch' , 'linux' ) ) !== - 1 ) {
85114 $ ( "#download_os" ) . html ( "For Linux" ) ;
86115 $ ( "#main_download_url" ) . attr ( "href" , linux_url ) ;
87116 $ ( "#pre_release_download_url" ) . attr ( "href" , pre_linux_url ) ;
88117 $ ( "#footer_download_url" ) . attr ( "href" , linux_url ) ;
89118 $ ( "#instructions" ) . html ( "Installation instructions for Linux" ) ;
90119 $ ( "#instructions" ) . css ( "display" , "block" ) ;
91120 $ ( "#instructions" ) . attr ( "href" , "./linux.html" ) ;
92- }
93- else {
121+
122+ if ( pre_linux_url != undefined ) {
123+ $ ( "#experimental_release" ) . show ( ) ;
124+ $ ( "#experimental_release_download_url" ) . attr ( "href" , exp_linux_url ) ;
125+ }
126+ } else {
94127 $ ( "#download_os" ) . html ( "Unknown OS" ) ;
95- $ ( "#main_download_url" ) . attr ( "href" , "download.html" ) ;
96- $ ( "#footer_download_url" ) . attr ( "href" , "download.html" ) ;
128+ $ ( "#main_download_url" ) . attr ( "href" , "download.html" ) ;
129+ $ ( "#footer_download_url" ) . attr ( "href" , "download.html" ) ;
97130 }
98- }
99- else if ( pagename == "linux.html" ) {
131+ } else if ( pagename == "linux.html" ) {
100132 $ ( "#linux-content-header" ) . text ( "Latest release - Tribler " + stablerelease [ "name" ] . substring ( 1 ) ) ;
101133 $ ( "#debian-download-url" ) . attr ( "href" , linux_url ) ;
102134 $ ( "#debian-download-url" ) . text ( "Download " + stablerelease [ "name" ] . substring ( 1 ) ) ;
@@ -106,8 +138,7 @@ $(document).ready(function() {
106138 $ ( "#debian-install-code-url" ) . text ( linux_url ) ;
107139 $ ( "#debian-install-code-file" ) . text ( "./" + linux_file_name ) ;
108140 $ ( "#debian-install-code" ) . show ( ) ;
109- }
110- else if ( pagename == "download.html" ) {
141+ } else if ( pagename == "download.html" ) {
111142 $ ( "#download-url-win64" ) . attr ( "href" , windows64_url ) ;
112143 $ ( "#download-url-win32" ) . attr ( "href" , windows32_url ) ;
113144 $ ( "#download-url-mac" ) . attr ( "href" , mac_url ) ;
@@ -121,29 +152,39 @@ $(document).ready(function() {
121152
122153 // Fetch the first release page of the API to show the latest stable release.
123154 $ . get ( "https://api.github.com/repos/Tribler/tribler/releases" , function ( data ) {
124- var stablerelease = undefined ;
125- var prevrelease = undefined ;
126- var prerelease = undefined ;
127- $ . each ( data , function ( index , release ) {
128- if ( index == 0 && release [ "prerelease" ] && ! prerelease ) {
129- // we found a prerelease;
130- prerelease = release ;
131- $ ( "#pre_release_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) ) ;
132- }
133- if ( ! release [ "prerelease" ] && ! stablerelease ) {
134- // we found a stable release; update fields
135- stablerelease = release ;
136- $ ( "#main_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) + " (stable)" ) ;
137- $ ( "#footer_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) + " (stable)" ) ;
138- }
139- else if ( ! release [ "prerelease" ] && ! prevrelease && stablerelease ) {
140- prevrelease = release ;
141- }
142- } ) ;
143- update_page ( stablerelease , prevrelease , prerelease ) ;
155+ var stablerelease = undefined ;
156+ var prevrelease = undefined ;
157+ var prerelease = undefined ;
158+ $ . each ( data , function ( index , release ) {
159+ if ( index == 0 && release [ "prerelease" ] && ! prerelease ) {
160+ // we found a prerelease;
161+ prerelease = release ;
162+ $ ( "#pre_release_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) ) ;
163+ }
164+ if ( ! release [ "prerelease" ] && ! stablerelease ) {
165+ // we found a stable release; update fields
166+ stablerelease = release ;
167+ $ ( "#main_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) + " (stable)" ) ;
168+ $ ( "#footer_download_url" ) . text ( "Download Tribler " + release [ "name" ] . substring ( 1 ) + " (stable)" ) ;
169+ } else if ( ! release [ "prerelease" ] && ! prevrelease && stablerelease ) {
170+ prevrelease = release ;
171+ }
172+ } ) ;
173+
174+ // Fetch experimental release
175+ let experimental_release = undefined ;
176+ $ . get ( "https://api.github.com/repos/qstokkink/TriblerExperimental/releases" , function ( data ) {
177+ experimental_release = data [ 0 ] ;
178+ update_page ( stablerelease , prevrelease , prerelease , experimental_release ) ;
144179 } ) ;
145180
181+ update_page ( stablerelease , prevrelease , prerelease , experimental_release ) ;
182+ } ) ;
183+
146184 // Fetch all the releases from the API and get aggregate sum of downloads.
185+ /* Commenting out the following code because this code can sometimes cause GH API to timeout
186+ * in which case we cannot show the proper download URL as well*/
187+ /*
147188 var releases_page = 1;
148189 var max_page = 10;
149190 var next_page_exists = true;
@@ -160,5 +201,6 @@ $(document).ready(function() {
160201 });
161202 releases_page += 1
162203 }while(next_page_exists && releases_page < max_page);
204+ */
163205
164206} ) ;
0 commit comments