gradio-app / gradio

Build and share delightful machine learning apps, all in Python. ๐ŸŒŸ Star to support our work!
http://www.gradio.app
Apache License 2.0
29.49k stars 2.19k forks source link

Reload mode no longer able to update Interface title/description #8191

Closed freddyaboulton closed 1 week ago

freddyaboulton commented 2 weeks ago

Describe the bug

If you update an Interface's title or description in reload mode, it won't be reflected in the UI.

Have you searched existing issues? ๐Ÿ”Ž

Reproduction

import gradio as gr
#from foo import BAR
#
def calculator(num1, operation, num2):
    if operation == "add":
        return num1 + num2
    elif operation == "subtract":
        return num1 - num2
    elif operation == "multiply":
        return num1 * num2
    elif operation == "divide":
        if num2 == 0:
            raise gr.Error("Cannot divide by zero!")
        return num1 / num2

demo = gr.Interface(
    calculator,
    [
        gr.Number(label="Number 1"), 
        gr.Radio(["add", "subtract", "multiply", "divide"]),
        "number"
    ],
    "number",
    examples=[
        [45, "add", 3],
        [3.14, "divide", 2],
        [144, "multiply", 2.5],
        [0, "subtract", 1.2],
    ],
    title="Toy Calculator!! ๐Ÿงฎ",
    description="Heres a sample toy calculator. Allows you to calculate things like $2+2=4$",
)

if __name__ == "__main__":
    demo.launch()

Screenshot

At the end I manually refresh to show the latest changes

title_description_cant_update

Logs

No response

System Info

main

Severity

I can work around it

abidlabs commented 2 weeks ago

Is it a larger issue related to gr.Markdown()?

freddyaboulton commented 2 weeks ago

I think it's related to the recent changes around not updating components whose ids don't change but have not looked into the cause closely