@danhachuel/thunderbolt 0.5.67 → 0.5.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/main.py +6 -11
- package/package.json +1 -1
package/app/main.py
CHANGED
|
@@ -452,13 +452,9 @@ def _render_notification_toast_cycle() -> None:
|
|
|
452
452
|
_save_notification_toast_seen_ids(seen_ids)
|
|
453
453
|
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
_render_notification_toast_cycle()
|
|
459
|
-
else:
|
|
460
|
-
def render_global_notification_toasts() -> None:
|
|
461
|
-
_render_notification_toast_cycle()
|
|
455
|
+
def render_global_notification_toasts() -> None:
|
|
456
|
+
"""Render notifications once per app run; never start a background timer."""
|
|
457
|
+
_render_notification_toast_cycle()
|
|
462
458
|
|
|
463
459
|
|
|
464
460
|
def localized_tab_labels(labels: list[str], language: str | None = None) -> list[str]:
|
|
@@ -4630,9 +4626,8 @@ def _render_pipeline_worker_banner(worker_status: dict[str, Any], active_count:
|
|
|
4630
4626
|
st.error(f"Último erro do worker: {worker_status['last_error']}")
|
|
4631
4627
|
|
|
4632
4628
|
|
|
4633
|
-
@st.fragment(run_every=5.0)
|
|
4634
4629
|
def _render_pipeline_progress_live() -> None:
|
|
4635
|
-
"""
|
|
4630
|
+
"""Render pipeline state once; refresh occurs only after user interaction."""
|
|
4636
4631
|
worker_status = load_pipeline_worker_status()
|
|
4637
4632
|
tasks = read_json("tasks.json", [])
|
|
4638
4633
|
active = [task for task in tasks if isinstance(task, dict) and str(task.get("state") or "") == "doing"]
|
|
@@ -6804,8 +6799,8 @@ def render_google_accounts(*, include_innertube: bool = True):
|
|
|
6804
6799
|
st.rerun()
|
|
6805
6800
|
|
|
6806
6801
|
st.divider()
|
|
6807
|
-
st.subheader("Configuração
|
|
6808
|
-
st.caption("
|
|
6802
|
+
st.subheader("Configuração Global: YouTube Data API v3 (API Key) + YouTube Analytics API (OAuth 2.0)")
|
|
6803
|
+
st.caption("1. YouTube Data API v3: Metadados públicos (títulos, views, likes) Via MCP integrado.\n\n2. YouTube Analytics API: Métricas internas (CTR, retenção, RPM, tráfego, demografia) Via OAuth 2.0")
|
|
6809
6804
|
with st.form("google_global_api_settings_form"):
|
|
6810
6805
|
google_api_cols = st.columns(2)
|
|
6811
6806
|
with google_api_cols[0]:
|
package/package.json
CHANGED