calkit / calkit-cloud

The Calkit cloud system.
https://calkit.io
Other
2 stars 0 forks source link

Add new features to local machine page to support full GUI typical use case with MS Office files #193

Closed petebachant closed 3 weeks ago

petebachant commented 1 month ago

Design/story: https://docs.google.com/document/d/1hHu1G_nZt3m_S6TXR6MVzXg3RvFtjyVQzOXq1clJ3c8/edit?tab=t.0#heading=h.o48nr1w9lz8j

We want to be able to do some important tasks here:

Resolves #174

petebachant commented 1 month ago

Got to this point, but it's feeling like we need to scale back the complexity. I really want this to feel very simple and easy to understand.

image
petebachant commented 4 weeks ago

Just got to the point where we can create a stage from the website, which is pretty cool. There are some templates that pre-fill some stuff. Could probably use some refactoring/clean up though.

abachant commented 4 weeks ago

I was thinking about the UI for the Tracked files. I was thinking of a little bordered box. Either the commit button would work on the whole box or by putting it in the staged files sub box it emphasizes that the staged files are what will be committed which I think would be more intuitive for the layperson. IMG_0805

Do you have any input?

petebachant commented 4 weeks ago

As we were talking about yesterday, I think it would be good to hide the complexity of staging. The only things we need to encourage the user to take action on are:

  1. If there are files in the folder that are not yet part of the repo, and not ignored. The user needs to choose to save them in the repo or ignore them (add to .gitignore and commit that file).
  2. If there are uncommitted changes. Doesn't matter if they are staged on not. If the repo is "dirty" they need to fix that by committing or stashing the changes.
abachant commented 4 weeks ago

Ok I misunderstood. So the whole staging section can be removed. I think it would make the most sense to then just have a section for changed files with checkboxes for each and a button to "save" or "discard" selected. Does that follow what you are saying?

petebachant commented 4 weeks ago

I have an idea for committing changes:

  1. User clicks "Save" and a modal pops up with all changed files listed with checked checkboxes, i.e., they will be committing all changed files, but can deselect if they want
  2. There is a prefilled commit message that they can edit before saving (see the AddPath and IgnorePath components for inspiration), and they can choose whether or not to push after committing too
petebachant commented 4 weeks ago

BTW I'm keeping a TODO list up at the top of this PR in case you have any ideas for solving any of the issues

abachant commented 3 weeks ago

Maybe this would be good to include the dvc setup stuff here but I ran into an issue with the new commits. Screenshot 2024-11-07 at 11 12 25 AM

I had to update docker and I lost all my projects and my DVC connections so I don't have any of the DVC for boundary-layer-turbulence-modeling anymore. As a result, I'm getting this error when I try to run local on this page. I can get around it by adding more optional chaining to the look up but I don't know what you think would be the connection with longterm solution for people not having the DVC connected already? Screenshot 2024-11-07 at 11 12 25 AM

petebachant commented 3 weeks ago

Ah, weird. I'll need to think about how this would work end-to-end. So all of your Docker volumes were recreated, therefore you had an empty database and empty object storage, therefore the DVC data was gone?

petebachant commented 3 weeks ago

I'm still thinking about the best way to tell the user that they need to sync the DVC data. For the BL turbulence modeling project it's kind of expensive to make the status query since it checks every single file in the DVC remote. This means that not_in_cache check might go away anyway.

petebachant commented 3 weeks ago

Alright, this is finally at the point where it's working!