Skip to content

Polish drag-to-rebase and add macOS tests#14

Merged
hewigovens merged 1 commit intomainfrom
codex/dag-rebase-polish-tests
Apr 14, 2026
Merged

Polish drag-to-rebase and add macOS tests#14
hewigovens merged 1 commit intomainfrom
codex/dag-rebase-polish-tests

Conversation

@hewigovens
Copy link
Copy Markdown
Owner

Summary

This PR polishes the drag-to-rebase interaction in the DAG, consolidates repo-level presentation surfaces, and adds macOS shell unit coverage.

It also bumps JayJay to 0.2.12 (build 16) and adds a top-level just test-app command that matches the new CI app-test step.

What changed

  • implement a custom press/arm/drag state machine for DAG drag-to-rebase
  • improve hover targeting and drag affordances in the DAG rows
  • split DAG row and DAG view presentation logic into dedicated view models
  • consolidate repo alerts, sheets, toast, and loading HUD behind typed presentation state
  • add a macOS app test target with regression coverage for drag gesture policy and DAG view models
  • run the app tests in CI and expose the same flow through just test-app
  • bump app/version metadata to 0.2.12 (build 16)

Validation

  • just build
  • just test-app

Notes

This is opened as a draft PR so the interaction changes can get one more pass in the app before review.

@hewigovens hewigovens changed the title [codex] Polish drag-to-rebase and add macOS tests Polish drag-to-rebase and add macOS tests Apr 14, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a drag-and-drop rebase feature for the DAG view, allowing users to rebase commits by dragging them onto new parents. It includes a significant refactoring of the presentation layer to use centralized state management for modals, alerts, and toasts, as well as a version bump to 0.2.12 and the addition of macOS app unit tests. Feedback focuses on performance optimizations, specifically regarding unnecessary view redraws from TimelineView, inefficient O(N) lookups during drag operations, and redundant layout calculations within the view's body.

Comment thread shell/mac/Sources/JayJay/Repo/DAGRow.swift Outdated
Comment thread shell/mac/Sources/JayJay/Repo/DAGView+RebaseDrag.swift Outdated
Comment thread shell/mac/Sources/JayJay/Repo/DAGViewModel.swift Outdated
@hewigovens hewigovens force-pushed the codex/dag-rebase-polish-tests branch from 164abed to 4563a2d Compare April 14, 2026 00:56
@hewigovens hewigovens marked this pull request as ready for review April 14, 2026 01:06
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: 4563a2d832

ℹ️ 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".

Comment thread shell/mac/Sources/JayJay/Repo/DAGView.swift Outdated
Comment thread shell/mac/Sources/JayJay/Repo/DAGView.swift Outdated
@hewigovens hewigovens force-pushed the codex/dag-rebase-polish-tests branch 3 times, most recently from b259fe7 to f1a12d6 Compare April 14, 2026 12:31
@hewigovens hewigovens force-pushed the codex/dag-rebase-polish-tests branch from f1a12d6 to 9044e0d Compare April 14, 2026 13:12
@hewigovens hewigovens merged commit d4b5867 into main Apr 14, 2026
2 checks passed
@hewigovens hewigovens deleted the codex/dag-rebase-polish-tests branch April 14, 2026 13:31
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