Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEATURE: Offer rebase option when publish/discard fails due to conflict #3761

Open
6 tasks
Tracked by #3742
grebaldi opened this issue Mar 26, 2024 · 0 comments · May be fixed by #3769
Open
6 tasks
Tracked by #3742

FEATURE: Offer rebase option when publish/discard fails due to conflict #3761

grebaldi opened this issue Mar 26, 2024 · 0 comments · May be fixed by #3769
Labels

Comments

@grebaldi
Copy link
Contributor

grebaldi commented Mar 26, 2024

If a user logs in and finds their workspace in OUTDATED or OUTDATED_CONFLICT state, they cannot publish any changes, before they have rebased their workspace.

image

It is possible however, that a user's workspace transitions into OUTDATED or OUTDATED_CONFLICT state in the background without the UI noticing that transition. The user is then able to use all options from the Publish Dropdown. If they attempt to publish their changes, they will receive an exception:
Screenshot_2024-03-25_14-16-37 Publish Error

If such a case occurs, the UI should offer an option to rebase the workspace immediately and then re-attempt the publishing operation.

Here's what an integrated workflow could look like:
Untitled-2024-03-26-1434 Integrated Rebase Workflow
(https://excalidraw.com/#room=fe18ec088dcbdc396eed,KxgT9UbEp0yXJVtS3vjV5Q)

Open Questions

  • Coming from the Publish Dropdown, users are acting in the scope of either the current site or the current document. The "rebase" operation however is global to the current content repository. How do we communicate that?

Acceptance Criteria

  • When users click "Publish", "Publish All", "Discard" or "Discard All" while their workspace is in OUTDATED or OUTDATED_CONFLICT state, they are presented with a dialog that allows them to rebase their workspace immediately
  • When users click on "Synchronize now" in said dialog, the rebase workflow as established in FEATURE: Offer resolution strategies when conflicts arise during rebase #3744 starts
  • Once the rebase workflow is finished successfully, the initial "Publish", "Publish All", "Discard" or "Discard All" operation is automatically re-attempted
  • There is an E2E test for at least one of the above scenarios
  • The UI refreshes ContentCanvas and DocumentTree after rebase
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant