Skip to content

design new updating ux and log download flow#1751

Open
Douglasymlai wants to merge 1 commit into
mainfrom
topbar-fix
Open

design new updating ux and log download flow#1751
Douglasymlai wants to merge 1 commit into
mainfrom
topbar-fix

Conversation

@Douglasymlai

@Douglasymlai Douglasymlai commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Closes #1433

Related Issue

Closes #

Description

This PR redesigns the desktop app update experience and expands the Support dialog with dedicated log downloads.

Top bar update UX

  • Replaces the old toast-based update flow (src/components/update/index.tsx) with a new inline UpdateButton in the top bar.
  • When an update is available, the app auto-starts a background download once per session, then shows an inline progress bar with percentage.
  • After download completes, the button changes to Launch new version (calls quit-and-install).
  • Download failures surface as an inline retry affordance instead of error toasts.
  • Adds a dev-only debug-update-event IPC handler so the update UI can be exercised from DevTools in unpackaged builds.

Support dialog & log downloads

  • Renames the dialog to Support, with Report a bug as a subsection.
  • Adds a Download logs section with two export actions:
    • Eigent log — existing desktop app logs (export-log)
    • Camel log — CAMEL backend task logs (export-camel-log), targeting the active task when available and falling back to all camel_logs directories under the user's identity roots
  • New Electron plumbing: getCamelLogEntries, zipDirectories, findDirectoriesByName, preload bridge, and typed exportCamelLog API.

Other fixes

  • Renders the Sonner toaster into document.body via a portal so toasts are no longer trapped below dialog overlays by #root's stacking context.
  • Adds i18n strings for the new update and support-log copy.
  • Extends ReportBugDialog unit tests for Eigent/Camel log download flows (5 tests passing).

Testing Evidence (REQUIRED)

Automated tests

npm test -- test/unit/components/Dialog/ReportBugDialog.test.tsx
# ✓ 5 tests passed

Manual verification

  • Top bar shows inline download progress when an update is available, then Launch new version after completion.
  • Support dialog → Download exports Eigent log to a user-chosen path with a success toast.
  • Support dialog → Download exports Camel log for the active task (or all camel_logs when no task is active).
  • Toasts appear above the Support dialog (portal fix).
  • (Attach screenshot/screen recording of top-bar update states and Support dialog log section.)

[] I have included human-verified testing evidence in this PR.
[] This PR includes frontend/UI changes, and I attached screenshot(s) or screen recording(s).
[x] No frontend/UI changes in this PR.

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

Contribution Guidelines Acknowledgement

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.

Tip: disable this comment in your organization's Code Review settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Add camel_logs to log file download

1 participant