Skip to content

fix(desktop): make pending failure error messages selectable#3432

Merged
Kitenite merged 1 commit into
mainfrom
make-pending-failure-selectable
Apr 13, 2026
Merged

fix(desktop): make pending failure error messages selectable#3432
Kitenite merged 1 commit into
mainfrom
make-pending-failure-selectable

Conversation

@Kitenite
Copy link
Copy Markdown
Collaborator

@Kitenite Kitenite commented Apr 13, 2026

Summary

  • Adds select-text cursor-text break-words to the error message on the pending workspace failure page so users can copy failure details
  • Same fix for UpdateRequiredPage error text
  • Global user-select: none on body (globals.css) blocks copy on full-page error states; this matches the pattern already used by v1 WorkspaceInitializingView

Test plan

  • Trigger a workspace creation failure, confirm the error text on /pending/$pendingId can be selected and copied
  • Trigger the update-required error state, confirm the error text can be selected and copied

Summary by cubic

Make failure error messages selectable and copyable on the pending workspace and update-required pages so users can copy error details.

  • Bug Fixes
    • Added select-text cursor-text break-words to error text on UpdateRequiredPage and /pending/$pendingId.
    • Works around global user-select: none so full-page errors can be copied; aligns with v1 WorkspaceInitializingView.

Written for commit 4ac6acc. Summary will update on new commits.

Summary by CodeRabbit

  • Bug Fixes
    • Error messages in update notifications and failed workspace screens are now selectable and copyable, allowing users to easily share error details with support teams.
    • Improved error message display with proper text wrapping and visual feedback when hovering over long error messages for a better user experience.

…rs selectable

Global `user-select: none` on body blocks copying error text on full-page error states. Matches the pattern already used by v1 WorkspaceInitializingView.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 78444015-f7bb-4ff2-aaed-51a7e7716619

📥 Commits

Reviewing files that changed from the base of the PR and between bb12c09 and 4ac6acc.

📒 Files selected for processing (2)
  • apps/desktop/src/renderer/components/UpdateRequiredPage/UpdateRequiredPage.tsx
  • apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx

📝 Walkthrough

Walkthrough

Both files updated error message elements with CSS classes (select-text, cursor-text, break-words) to enable text selection, display text cursor, and allow word wrapping for improved readability and user interaction with error text.

Changes

Cohort / File(s) Summary
Error Message Styling
apps/desktop/src/renderer/components/UpdateRequiredPage/UpdateRequiredPage.tsx, apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx
Added CSS classes (select-text, cursor-text, break-words) to error message elements to enable text selection, text cursor display, and word wrapping.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰✨ Error messages bloom with care,
Text now selectable in the air,
Words that wrap and cursors glow,
User delight in copy-paste flow!

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ❓ Inconclusive The description covers the key changes with a summary section, test plan, and rationale. However, it does not follow the provided template structure with required sections like Type of Change, Testing, and Related Issues. Restructure the description to follow the provided template format, including Type of Change (Bug fix), Testing section with actual test steps, and Related Issues if applicable.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: making pending failure error messages selectable. It is specific, relevant to the changeset, and follows good naming conventions with the fix scope prefix.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch make-pending-failure-selectable

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 13, 2026

Greptile Summary

This PR adds select-text cursor-text break-words Tailwind classes to error message elements in two desktop app pages (UpdateRequiredPage and the pending workspace failure view), allowing users to select and copy error text that was previously blocked by a global user-select: none on the app body.

  • Adds select-text cursor-text break-words to the update-error <p> in UpdateRequiredPage.tsx
  • Adds the same classes to the workspace-creation-failure <span> in pending/$pendingId/page.tsx
  • Consistent with the pattern already applied in WorkspaceInitializingView
  • No logic changes; purely a CSS/styling fix for usability

Confidence Score: 5/5

Safe to merge — minimal, targeted CSS fix with no logic changes.

