namespace-ee / react-calendar-timeline

A modern and responsive react timeline component.
MIT License
1.91k stars 613 forks source link

Is this repo being maintained? #855

Open chickendiver opened 2 years ago

chickendiver commented 2 years ago

Looking to see if this repo is maintained anymore, or if a transition plan is in place.

Looks like there are plenty of recent PRs, but no activity since November from the repo's primary owner.

If this is being maintained, or if there is a fork that is being maintained regularly to keep this alive, please say so in the thread below!

jimmywim commented 2 years ago

Nope, completely dead from what I can tell.

And from 488 forks, it'll be hell to tell which one is the most active.

bflamand commented 2 years ago

Anyone has an active fork with support for react 18 ?

Ilaiwi commented 2 years ago

looking for maintainers

gerich-home commented 2 years ago

Anyone has an active fork with support for react 18 ?

  • fix for the "componentWillReceiveProps" issue?
  • and ideally typesccript fixes for react18 also? (i know they are maintained elsewhere...)

Looks like some folks try to upgrade to the latest React in their forks. See this commit https://github.com/cm-xlabs/react-calendar-timeline/commit/8cebc8c368f35d0602c9114681c12ccd6b8f751a in https://github.com/cm-xlabs/react-calendar-timeline

@aholtkamp could you please tell what is the current status of your fork, what is remaining to upgrade to React 18?

aytech commented 2 years ago

I've upgraded my project to react 18, and everything works with the timeline. I had to do some smaller modifications, like async groups breaking the dragging, other than that it seems to be compatible

aholtkamp commented 2 years ago

Anyone has an active fork with support for react 18 ?

  • fix for the "componentWillReceiveProps" issue?
  • and ideally typesccript fixes for react18 also? (i know they are maintained elsewhere...)

Looks like some folks try to upgrade to the latest React in their forks. See this commit cm-xlabs@8cebc8c in https://github.com/cm-xlabs/react-calendar-timeline

@aholtkamp could you please tell what is the current status of your fork, what is remaining to upgrade to React 18?

Initially we just wanted to get rid of the warning about "componentWillReceiveProps". While fixing this was easy we wanted to make sure that the tests also run in React 18 to get a rough impression if everything works as expected. This actually was the major part if the upgrade as it required third party upgrades and getting rid if enzyme.

So current status:

Probably upcoming:

Ilaiwi commented 2 years ago

@aholtkamp are you are interested in maintaining the library?

aholtkamp commented 2 years ago

@aholtkamp are you are interested in maintaining the library?

Too early to say, we just started with the component in our project. However, if any of these changes has a chance to be included in a release coming from this repository I'd like to contribute by creating a pull request.

MertHaddad commented 1 year ago

I am interested in contributing if there's someone still working on it

florianbepunkt commented 1 year ago

@MertHaddad I'm evaluating to pick this up and started working on a fork, based on other forks and PRs. But it is in a very initial phase.

Some technical goals:

@Ilaiwi How stable are the tests for this project? What is your level of confidence in them?

I can't promise anything, but we are using this library in a project we would like to continue. I will report back, once I jave something more to show, but it might be a few weeks to months. If anyone has tackled typescript refactoring for this project, please let me know.

Ilaiwi commented 1 year ago

@florianbepunkt the unit tests are solid but the coverage is not great. I would recommend checking this fork.

florianbepunkt commented 1 year ago

@Ilaiwi Oh, this is perfect. Thank you.

Ilaiwi commented 1 year ago

@florianbepunkt please let me know about the progress you do. Since I don't really use this library anymore it is hard to evaluate forks.

MertHaddad commented 1 year ago

@florianbepunkt We're using it in a project as well, so let me know if you need a help.

florianbepunkt commented 1 year ago

Quick update. Time is limited, but I used the fork @Ilaiwi mentioned above as a base. Here is what works so far:

The problem is that I need to reimplement a lot of the tests.

Also, while moment as a dependency is gone, currently there is a lot of moment.js legacy glue code... e. g. format tokens that are used by moment.js but are non-standard. Ideally, I would like to get rid of this and move to date-fns, as it uses native date objects / timestamps.

@Ilaiwi What are your future plans? I likely won't have the bandwidth to add features to this repo. We use a certain feature set for our project, so not sure what to do with my work, once it's done. Let me know, if you want a pr, but it would be quite heavy...

Ilaiwi commented 1 year ago

@florianbepunkt I would be happy to review your PR and help merging it to the repo. If all went well I would definitely add you as a maintainer. Please take a look at this PR https://github.com/namespace-ee/react-calendar-timeline/pull/819

florianbepunkt commented 1 year ago

@Ilaiwi Is there a way I can reach out to you in case of questions?

Regarding the markers... I don't understand the structure / reasoning behind src/lib/markers/public and src/lib/markers/implementations. Could you explain?

florianbepunkt commented 1 year ago

@Ilaiwi @MertHaddad Here is my current progress: https://github.com/florianbepunkt/timeline

Basically I merged some PRs, modernized the code base, added living documentation (stories / type annotations) and increased developer experience.

There are a few areas I need help with:

If someone wants to help out with that, this would be great. Otherwise, I can create a PR, but the changes are huge, so not sure if this has a chance of being merged.

NatsGt commented 10 months ago

@Ilaiwi @MertHaddad Here is my current progress: https://github.com/florianbepunkt/timeline

Basically I merged some PRs, modernized the code base, added living documentation (stories / type annotations) and increased developer experience.

There are a few areas I need help with:

  • I believe the test coverage could be increased
  • I had problems with the scroll element tests as well as one test that marked as skipped
  • More stories could be added as living documentation for certain features

If someone wants to help out with that, this would be great. Otherwise, I can create a PR, but the changes are huge, so not sure if this has a chance of being merged.

You think your changes will be merged anytime soon? or do you have other plans for your repo? I would really like to have an updated version of this library.

florianbepunkt commented 10 months ago

@NatsGt I believe not. I abandoned the fork, since the maintainer of this repo had no free time available to answer open questions and help to get a PR in shape. It's okay, it's OSS and every one has only so much time to spare. Currently I'm using a modified version https://github.com/florianbepunkt/timeline in a project – so my repo is not up to date. The modified version is working okay, but has some issues / unfixed bugs. I can update my repo, if you like, and would be happy to review / merge PRs for bugs. But I don't have time for reviewing / accepting major feature additions. If that sound okay to you, please let me know.

NatsGt commented 10 months ago

Yeah, I would really like to get at least a stable updated version of this, thank you for taking the time and effort. I will definitely check your repo. Also, kudos to the creator of this library, you did a great job.

florianbepunkt commented 10 months ago

Yes, the creator of this lib did a great job. I pushed some changes to the repo. Please note that I sometimes experience a bug, where the initial timeline view is exactly behind the events... meaning you get a blank canvas in the beginning and have to scroll to the left. Also there are some glitches when resizing items.

rjray commented 10 months ago

I have a huge bug, and I don't know what to do if this repo is abandoned because this is literally the only component that provides this UI.

My company uses this for scheduling resources in a private cloud provisioning system. When a new item is added, the first time the calendar is re-drawn the new item bears the title of a different item in the list. The next re-render corrects this. It seems like an internal list of item-to-group mappings is slow to update when either (or both) of the groups or items properties changes.

I have tried memoizing the content, removing the memoization of the content, copying the array that is passed to the items property, etc. Everything I can think of, I've tried. I've dumped the content of that array prior to the rendering and confirmed its correctness, but it still displays incorrectly. In the README, it says that all props need to be immutable, that changes mean that a whole new value is required. I am (somewhat) sure that I am meeting this requirement.

I've written to @Ilaiwi and offered to try and help (even to see if my company would let me spend some company-time on it), but gotten no response.

I understand the hazards and limitations of relying on volunteer-led OSS work (I've been contributing to various OSS projects for 30 years, and yes some of them are pretty stale), but with no alternative to this component I fear I'm going to have to re-engineer something from scratch for my company (which they may or may not let me open-source).

Ilaiwi commented 10 months ago

@rjray Sorry looks like I missed your email. Would be happy to help.

josiah-brown commented 9 months ago

I'm running into a bug calling the useState hook inside the itemRenderer prop method. Looks like it's due to an old version of react.

@florianbepunkt I'm new to the OSS world but would be happy to help contribute to get your updated branch merged into production. This library is awesome and I've got time to spare.

mariofornaroli commented 3 months ago

Hi @florianbepunkt I would be interested in getting the latest stable version of your fork including react 18, Typescrypt and functional components (among other improvements) and contributing to the code.

If you think your changes will not be merged anytime soon due to the lack of time from the author (kudo to him for the wonderful job done), do you consider forking the repository and publish a new package under a different name or version?

I think it is really worth it to ensure this valuable projects continue to receive updates and maintenance.

rjray commented 3 months ago

Unfortunately, despite my intention to contribute to this project, my work responsibilities have increased to the point where I cannot add anything here. Additionally, while we are currently using this component we are doing a large-scale redesign of the application and will not be using this component in the new version. I was able to solve the issue we had, by adding a layer of abstraction between the generation of the data and the rendering of the Timeline component. So I will probably not need to comment on this any further.

jabidof commented 3 months ago

@rjray Just curious, which component are you going to use for your redesign?

Thanks

rjray commented 3 months ago

@rjray Just curious, which component are you going to use for your redesign?

Thanks

We're changing the structure of the part of the app that currently uses this component, so we won't need a similar (replacement) component at all. Our current use of the component is for a resource reservation system, in which users view the availability of test platforms and reserve them as needed. We're basically changing the way the users search for available platforms, and will no longer need to display them as a timeline.

jabidof commented 3 months ago

@rjray Just curious, which component are you going to use for your redesign? Thanks

We're changing the structure of the part of the app that currently uses this component, so we won't need a similar (replacement) component at all. Our current use of the component is for a resource reservation system, in which users view the availability of test platforms and reserve them as needed. We're basically changing the way the users search for available platforms, and will no longer need to display them as a timeline.

Got it! Thanks for sharing.