{{ message }}
Repository navigation
feat(hub): sync unpublished preview comments - #37
Merged
lukasoppermann merged 9 commits intoOct 21, 2026
Merged
Conversation
Save unpublished preview feedback as Hub draft revisions and attach it only to a successful Build with matching source content. Preserve published review behavior and reject saves against stale local source. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a0f3eb5-727a-4361-b09e-256fd982857d
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved data-preservation and publication/commenting regressions block safe deployment.
7 open issues
Avoid repeated draft preparation during unchanged status polls · New Allow publishing drafts from never-pushed branches · New Rebuild committed renderer assets for the updated comment protocol · New Match Current Build filtering against the active revision ID · New Prevent stale revision responses from overwriting selected comments · New Show stale revision recovery details in the comment composer · New Preserve SQLite child rows during review comment migration · New
What changed in this PR
Adds Hub-backed conversations for unpublished local previews, preserving them until matching source content becomes a successful Build.
Changes:
- Store draft revisions and associate conversations with verified Builds.
- Capture local source without changing staged files and reject stale submissions.
- Update canvas rendering, publication visibility, tests and documentation.
Review effort: Max
Reuse draft preparation across status polls, preserve push-first publication for never-pushed drafts, and isolate revision-scoped comment responses without discarding composed text. Show stale-save recovery in the composer and preserve existing review children during SQLite table rebuilds. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a0f3eb5-727a-4361-b09e-256fd982857d
Keep the original review target through source edits and preview reloads, then refresh after Hub confirms the save. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a0f3eb5-727a-4361-b09e-256fd982857d
Regenerate the canvas renderer from the combined commenting and publishing source. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 1a0f3eb5-727a-4361-b09e-256fd982857d
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 81640dc7-0f59-4d95-9037-01b4eb681d03
Replace Hub-backed drafts with private local persistence and source-matched upload through the published review API. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Retain lifecycle and user-flow integration coverage while removing repeated setup, request bookkeeping and obsolete Hub-draft scenarios. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This was referenced Oct 20, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
nshki
approved these changes
Oct 21, 2026
nshki
left a comment
Contributor
There was a problem hiding this comment.
Thanks, @lukasoppermann. Greening this for you!
lukasoppermann
deleted the
lukasoppermann-unpublished-preview-comments
branch
October 21, 2026 01:09
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Why
Authors need to comment before publishing, including with uncommitted edits. Keeping that feedback on their device avoids storing unpublished comments in Hub or attaching them to the wrong Build.
What changes
The canvas saves unpublished comments privately on the author's device across restarts. Authors can edit or delete them. Source edits, commits and preview reloads preserve the target captured when selection starts.
While open, the canvas uploads comments only when a newer imported Build matches their saved source. Confirmed uploads remove the local copy; failures retain it and show an error. Uncertain uploads are checked against Hub rather than blindly sent again. Published conversations keep their existing API and access rules, with no Hub draft records or migration.
Local commenting requires a named branch with an initial commit. Source capture preserves staged files; active Git clean filters and changed submodules report an explicit limitation.
End-to-end publication against an authenticated Hub and full keyboard and screen-reader review remain unverified. Complete-suite runs also encountered intermittent canvas publication and checkout UI timeouts.