Skip to content

fix: gui ux 2#24

Merged
pszemraj merged 28 commits intomainfrom
fix/gui-ux-2
Feb 24, 2026
Merged

fix: gui ux 2#24
pszemraj merged 28 commits intomainfrom
fix/gui-ux-2

Conversation

@pszemraj
Copy link
Copy Markdown
Owner

This branch closes a set of compounding GUI reliability issues that all hit the same user surface: typing, pasting, and navigating text in the editor. The core goal was to make LocalPaste's editor behavior predictable under real-world muscle memory, then remove the legacy paths that were causing inconsistent behavior and maintenance drag.

What this changes

This PR unifies the app around a virtual-editor-first model and hardens the full editing flow end-to-end:

  • Editing correctness

    • Paste-as-new now preserves full clipboard payloads (including tab-indented trailing lines) and no longer drops/truncates final lines.
    • Enter-at-top focus handoff behavior is fixed, so users can immediately insert at buffer start after selection/create flows.
    • Platform keyboard behavior was normalized:
      • Win/Linux: Ctrl word/document navigation + deletion.
      • macOS: Option word movement/deletion, Cmd line/document movement, native line-delete chords.
    • Wrapped-line Home/End behavior now follows visual-row semantics and is locked by tests.
    • Global Ctrl/Cmd+Delete no longer hijacks editor text operations when any text input context owns keyboard focus.
  • GUI consistency

    • GUI-created paste names are now consistently randomized.
    • Sidebar rows were updated for better scanability (title truncation + language alignment behavior).
  • Architecture simplification

    • Legacy TextEdit content path was removed.
    • Runtime mode is now locked to virtual editor behavior (no practical runtime fallback mode for content editing).
  • Release/packaging reliability

    • Windows executable icon is now embedded in PE resources and uses the corrected icon asset.
    • Release publish workflow no longer mutates release metadata (title/auto-notes churn), and Gatekeeper note append now runs with proper checkout context.

Result

Mainline behavior is now centered on one editor model with platform-correct navigation, safer shortcut routing, and fewer split code paths. This reduces both user-facing paper cuts and regression surface.

Validation

Full workspace/tooling/test validation was run, including GUI keyboard/focus suites, full localpaste_gui tests, policy checks (check-loc, AST dupes), and strict rustdoc checks.


Follow-up Checklist (next PR, cleanup-focused)

  • Remove remaining preview-only internals (types/state/helpers) that are no longer needed at runtime.
  • Collapse EditorMode plumbing to a single content-editor path.
  • Prune preview-oriented tests and rebase harness assumptions to virtual-editor-only semantics.
  • Remove remaining preview-mode wording/comments/docs.
  • Re-run full validation loop and manual keyboard/focus smoke checklist.

@pszemraj pszemraj added bug Something isn't working enhancement New feature or request labels Feb 23, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cde6a4389c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@pszemraj
Copy link
Copy Markdown
Owner Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cb8c92e4a6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- block global delete when virtual editor focus promotion is pending

- replace bool bundles with typed focus-state routing helpers

- split explicit-vs-implicit clipboard create policy

- add regressions for whitespace explicit paste and focus guards
@pszemraj
Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- remove right-to-left row container that caused title overlay hit interception

- make row title label non-interactive so button receives clicks across full width

- preserve right-aligned language column while keeping title left-aligned
@pszemraj
Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Delightful!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@pszemraj pszemraj merged commit ed2007f into main Feb 24, 2026
1 check passed
@pszemraj pszemraj deleted the fix/gui-ux-2 branch February 24, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant