Skip to content

Commit 95c6308

Browse files
committed
switch to gradio 3.8
1 parent 65522ff commit 95c6308

File tree

5 files changed

+38
-11
lines changed

5 files changed

+38
-11
lines changed

javascript/progressbar.js

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,21 @@ global_progressbars = {}
33
galleries = {}
44
galleryObservers = {}
55

6+
// this tracks laumnches of window.setTimeout for progressbar to prevent starting a new timeout when the previous is still running
7+
timeoutIds = {}
8+
69
function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip, id_interrupt, id_preview, id_gallery){
7-
var progressbar = gradioApp().getElementById(id_progressbar)
10+
// gradio 3.8's enlightened approach allows them to create two nested div elements inside each other with same id
11+
// every time you use gr.HTML(elem_id='xxx'), so we handle this here
12+
var progressbar = gradioApp().querySelector("#"+id_progressbar+" #"+id_progressbar)
13+
var progressbarParent
14+
if(progressbar){
15+
progressbarParent = gradioApp().querySelector("#"+id_progressbar)
16+
} else{
17+
progressbar = gradioApp().getElementById(id_progressbar)
18+
progressbarParent = null
19+
}
20+
821
var skip = id_skip ? gradioApp().getElementById(id_skip) : null
922
var interrupt = gradioApp().getElementById(id_interrupt)
1023

@@ -26,18 +39,26 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip
2639
global_progressbars[id_progressbar] = progressbar
2740

2841
var mutationObserver = new MutationObserver(function(m){
42+
if(timeoutIds[id_part]) return;
43+
2944
preview = gradioApp().getElementById(id_preview)
3045
gallery = gradioApp().getElementById(id_gallery)
3146

3247
if(preview != null && gallery != null){
3348
preview.style.width = gallery.clientWidth + "px"
3449
preview.style.height = gallery.clientHeight + "px"
50+
if(progressbarParent) progressbar.style.width = progressbarParent.clientWidth + "px"
3551

3652
//only watch gallery if there is a generation process going on
3753
check_gallery(id_gallery);
3854

3955
var progressDiv = gradioApp().querySelectorAll('#' + id_progressbar_span).length > 0;
40-
if(!progressDiv){
56+
if(progressDiv){
57+
timeoutIds[id_part] = window.setTimeout(function() {
58+
timeoutIds[id_part] = null
59+
requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt)
60+
}, 500)
61+
} else{
4162
if (skip) {
4263
skip.style.display = "none"
4364
}
@@ -47,13 +68,10 @@ function check_progressbar(id_part, id_progressbar, id_progressbar_span, id_skip
4768
if (galleryObservers[id_gallery]) {
4869
galleryObservers[id_gallery].disconnect();
4970
galleries[id_gallery] = null;
50-
}
71+
}
5172
}
52-
53-
5473
}
5574

56-
window.setTimeout(function() { requestMoreProgress(id_part, id_progressbar_span, id_skip, id_interrupt) }, 500)
5775
});
5876
mutationObserver.observe( progressbar, { childList:true, subtree:true })
5977
}

modules/ui.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1572,8 +1572,7 @@ def reload_scripts():
15721572
reload_script_bodies.click(
15731573
fn=reload_scripts,
15741574
inputs=[],
1575-
outputs=[],
1576-
_js='function(){}'
1575+
outputs=[]
15771576
)
15781577

15791578
def request_restart():
@@ -1585,7 +1584,7 @@ def request_restart():
15851584
fn=request_restart,
15861585
inputs=[],
15871586
outputs=[],
1588-
_js='function(){restart_reload()}'
1587+
_js='restart_reload'
15891588
)
15901589

15911590
if column is not None:

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ fairscale==0.4.4
44
fonts
55
font-roboto
66
gfpgan
7-
gradio==3.5
7+
gradio==3.8
88
invisible-watermark
99
numpy
1010
omegaconf

requirements_versions.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ transformers==4.19.2
22
diffusers==0.3.0
33
basicsr==1.4.2
44
gfpgan==1.3.8
5-
gradio==3.5
5+
gradio==3.8
66
numpy==1.23.3
77
Pillow==9.2.0
88
realesrgan==0.3.0

style.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,16 @@ input[type="range"]{
260260
#txt2img_negative_prompt, #img2img_negative_prompt{
261261
}
262262

263+
/* gradio 3.8 adds opacity to progressbar which makes it blink; disable it here */
264+
.transition.opacity-20 {
265+
opacity: 1 !important;
266+
}
267+
268+
/* more gradio's garbage cleanup */
269+
.min-h-\[4rem\] {
270+
min-height: unset !important;
271+
}
272+
263273
#txt2img_progressbar, #img2img_progressbar, #ti_progressbar{
264274
position: absolute;
265275
z-index: 1000;

0 commit comments

Comments
 (0)