upriver.github.io icon indicating copy to clipboard operation
upriver.github.io copied to clipboard

Add warning to "force", and write explanations of what the app is doing

Open professorhantzen opened this issue 8 years ago • 3 comments

I'm new to upriver. I was clicking the "Pull" button and getting no feedback, so I selected "force". I assumed if pushing this was going to lead to something irretrievably destructive, it would warn me. Well, it didn't warn me. There are also no instructions anywhere on what upriver actually does or is going to do - leading to a false sense of security. Users are conditioned to an experience as follows: Apps tell you if they're going to do something irretrievably destructive. They describe what's about to happen, and they give you a chance to back out. In the absence of being warned, and in the absence of having anything described, the user is conditioned to assuming the action will be safe.

So, I've now lost all the changes I made to my fork, and its commit history. If it wasn't for me happening to have a browser window open with the file (albeit in a form I have to redo some), I'd presumably have lost it completely.

Let's put this in perspective. Upriver has one button, and one check box. Neither are explained. If you press the button with the checkbox enabled, upriver erases your work forever without warning you. I believe this project is well-intentioned, and certainly would ostensibly provide a very useful service sorely lacking from the github web UI. Nevertheless, if I had a button that could erase Upriver in its current form from the internet entirely, and without warning you, well...

professorhantzen avatar Apr 01 '17 14:04 professorhantzen

Hey! I'm sorry to hear that you might have lost data. If you can find any way to locate the sha1 hash of the commit (this article might assist), you can recover your work (although you'll have to open a Javascript console and use Upriver directly, the UI doesn't support that). You could find that hash by inspecting the page's HTML using DevTools if on the off chance you still had Upriver open.

You are very justified in wanting a more visible warning, and I'll see what I can do. The checkbox does have a tooltip that explains it to some degree, but it's possibly not clear enough. I'm surprised that pressing the "Pull" button, didn't do anything, but the code in it's current form doesn't do error-handling very well (ref #10), and won't display any visual indication for a lot of errors (even as simple as the internet dropping out).

bardiharborow avatar Apr 03 '17 04:04 bardiharborow

Thank you! The article helped me find the hash, but recovering didn't seem to work. It's alright though - I'd already fixed it. I was just going through the article out of interest :)

Indeed, clicking the Pull button reported nothing back to me - so I assumed it hadn't done anything. When enabling force however, clicking Pull came up with a dialogue with some JSON.

professorhantzen avatar Apr 03 '17 11:04 professorhantzen

I'm assuming you were trying to rebase your fork with upstream, rather than just fast-forward your fork. The former is something I'd love to be able to do with Upriver (tracking issue #12), but it's significantly more complex and may not be possible with just the GitHub API. The main use-case I created Upriver for, is that I create a lot of small PRs as I notice small bugs/documentation issues in projects that I use, and often I can do this without having to clone locally with the GitHub web editor. This works once, but when I come back to the same project six months later, my fork is out-of-sync and the workaround for that is to delete and recreate the fork. With Upriver I can fast-forward my fork to match upstream, and "force" reset it if there are any conflicts.

bardiharborow avatar Apr 04 '17 01:04 bardiharborow