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

Implement conflict banner link to send feedback #17829

Merged
merged 8 commits into from
Jun 11, 2019

Conversation

aaazalea
Copy link
Contributor

@aaazalea aaazalea commented Jun 5, 2019

Issue: Y2K-42

@aaazalea aaazalea requested a review from a team June 5, 2019 18:07
@aaazalea aaazalea changed the base branch from master to jakob/KBFS-4149-CR-banner-setup June 5, 2019 18:07
@aaazalea aaazalea force-pushed the jakob/KBFS-4150-pre-filled-log-send-action branch from 0d8e77f to b15101a Compare June 5, 2019 19:07
shared/constants/types/fs.tsx Outdated Show resolved Hide resolved
shared/settings/feedback/container.desktop.tsx Outdated Show resolved Hide resolved
shared/settings/feedback/index.tsx Outdated Show resolved Hide resolved
@aaazalea aaazalea force-pushed the jakob/KBFS-4149-CR-banner-setup branch from 4a28073 to ad2e089 Compare June 6, 2019 15:52
@aaazalea
Copy link
Contributor Author

aaazalea commented Jun 6, 2019

@songgao I've addressed all of your feedback. I'm going to wait to rebase until the other PR is merged and you've looked at this again.

@aaazalea aaazalea requested a review from songgao June 6, 2019 17:36
Copy link
Contributor

@songgao songgao left a comment

Choose a reason for hiding this comment

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

Sorry for missing this in the first round: I'm not sure startManualCR is calling the right action. Let me know if it doesn't sound right to you and we should discuss.

shared/settings/feedback/index.tsx Outdated Show resolved Hide resolved
shared/reducers/fs.tsx Show resolved Hide resolved
(newState === 'in-conflict-stuck' || newState === 'in-conflict-not-stuck')
) {
// If the conflict is being manually resolved, ignore new
// conflicts that come in.
Copy link
Contributor

Choose a reason for hiding this comment

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

If I understand correctly, the only state that InManualResolution can transit into is Finishing. After that, this TLF is deleted since all the needed data has been supposedly copied into the main one where the conflict state is cleared.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

but if we're in the middle of resolving a conflict, and then another one appears on the same TLF, what should we do?

Copy link
Contributor

Choose a reason for hiding this comment

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

You mean after the TLF already branched into two? Then conflict can indeed happen again, but that'd be only on the server-view one, and it'd just be able to branch into a third TLF. The KBFS daemon would give it a different suffix in this case, so all three TLFs show up in favorites fine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Let's say that you have a TLF, jakob223,songgao. You get a conflict in it:

  • jakob223,songgao [in-conflict-stuck]
    and you press "Start conflict resolution". Now you have 2 TLFs:
  • jakob223,songgao [in-manual-resolution]
  • jakob223,songgao (conflict High-level comments on major files #1) [in-manual-resolution]
    and now you get a second conflict. I claim that jakob223,songgao should not switch from in-manual-resolution to in-conflict-stuck because that would hinder the ability of the user to finish resolving the first conflict. This amounts to forcing them to resolve the first conflict before another appears.

WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

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

it'd be like this:

jakob223,songgao

gets stuck

jakob223,songgao [conflicted]

hit start manual resolve

jakob223,songgao
jakob223,songgao (conflict #1)

first one (server view) get conflicted again

jakob223,songgao [conflicted]
jakob223,songgao (conflict#1)

hit manual resolve in the first one

jakob223,songgao
jakob223,songgao (conflict#1)
jakob223,songgao (conflict#2)

Note that branched out TLFs (with the conflict suffixes) can never get conflicted again -- they're a local branch and becomes readonly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But since we are only showing the "finish conflict resolution" button on the original / main-line TLF, we don't expose any way for the user to mark the current CR as finished in the

jakob223,songgao [conflicted]
jakob223,songgao (conflict#1)

state. Additionally, it's not clear which conflict should be marked as finished when the user clicks "finish" in jakob223,songgao in the case below:

jakob223,songgao
jakob223,songgao (conflict#1)
jakob223,songgao (conflict#2)

Copy link
Contributor

Choose a reason for hiding this comment

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

You are right. Not sure what the best answer is here. Perhaps "finish cr" should be in the local view(s).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe we should rename "finish" to "delete this conflict view" or something.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, that sounds good to me too

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cool, made this change. Thanks for all the discussion 👍

shared/actions/fs/index.tsx Outdated Show resolved Hide resolved
@aaazalea aaazalea changed the base branch from jakob/KBFS-4149-CR-banner-setup to master June 7, 2019 14:47
@aaazalea aaazalea force-pushed the jakob/KBFS-4150-pre-filled-log-send-action branch from 2eef245 to cd383bd Compare June 7, 2019 17:21
@songgao
Copy link
Contributor

songgao commented Jun 10, 2019

I'm realizing some of my feedback here are actually already implemented in my plumbing PR. sigh

Copy link
Contributor

@songgao songgao left a comment

Choose a reason for hiding this comment

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

Let's get this in after the release!

@aaazalea aaazalea merged commit 9713359 into master Jun 11, 2019
@aaazalea aaazalea deleted the jakob/KBFS-4150-pre-filled-log-send-action branch June 11, 2019 20:48
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.

2 participants