Processing timer text is not visible in dark mode

该问题通常出现在 Gradio 使用 theme="citrus" ( gr.themes.Citrus() )并切换到深色模式时;暗色背景上仍以深色渲染 “Processing …. ” 计时文字,导致几乎不可见。优先排查当前是否使用了 Citrus 主题,并尝试切换为其他内置主题验证。

快速结论:该问题通常出现在 Gradio 使用 theme="citrus"gr.themes.Citrus())并切换到深色模式时;暗色背景上仍以深色渲染 “Processing …. ” 计时文字,导致几乎不可见。优先排查当前是否使用了 Citrus 主题,并尝试切换为其他内置主题验证。

适用环境:Issue 已确认的环境为 Windows;Edge 和 Chrome 两种浏览器;Gradio 5.23.3(gradio_client 1.8.0)。报告人验证该问题只在 gr.themes.Citrus() 主题下出现,其他预置主题未复现。

最快修复方案:暂无确认的官方一步修复方案;可优先尝试把主题从 citrus 更换为其他内置主题(例如默认主题)。Issue 评论中明确说明“其他预置主题没有这个问题”,这是目前最直接的规避方式。

注意事项:更换主题会改变整体视觉风格,属于规避而非修复;如果必须保留 Citrus 主题,需要自行通过自定义 CSS 或主题变量调整深色模式下的文字颜色,但 Issue 中未提供已验证的具体补丁。

问题场景

使用 Gradio 构建接口时,用户调用 gr.Interface(slow, "text", "text", theme="citrus").launch() 运行慢函数。当函数仍在执行、Gradio 显示 “Processing ….” 计时提示时,界面若处于深色模式,该提示文字与深色背景对比度不足,几乎看不到内容。

报错原文

Processing timer text is not visible in dark mode

原因分析

可能原因是 Citrus 主题在深色模式下没有为“Processing ….”这类状态提示文字提供足够亮的颜色变量,或者其主题颜色只针对浅色模式做了适配。Issue 中的证据表明,问题可以稳定复现的条件是使用了 theme="citrus";切换为其他预置主题后问题消失,因此最可能的原因集中在 Citrus 主题的深色配色定义上。

环境排查

  • 操作系统:Windows
  • 浏览器:Edge、Chrome(报告人确认均会复现)
  • Gradio 版本:5.23.3
  • gradio_client 版本:1.8.0
  • 主题:theme="citrus"gr.themes.Citrus()
  • 需要确认:是否在其他内置主题下也会出现;如果不会,则基本可以锁定为 Citrus 主题的问题。

解决步骤

  1. 先用最小复现代码确认问题:
import gradio as gr
import time

def slow(x):
time.sleep(3)
return

参考来源

gradio-app/gradio #10940

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18313

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注