Skip to content

Fix the merge-conflict controls (Exit merge / Undo / Save resolution)…#451

Merged
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync
Jul 2, 2026
Merged

Fix the merge-conflict controls (Exit merge / Undo / Save resolution)…#451
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync

Conversation

@inkeep-oss-sync

Copy link
Copy Markdown
Contributor

Fix the merge-conflict controls (Exit merge / Undo / Save resolution) being
covered by the floating Ask AI composer, which made conflicts impossible to
confirm without first collapsing the composer. The conflict footer now
publishes its height and the composer anchors above it, so the controls stay
visible and clickable with Ask AI stacked on top of them. The conflict diff
also reserves scroll room under the composer, so the last hunks' Accept and
Reject buttons can always scroll clear.

…composer (#2399)

* fix(open-knowledge): keep conflict controls visible below the Ask AI composer (PRD-7268)

The merge-conflict footer (Exit merge / Undo / Save resolution) rendered at
the bottom of the editor content region, and the Ask AI bottom composer is an
absolute bottom-0 z-20 overlay over that same region, so the composer covered
the controls and conflicts could not be confirmed.

DiffView now publishes its conflict footer height as --conflict-footer-height
on the document root (counterpart of the composer's --ask-composer-height),
and the composer anchors its bottom to that var (0px fallback keeps
non-conflict geometry identical), stacking Ask AI above the controls. The
conflict diff scroller also reserves composer-height scroll room so the last
hunks' inline Accept/Reject buttons can scroll clear.

* test: pin ownership-token handoff; make jsdom 0px pins explicit

Review follow-ups on #2399: add a direct dom test for the ownership token
(a stale instance unmounting after a newer publisher must not clear
--conflict-footer-height), replace the /^\d+px$/ assertions with an
explicit '0px' so the jsdom no-layout assumption is visible in the
assertion, and tighten the hook's comments to name the one interleaving
the token defends (mount-before-unmount ordering on fast doc switches)
plus the enabled-only dep invariant both call sites rely on.

GitOrigin-RevId: 89dc25725dc56c0b796f5dc97a3d1f1d82fc9ecb

@inkeep-internal-ci inkeep-internal-ci Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Automated approval from agents-private public-mirror-sync (run: https://github.com/inkeep/agents-private/actions/runs/28624643176). Source of truth is the monorepo; direct edits on inkeep/open-knowledge are overwritten on next sync.

@inkeep-oss-sync inkeep-oss-sync Bot merged commit baa7860 into main Jul 2, 2026
1 check passed
@inkeep-oss-sync inkeep-oss-sync Bot deleted the copybara/sync branch July 2, 2026 22:10
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