The change is a two-line styling fix using an established pattern already present in the codebase (WorkspaceInitializingView). select-text correctly overrides user-select: none, cursor-text provides the appropriate UX hint, and break-words prevents overflow from long error strings. No logic, state, or data flow is altered.

No files require special attention.

Important Files Changed

Filename Overview
apps/desktop/src/renderer/components/UpdateRequiredPage/UpdateRequiredPage.tsx Adds select-text cursor-text break-words to the destructive error <p> shown when the auto-update check fails; correctly overrides the global user-select: none.
apps/desktop/src/renderer/routes/_authenticated/_dashboard/pending/$pendingId/page.tsx Wraps the workspace creation failure error text in a <span> with select-text cursor-text break-words so users can copy error details; change is minimal and targeted.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User triggers error state] --> B{Which page?}
    B --> C[UpdateRequiredPage\nauto-update check fails]
    B --> D[PendingWorkspacePage\nworkspace creation fails]
    C --> E["error message with select-text cursor-text break-words"]
    D --> F["pending.error with select-text cursor-text break-words"]
    E --> G[User can select and copy error text\n overrides global user-select none]
    F --> G
Loading

Reviews (1): Last reviewed commit: "fix(desktop): make pending workspace fai..." | Re-trigger Greptile

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 2 files

@Kitenite Kitenite merged commit 47efa73 into main Apr 13, 2026
7 checks passed
@Kitenite Kitenite deleted the make-pending-failure-selectable branch April 13, 2026 22:20
@github-actions
Copy link
Copy Markdown
Contributor

🧹 Preview Cleanup Complete

The following preview resources have been cleaned up:

  • ⚠️ Neon database branch
  • ⚠️ Electric Fly.io app

Thank you for your contribution! 🎉

MocA-Love pushed a commit to MocA-Love/superset that referenced this pull request Apr 14, 2026
…rs selectable (superset-sh#3432)

Global `user-select: none` on body blocks copying error text on full-page error states. Matches the pattern already used by v1 WorkspaceInitializingView.
MocA-Love pushed a commit to MocA-Love/superset that referenced this pull request Apr 14, 2026
All 9 upstream commits have been individually cherry-picked via PR#159~#163:

| Upstream | Our PR | Description |
|---|---|---|
| d656b7e (superset-sh#3415) | #159 (PR#1) | terminal clipboard handling |
| 31fcf19 (superset-sh#3416) | #162 (PR#4) | v1 split pane startup sizing fix |
| 039edf2 (superset-sh#3403) | #161 (PR#3) | Cmd+Alt+Arrow spatial pane focus |
| b18a00c (superset-sh#3421) | #159 (PR#1) | v2 right sidebar toggle reactive |
| 3dd1de2 (superset-sh#3420) | #161 (PR#3) | v2 diff viewer + tab title resolution |
| b42a114 (superset-sh#3418) | #159 (PR#1) | CodeMirror hotkey enablement |
| c925f4d (superset-sh#3422) | #160 (PR#2) | unbound defaults + restore prev/next tab/workspace |
| bb12c09 (superset-sh#3419) | #163 (PR#5) | version bump 1.5.3 |
| 47efa73 (superset-sh#3432) | #159 (PR#1) | pending/update-required error selectable |

Fork-specific features preserved:
- auto-updater (IS_FORK, GitHub Releases API)
- QuitMode/cleanupMainWindowResources lifecycle
- GitHubSyncService, SpreadsheetViewer
- BROWSER_RELOAD / BROWSER_HARD_RELOAD / SEARCH_IN_FILES hotkeys
- HotkeyCategory "Browser"
- v1 deep-link navigation (useSearch/WorkspaceSearchParams)
- v1 tRPC-based PREV/NEXT_WORKSPACE handlers
- v1 CLOSE_TERMINAL/CLOSE_TAB hotkey handlers
- v2 extra state (rightSidebarOpenViewWidth, showPresetsBar)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant