Skip to content

Polish desktop job and settings guidance - #208

Merged
jim80net merged 3 commits into
mainfrom
agent/desktop-ux-202-205
Aug 17, 2026
Merged

jim80net merged 3 commits into
mainfrom
agent/desktop-ux-202-205

Conversation

@jim80net

@jim80net jim80net commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • present failed-job cause and recovery first, with exact diagnostics in a collapsed Technical details control
  • replace active pipeline wording with terminal copy when a step or job completes
  • keep complete New-source URL, local-path, and drag-and-drop guidance visible and associated with the source input
  • give custom-provider validation a stable visible label, human-facing error copy, programmatic association, invalid state, and focus

Tests

  • npm run typecheck
  • npm run lint
  • npm test (458 tests)
  • npm run build
  • added Electron browser regressions for collapsed/expanded errors, running-to-done copy, source-guidance geometry at Light/Dark and 100%/125%, and custom-provider accessibility/error behavior

Installed Electron Light/Dark captures at 100%/125% remain host-blocked: Xvfb is unavailable, and the host has Node v22.22.1 rather than Node 24. The focused Electron run was attempted and stopped at launch with Missing X server or $DISPLAY; the PR does not depend on local pixels.

Closes #202
Closes #203
Closes #204
Closes #205


Summary by cubic

Polishes desktop job and settings guidance for clearer, accessible user-facing behavior. Failed jobs now lead with cause and recovery; terminal step copy appears when a step finishes.

  • Job failures: Lead with an actionable cause and recovery; keep exact diagnostics in a collapsed Technical details block. Old behavior exposed "{code}: {message}"; new behavior summarizes and defers raw provider text. Adds userFacingJobError; details include code, message, and optional engine detail.
  • Step progress: Replace active copy with terminal copy when a step finishes without a message (e.g., "Transcription complete."); do not mark warning-only skipped steps complete on job done. Updates deriveProgress with step completion copy.
  • New-source input: Shortens the placeholder and adds a persistent guidance note associated via aria-describedby; e2e verifies readability across Light/Dark at 100%/125%.
  • Settings validation: Translate engine validation to human-facing text via settingsErrorMessage, keep stable visible labels, associate errors via aria-describedby, and set focus/aria-invalid on the offending field. Avoid leaking internal field names.
  • Tests and docs: Extend unit and e2e coverage; add a screenshot drift waiver for this PR. Electron Light/Dark pixel captures remain host‑blocked (no Xvfb, Node 22); this PR does not depend on local pixels.

Addresses #202, #203, #204, #205

Review focus

  • Verify collapsed/expanded error state and that cause/recovery replace raw provider text.
  • Confirm terminal copy appears on step finish and that skipped steps do not auto-complete on job done.
  • Check source guidance readability/association and that settings errors focus and mark the correct field.

Written for commit fe82eed. Summary will update on new commits.

Review in cubic

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread app/src/renderer/src/engine-error.ts Outdated
Comment thread app/src/renderer/src/job-view.ts
@jim80net

Copy link
Copy Markdown
Owner Author

Independent review of 2b0a089. Requesting changes before merge.

Hosted checks are green (12 success, 2 expected skips). The failed-job card, New-source guidance, Settings label/focus/aria-invalid, and the host pixel bound (#182) look right.

Two cubic P2s are valid against the engine:

  1. settingsErrorMessage treats every custom provider base URL must… string as the HTTPS rule. The engine raises four distinct validate_custom_url errors (hostname, credentials, query/fragment, scheme). Hostname/credentials/query currently get the scheme sentence. Narrow the HTTPS match and give the other three their own human copy, or fall through. Tests should cover all four engine strings.

  2. When a job is done, deriveProgress marks every seen step complete and stamps canned “complete” copy. Skipped diarization/chapters are warning-only (no step_finished) and would read as finished next to the skip warning. Only finished steps should get terminal-complete copy. Add a warning-only + job-done test.

Please push the fixes to this named ref and re-surface the new head.

@jim80net
jim80net merged commit 2752689 into main Aug 17, 2026
14 checks passed
@jim80net
jim80net deleted the agent/desktop-ux-202-205 branch August 17, 2026 02:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant