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

Collaboration Tools #47

Closed
wants to merge 76 commits into from
Closed

Collaboration Tools #47

wants to merge 76 commits into from

Conversation

maarzt
Copy link
Contributor

@maarzt maarzt commented Sep 28, 2023

This is currently a prototype to solve #42 #43

This PR adds new menu items in Mastodon, that allow to share a Mastodon dataset, and to collaborate on it.
image

TODOs

  • Support SSH key on windows
  • Better titles for the commands
  • Clone & Create repository commands, have a checkbox "create subdirectory"
  • Move clone command to Fiji menu
  • Rename menu entries
  • Test what happens if there is no global .gitconfig
  • Tell users if credentials are wrong
  • Clone dialog: should have an example url
  • Change menu entries:
    • Push -> Upload changes,
    • Pull -> Download changes,
    • Create New Repository -> Share Project
  • Fix bug: Switch to remote branch does not work because “git fetch” is missing
  • Fix bug: Merge fails if dataset.xml is not there
  • Make commands cancellable
  • Warn user if author name was not specified yet
  • Disable commands that are not available outside of git repo
  • Allow to perform a pull if there are local and remote changes, provide options:
    1. delete all local changes
    2. create a branch to store local changes
    3. cancel
  • write documentation

…aset

The computation previously needed to read the SpimData and went through
all the SpatialTemporalIndex. This can be simplified to one iteration
over the list of spots which is actually a lot less complex than creating
the SpatialTemporalIndex.
Change exception handling. Exception are handled by the caller.
Change method ignorePattern() to relevantFilesFilter().
Simplify isClean
@maarzt
Copy link
Contributor Author

maarzt commented Sep 28, 2023

@stefanhahmann Could you please test if the Mastodon git integration works:

I'm looking forward to get your feedback.

Copy link
Collaborator

@stefanhahmann stefanhahmann left a comment

Choose a reason for hiding this comment

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

This PR adds a bunch of functionalities needed for the git approach to Mastodon collaborative. The added features seem to be very useful.

It is a bit unfortunate that the test coverage for the logic contained in it is so low. This would make it hard to make changes in this repository for new developers in the future. You may consider to increase test coverage.

Apart from that I have mainly some comments on some terms shown to the user on the UI side and the user feedback on some specific workflows.

maarzt and others added 3 commits November 9, 2023 13:55
Co-authored-by: Stefan Hahmann <[email protected]>
Try to improve code readability by introducing a callback method for
the interaction between the SingleUseCredentialsProvider and the
PersistentCredentials class.

Improve thread safety by making the getUsernameAndPassword method
syncronized. This avoids to show multiple dialogues in parallel to
the user in parallel.
… better

Previously: The user clicking cancel on the username & password dialog
inderectly triggered a TransportException. The exception message would
be shown in an error dialog, and the stack trace was printed on the
console.

Now: The user clicking cancel throws a CancellationExcpetion. The
exception is catched at an appropriate location and no confusing
error dialog or stack trace is shown.
@maarzt
Copy link
Contributor Author

maarzt commented Jan 2, 2024

The classes in the PR where moved to a new repository https://github.com/maarzt/mastodon-git

@maarzt maarzt closed this Jan 2, 2024
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