Giter VIP home page Giter VIP logo

kamino's Introduction

Kamino - The GitHub issue cloning tool

All Contributors

Kamino is a Chrome and Edge Extension that creates a button on GitHub issue pages. This button can be used to clone an issue to any other repository in which you, the user, are a contributor or member.

How do I use it?

In your Google Chrome browser, simply look for Kamino in the Chrome Extensions store and install it (direct link). Once the extension is installed, go to chrome://extensions and click the Options link to enter your GitHub Personal Access Token (PAT). When creating your PAT, make sure to check the following:

  • repo - all

If you don't know how to create a PAT or need help, check out Creating a token section here

Once you have your PAT, enter it on the Options screen for Kamino and click Save. After that is done, go to any GitHub issue page in which you are a member and you should see a button labeled Clone to.

Features

Settings

  • Go to original repo's issue list after cloning will navigate to the issue list for the repo from which the cloning was done
  • Create tab for cloned issue will open a new tab and navigate to the newly cloned issue
  • Copy comments when cloning issue will copy all comments when the issue is cloned
  • Disable Kamino automatic comments on original issue will disable automatic comments on the original issue by Kamino

Normal operations

Clicking this button will display a dropdown list of repos. Selecting a repo will ask you to perform one of the following actions:

  • Clone and Close will clone the issue and automatically close the original issue
  • Just Clone will clone the issue and keep the original issue open. This is useful if you've got shared code bases across repos and the issue is similar or the same across repos.
  • Nevermind will close the modal and no action will be performed

Last used

Kamino will remember the last 5 repositories you cloned to so that it will be easy for you to find. If you are someone that is a member of a lot of repos, this should be very handy!

Quick clone

Kamino now supports a quick clone feature. The last repository you cloned to will be shown on a button next to the dropdown. Rather than having to pick the item from the repo list, you can simply click the button to clone to your last used repository!

Search a Repository

For those who have a large number of repositories, Kamino has now introduced a search feature. This can be used to filter the list of repositories quickly. Thanks to @CamSoper for the request!

Batch Cloning(EXPERIMENTAL!!!)

For those who require the ability to clone multiple issues all at once to a repository, there is now a Batch Clone button on the issue list page. This will display a popup that asks where the issue(s) should be cloned and which issue(s) should be cloned. Again, this is a new feature(as of May 2021) and Kamino wasn't meant to do batch cloning, so use at your own risk but I appreciate any and all feedback.

How does it work?

Kamino leverages the GitHub API to gather information about the issue you are on. Kamino is a chrome extension utilizing content scripts to create a button on specific web pages, specifically GitHub issue pages.

Wait a minute, something's not working! Or I'd like to leave feedback

If you find an issue, feel free to create an issue here. If you think of a way Kamino can be enhanced, also create an issue outlining your feature.

Privacy stuff

Outside of the use of your Personal Access Token used by Kamino to perform its core function, we do not have the ability to view or retrieve your token. We do not transmit any information stored by Kamino and it is all stored via the chrome.storage object provided by Google in the development of Chrome extensions. We do not collect or track any personal information such as addresses, IP address, name, emails, credit card numbers, etc... Any analytics package that may be installed will only be used to track number of uses as well as the way Kamino is being used. Any analytics package will NOT store or track repo names, tokens, issue numbers or names or anything else related to the GitHub data used by Kamino.

Contributors

Thanks goes to these wonderful people (emoji key):


John Murphy

πŸ’» 🎨 πŸ“– πŸ€” 🚧 πŸ“†

Daniel Gary

πŸ€” πŸ’» πŸ›

Mossadeq Zia

πŸ›

demianmnave

πŸ›

eswsalesapgcgemea

πŸ› πŸ€”

Cam Soper

πŸ› πŸ€”

Adam Perlin

πŸ’»

Ryan Betts

πŸ€”

Jamie Woodmancy

πŸ’»

Anirud Samala

πŸ’»

Paul Vogel

πŸ›

Justin Neff

πŸ‘€ πŸ€”

Brandon McNew

πŸ‘€

Julia

πŸ€”

Kjeld Schouten

πŸ€”

Steffano Pereira

πŸ›

William Emfinger

πŸ€”

Jay Mahendru

πŸ€”

sjsaha

πŸ€”

Knut Wannheden

πŸ€”

John L. Czukkermann

πŸ€”

Marco Aurelio Gerosa

πŸ“–

FrΓ©dΓ©ric Harper

πŸ›

Maciej Walkowiak

πŸ’»

Nathan Waddell

πŸ’»

Daksh P. Jain

πŸ“– πŸ€”

Holger

πŸ›

Thomas

πŸ’» πŸ›

This project follows the all-contributors specification. Contributions of any kind welcome!

kamino's People

Contributors

adamperlin avatar allcontributors[bot] avatar daksh777 avatar danielgary avatar fgnievinski avatar jamie29w avatar johnmurphy01 avatar justinneff avatar maciejwalkowiak avatar marcogerosa avatar mcnewbk avatar nathanwaddell121107 avatar thomas694 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kamino's Issues

Add option to open new issue in tab

Give the user the option to open the issue in a new tab. If the setting is off, when an issue is cloned it will not open the issue in a tab. If the setting is on, when an issue is cloned it will open the issue in a new tab.

Update Read Me to exclude unnecessary permissions

The Personal Access Token, at a minimum, really only needs the following rights:
repo - all

The other rights were included to make sure the extension worked properly, however it has been proven that the only rights necessary are the above. Update the read me file to only call out the necessary rights.

Issues with Assignees cannot be cloned

Whenever a clone is attempted by Kamino on an issue that has Assignees, it would return a 422 - Unprocessable Entity.

I found this out by attempting to clone an issue for testing purposes and it didn't work. Originally, I thought it might be the label or milestone but after removing those from the new issue to be created, I was still getting the same error.

I then cloned successfully another issue in the same repo that had no assignees. I then assigned myself to the issue I just successfully cloned and got the 422 error. I removed the assignee from the new issue to be created and it cloned as expected.

This bug is fixed as of commit 7bae31a and will be in version 1.7

Sometimes redirecting to the issues list or new cloned issue has problems

  • Sometimes when redirecting to the issues list, the issue that was closed is still in the list.
  • Sometimes when redirecting to the new cloned issue, the issue page doesn't yet exist.

This is due to the navigation occurring before Github's servers have a chance to resolve the actions taken by Kamino. The actions taken by Kamino are happening correctly, but the appearance is that something went wrong.

Doesn't work

v1.5 doesn't work, have the following issues:

Popup is in the top left corner. Clicking ok doesn't work. Booooo

User option to navigate back

User suggestion:

  • I have applied filters to the issues list. Kamino does navigate back to the issues list but my filters are cleared. It would be nice if when Kamino navigated back to the issues list, it kept my filters.

Show top 5 most used repos

Show the top 5 most used repositories in the list first, followed by all other repos sorted alphabetically.

Code cleanup

There are several places where code is replicated such as grabbing the url and parsing. Re-factor the code

Going to a source code screen throws errors in the console

Because the extension is updating every second to make sure the button appears on the issue page, it causes errors to be logged to the console on other pages. Add a check to make sure if there's an error due to not being on the right page, the extension doesn't continue with normal operation.

Settings screen

Create a settings screen.

The only option right now should be a field for the user to enter a personal access token.

Move Kamino section to top of sidebar

User suggestion:

  • The Kamino section kind of gets lost being below Milestones and above Notifications. It would be best if the section is at the very top of the side bar or at the very bottom.

Option to go back to issues list screen

Add a user option for Kamino to take the user back to the issues list screen of the organization for the original issue. Currently, the cloned issue is the landing spot after a clone.

Commenting on closed issue broken

When cloning, the extension should add a comment citing where the issue was cloned and that it was closed. It currently does not work.

Repo list doesn't appear on first button click sometimes

Steps:

  1. Clone an issue
  2. Go back to original issue which should be cloned and closed
  3. Go to issues list screen and pick another issue
  4. Click the clone button

On the first click, the repo list won't appear. Clicking a second time will show the list.

Test PR create bug

Create a PR to test create bug.

Also found some issues with the previous bug fixes

Multiple copies of the clone button is possible

There are scenarios in which the extension will render the clone button multiple times on the issues screen. The extension code should check to make sure the button doesn't already exist before appending to the DOM.

Quick clone feature

Alter the clone button to be a split button in which the left side of the button will clone the issue to the last used repo and the right side of the button will be the usual drop down

Move button to row with other buttons

Whenever the page is partially refreshed, for example, when the issue goes from closed to open, the clone button is wiped out and the page has to be refreshed in order for the button to re-appear.

Try putting the button on the same row as the other buttons to see if this resolves the problem.

Change comment on closed issue

When Kamino is used to close an issue, the comment should say:
Kamino closed and cloned this issue to org/repo so that members know that the issue was moved using a Chrome Extension.

Set length of clone button

The length of the quick clone button can be long due to the length of the repo name. Make the button length a static width and overflow the repo name with ellipsis

Also make sure button says Clone to instead of Clone issue to

Applied filters across repos

Applied filters has an issue in which the filters aren't being cleared when looking at different repositories. Also, if you are searching for something in the Search box, this ends up being applied to the issue filter and it should not.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.