Skip to content
This repository was archived by the owner on Jul 13, 2024. It is now read-only.
This repository was archived by the owner on Jul 13, 2024. It is now read-only.

👋 Looking for maintainers #328

Closed
Closed

Description

@nicoespeon

Hi everyone!

I just became dad few days ago 🎉 🍼

Thus, it became clear to me that I need to focus my energy and limit the number of project I run in parallel. In terms of personal open-source side-projects, I'll focus my efforts on Abracadabra, a VS Code extension that provides automated refactorings for JS / TS.

It has been a long time I'm running Gitgraph.js with my friend @fabien0102. We created this project so we could easily draw simple git graphs, directly in the browser, to use for blog posts and presentations. These days however, I don't use it much anymore.

However, you can see with the currently open issues that people have different, interesting suggestions to cover more use-cases. Also, there are bugs to fix. Finally, the overall documentation of the library could be improved.

I won't have the time & energy to tackle these. Not in my foreseeable future at least. Thus, I'm looking for new people to maintain the library and take over the project.

I'll be able to provide guidance and onboard you on the project if you want. You'll see that the dev environment is "not that bad", with features essentially covered with tests (unit & E2E).

Let me know if you're interested. In the meantime, be aware that I won't work on the open issues myself.

hack-tv

Activity

  1. pinned this issue on Oct 11, 2019
  2. marekyggdrasil commented on Oct 13, 2019

    @marekyggdrasil
    Collaborator

    @nicoespeon indeed managing such project is time consuming and it is understandable you have to prioritise to keep everything going.

    I reviewed gitgraph.js repo and I find it understandable and test coverage is good as well.

    I have some fresh ideas, I think this library could be used for more than just git graphs, personally I use it to take notes (in my research work I often have to explore many ideas simultaneously and at some point I realised git graphs with branches are good way to keep track of what is going on).

    As you said you don't use use it much anymore, while for me it is a tool I use daily at work so I would like to help you out and dedicate some of my time to keep it running, resolve issues, bugs, help with docs etc.

    If you want me to join in, feel free to reach me either here, e-mail or gitter, whatever the mean of communication you prefer.

  3. nicoespeon commented on Oct 13, 2019

    @nicoespeon
    OwnerAuthor

    @marekyggdrasil awesome. I'm on mobile right now but I'll reach you out next week to set you up with everything you need. Thank you, a lot ❤️

  4. nicoespeon commented on Oct 18, 2019

    @nicoespeon
    OwnerAuthor

    @marekyggdrasil I don't know if you saw that, but I replied to you with all details on Gitter 😉

  5. marekyggdrasil commented on Oct 19, 2019

    @marekyggdrasil
    Collaborator

    Sorry for delay, replied! I'm onboard!

  6. lorarjohns commented on Oct 26, 2019

    @lorarjohns

    Hi! I've just spent the last couple of days so enamoured of gitgraph that I've been wandering around in the codebase and writing custom code with it for hours. if you'd like another helping hand I'm happy to assist :)

  7. nicoespeon commented on Oct 27, 2019

    @nicoespeon
    OwnerAuthor

    Hi @lorarjohns 👋

    I think it would be awesome if you could assist indeed. I'll add you as a collaborator too, so you can help @marekyggdrasil who started replying to the currently open issues.

    Regarding Gitgraph.js maintenance, here's what I shared with Marek, so anyone have a transparent view on the current status of the lib:

    Here's my TL;DR of the good things of Gitgraph.js v2

    • Separation of the core from the rendering libs. It means we can provide the library in different technologies (React, vanilla JS, Angular, Vue, etc.). It's not tied to the DOM, so I even did a POC of node.js rendering that would work in the CLI (but it doesn't work anymore as we changed the core and I didn't update the lib).
    • core has been tested a lot. It was not 100% implemented in TDD, but most of it was! Also, most tests focus on the final output, so it's quite flexible for refactoring.
    • We have visual regression tests for free thanks to Storybook & Chromatic QA. This + unit tests of the core means we are really confident we don't break things when we do changes and the PR checks are all green 👌
    • The dev environment should be quite easy to set up. I tried as much as possible to keep things simple, so you can just run few commands and it works.

    On the lowlights that could be improved:

    • The internal design of the core mimics a lot what was done in v1. I don't think the current model is the best. It might be a lot of work to change that. But thanks to tests, it's still quite doable IMO.
    • Some unit tests can be a bit complex to read, because of the "visual" nature of the lib. A lot of things are about {x,y} positions, so it's not always easy to visualize what it should be.
    • The separation of "core" and the rendering libs is not perfect. Some code is duplicated among the different rendering libs and should be pulled back in core IMO.
    • Because we want almost everything to be configurable, it adds a lot of complexity at different level of the lib (e.g. styles in templates that you can override at different levels, in the different methods).

    Regarding what would be great to tackle next

    First, we could go through the current list of open bugs & questions, to help people.

    Then, we should do a better work at documenting the usage of the library. I quickly tried to make a nice website based on slides, but I'm not happy with the final result. People need a good documentation. v1 documentation was not complete (far from it), but it was better. I think this is one of the most important things to fix. Related issues are #274 #275 and #278.

    Concretely for the next steps @lorarjohns 😉

    1. I'm adding you to the list of Gitgraph.js collaborators
    2. You should be able to clone the repo, install dependencies, run the tests locally, etc. Let me know if you have troubles with it.
    3. I suggest you pick any issue you'd like to work on. Just try to keep a small scope at first. Then, try to fix it. Ask me anything if you need help / support / thinking about the approach. The idea is for you to get familiar with the codebase so you can be autonomous. You can also open a draft PR with your changes. I'll do my best to give you answers asap so you can become productive on your own.

    Most of all, don't worry to take decisions. It's open-source, so very open to changes and improvements.

    I'm mostly here to help understand the decisions that were taken and the strategy that was behind. But it should serve your needs (and the one of the community).

    Hopefully, the library will be even more helpful to everyone.
    Thank you!

  8. mikstur commented on Dec 13, 2019

    @mikstur

    @nicoespeon congrats on becoming a dad!

    I just recently came across this library as I am looking to implement some visualizations that look similar to git branches. I am also primarily working with angular.

    Therefore, I might be able to contribute some changes to this repository as well, specifically perhaps an angular wrapper/implementation. Can you please add me as a contributor?

  9. jd-porter commented on Dec 24, 2019

    @jd-porter

    @nicoespeon are you still looking for contributors? I've been using gitgraph off and on for a year & just saw this pinned issue. I'd love to help out.

  10. nicoespeon commented on Dec 25, 2019

    @nicoespeon
    OwnerAuthor

    @mikstur & @jd-porter sure. Sorry for my late reply, I've been off for the past week. Adding you both quickly right now 👍

    So technically you'll be 4. Thank you for that!

    Also, if you finally can't help maintaining the library just let me know, that's fine! I'll check in a few months as I wouldn't like to have a list of 10 contributors with no-one actually contributing 😉

  11. deanrad commented on Mar 11, 2020

    @deanrad

    The slides and storybook are so, so awesome, and i would be proud to maintain this (and think all the stories you have would make it really relatively easy). That said - I'm a dad of 2 so I'll look for mentions but can't promise anything right now!

  12. S1ngS1ng commented on Mar 16, 2020

    @S1ngS1ng
    Collaborator

    @nicoespeon If you are still looking for maintainers, count me in as well.
    Yesterday, I found an issue that I thought I could work on. I made changes today and already opened a PR.
    If there is any other bug/enhancement that I can get started with, please do let me know. Thanks

  13. erickhagstrom commented on Mar 16, 2020

    @erickhagstrom

    Congratulations @nicoespeon! I'm a dad of 9, so yeah, I get it. The first one is the hardest. Until the second one comes along. :-)

    I have a lot of irons in the fire so can't commit to anything just yet, but I like what I'm seeing here and will use it extensively, I'm sure. We'll see if I can make this more than just an occasional fling.

  14. nicoespeon commented on Mar 18, 2020

    @nicoespeon
    OwnerAuthor

    Thank you @S1ngS1ng and @erickhagstrom 👍

    It has been quite some time since I touched this repo. I give it a look from time to time but I don't have much time to do more than answer a few questions and review PRs (thanks there are automated tests!).

    Help will be welcomed 😉

  15. NotMoni commented on May 6, 2020

    @NotMoni

    @nicoespeon I am available to help and maintain 🦄

  16. 11 remaining items

  17. crutchcorn commented on Nov 24, 2020

    @crutchcorn
    Collaborator

    We have a decent suite of tests that would help you make sure you didn't break existing scenario.

    I admittedly did not know about the visual regression testing that was setup for CI. It's certainly robust and super impressive! I didn't even know about using storybooks for visual testing, but I think it looks great!

    I can also add you as a contributor if you're willing to do more changes.

    I'd be ecstatic to be added as a contributor! I'll be creating a React Native package on top of my refactor and cleanup work with React.

    For some context of my usage, I'm the owner of @oceanbit-dev and we're building a open-source React Native Git client (GitShark) and we intend on using gitgraph.js for some of our UI. As such, we'll be investing a lot to try and make sure this library is production-ready

    I look forward to more code reviews and collaboration in the future! :D Thanks for being so welcoming!

  18. nicoespeon commented on Nov 26, 2020

    @nicoespeon
    OwnerAuthor

    Hey, that's really cool! GitShark looks like a cool product as I don't know anything with a decent UI to really use on smartphones 👍

    For the record, the best Git GUI I know (and use) is https://gitup.co/. I mostly like the keyboard shortcuts + ability to commit per line + ⌘ Z to revert when you mess up something. It's not perfect though, but it's light and efficient.

    I made you a collaborator, that should ease your future contributions. Basically, I'm here to help you if you have any question, but I won't be maintaining the lib anymore so feel free to take decisions about the direction you want to give it.

    Originally, this library was a side-project meant to draw git graphs easily in the browser. Short graphs, for presentations or blog posts. Which means it works, but there's a lot of scenarios we surely don't handle when it comes to real-life graphs, from git log. We started to experiment with that, but we didn't get too far 🤷‍♂️

  19. nicoespeon commented on Nov 28, 2020

    @nicoespeon
    OwnerAuthor

    @crutchcorn I see you started merging PR, that's great 👍

    You may need help to publish new versions. If you want to do so, let me know. I can do them at first, then see how to give you the access rights (hopefully we created a dedicated scope on NPM so I should be able to let other people publish).

  20. crutchcorn commented on Nov 30, 2020

    @crutchcorn
    Collaborator

    @nicoespeon that would be fantastic! I'm far from new to publishing to NPM and would love to be able to publish when new releases are needed if that's something you'd feel comfortable offsetting! :D

  21. nicoespeon commented on Dec 1, 2020

    @nicoespeon
    OwnerAuthor

    @crutchcorn yep, we created an organization. I invited you to it. You should be able to see the invite and that should allow you to publish new versions 👍

  22. andreasonny83 commented on Dec 2, 2020

    @andreasonny83
    Collaborator

    Hi @nicoespeon . can I be part of that as well by any chance?

  23. nicoespeon commented on Dec 5, 2020

    @nicoespeon
    OwnerAuthor

    Fair @andreasonny83, you helped contributing to the code recently so I agree you should be part of it too 👍

    I've send you an invite. Please get in touch together to get in sync on how you want/plan to publish new releases.

  24. gsGupta11 commented on Feb 15, 2022

    @gsGupta11

    Hii @nicoespeon, I have been using this library from couple of days now. Firstly It an awesome library.
    I have seen requirements which your extension lag and they can be very useful in various scenarios.
    It would be great if you could add me as a maintainer. I would love to contribute to this library.

  25. nicoespeon commented on Feb 19, 2022

    @nicoespeon
    OwnerAuthor

    Hey @gsGupta11 👋

    I'm glad to hear that and this project would indeed benefit from having some active maintainers.

    Considering I've added a lot of maintainers already without much success, I would prefer for candidates to first contribute with some PRs (that I can review) before adding more. Thus, please contribute to the project. If you keep an interest in the project, I will be very happy to make you a maintainer 😃


    As a 2022 update on this thread: I'm still NOT maintaining this project anymore. My focus is still on Abracadabra and other projects (work, personal & family) so I really don't have time to dedicate to this lib anymore. It's still open to use/fork/fix… or contribute and step-up to become a maintainer 😃

  26. aicioara commented on Sep 25, 2022

    @aicioara
    Collaborator

    Hello @nicoespeon . I discovered this repository while preparing a presentation and I dug into the issues, PRs and code when I discovered that multiple branch labels on the same commit were not possible (and I needed that).

    I am interested in giving back to the community and volunteer as a maintainer if you are still looking for one.

    As part of that responsibility, I am happy to do the following:

    • Set aside time either once a week or once a month and address all of the outstanding issues and PRs. There are many issues that are just questions and can be easily addressed (example Is it possible to merge a branch to any commit Sha of other branch? #416)
    • In the same spirit as the previous question, I am happy to improve the documentation for every question that I close. If one person had a question, it is possible that 9 other people had the same question, but they just did not ask
    • I am happy to update the dependency list periodically and make sure the project always compiles with the latest LTE nodeJS without deprecation warnings
    • I am happy to implement some of the missing features that I personally need (git reset comes to mind, multiple branch labels per commit as well), if approved (also see below)
    • I can add some automation using GitHub Actions for basic automation tasks, similar to the work that I did for https://github.com/aicioara/til/blob/master/.github/workflows/generate-readme.yml
    • Fix the build system. At the moment the project does not compile on Apple Silicon (and maybe on Intel as well). I got it to work at Got GitGraphJS to compile aicioara-forks/gitgraph.js#1, so I can clean that up and improve the system and the documentation.

    As part of this position, I will not do the following:

    • I will not overhaul or refactor the library, besides basic linter changes. I personally think that the library uses too many layers of abstraction (public API, core API, JS API) that gets some users confused (example Is there a way to set a default author for a branch? #414 (comment)). It is not my wish to change the original architecture/design/philosophy of this project
    • In the same spirit as the above, I will not publish new features if there is no sign off from the original authors. New features increase the API surface and add potential bugs. I am perfectly fine with my fork for my needs, unless, of course, you appreciate those additions
    • I will not prioritize this work over my full-time-job, so this will be a week-ends-and-evenings kind of thing.

    I just wanted to set the expectations properly. If that sounds good to you, please let me know what would be the next steps.

    I also noticed that prior contributions are expected from candidate maintainers. I have a polished PR that is open for your review at #421. I also managed to get multiple branch labels per commit to work at aicioara-forks#2, and I plan to clean that up and open it up for review in easy-to-review pieces.

  27. nicoespeon commented on Sep 29, 2022

    @nicoespeon
    OwnerAuthor

    Finally delivered my talk yesterday, so I took the time to check out your messages here @aicioara

    You got this! I'm impressed with your communication skills and you already started proving contributions. I made you a contributor.

    I'm not in a position to lead new features and API changes, or restructurations of the code. I'm not using the lib anymore, so I can't spend my limited free time on maintaining this anymore. However, I'll dedicate time to support you if you are willing to give a hand.

    And yes, no need to prioritize this over other commitments you have. Just answering questions and improving docs for actual users of the lib is much better than nothing! But in the end, it's benevolent work. Thus, anything you are willing to give is great, but don't feel pressured in any way 😉

  28. nicoespeon commented on Sep 29, 2022

    @nicoespeon
    OwnerAuthor

    Let me know if you need my help to understand or review something. I also know that @crutchcorn is around.

    I don't guarantee answering promptly, but I will do my best to give some time if that's to help you maintain the lib 👍

  29. thomscoder commented on Oct 2, 2022

    @thomscoder

    This is an amazing work indeed and I'll be using Gitgraph for Harmony. While I'll be implementing it I could give a hand or two with mantaining this, if still needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    📦 ArchivedOpen issues when project was archived

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions