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
Migrate community packages into the core and check Meteor 3.x compatibility #13039
Conversation
Styled errors section a bit nicer
Add instructions to unlock control
…ue if locked: "false" because of a user manually resetting it with a string instead of a boolean
…ue if locked: "false" because of a user manually resetting it with a string instead of a boolean
If I run the example as is I get: ``` TypeError: Cannot call method 'getTime' of undefined ```
- Migrations.unlock() is now async
- Migrations.unlock() is now async
- Improves tests reliability - Adds tests for async migration functions
@nachocodoner Is meteor-synced-cron the best alternative out there? I think https://github.com/wildhart/meteor.jobs is the most performant meteor package out there but it's not async ready yet. What do you think? EDIT: out of sheer curiosity, what's the reasoning behind adding these packages to the core? Can you lay out in bullet points style the criteria for packages to be qualified for adding to the core? So many packages are paramount to the Meteor ecosystem yet none was added to the core before 🤷 |
I discussed this task with the team, as it was planned before my joining. The reasons behind the addition, how and why these are included into the core:
Looking into these packages:
Of course, the team can revisit this in the future and bring more packages to the core. For now, those are the ones chosen. |
Regarding |
I'm a bit annoyed that there is talk to migrate the quave versions of migrations and synced cron for two reasons. |
@nachocodoner Thank for you thorough and thoughtful reply. I typically initiate these discussion in order for us to understand things better and reach the best solutions, thank you :) I've a bit of epiphany with this, on one hand, I like the fact that the core team is removing a considerable amount of the load from the shoulders of community package maintainers, primarily @jankapunkt @StorytellerCZ There has to be a very conclusive reason to merge a package into the core. For instance, a crucial package/lib to the community/Meteor that nobody is capable of maintaining regardless of the reasons (time, effort, technical aptitude). The best case in point for this is reify. A package so important to the Meteor ecosystem that when @benjamn left, it had to be maintained or Meteor would've suffered a great deal without it. Also may I add, how nobody dared to touch it but @zodern? I'm tired of Meteor being a one man show but that's a problem for another day.
Matter of fact, I believe the case for collection2 is even stronger :\ So the question remains: why?
If you had joined a little earlier, would this decision still be made? 🤔 What makes things worse is the fact that the core team is heavily understaffed - only three people are tasked with maintaining Meteor @denihs @Grubba27 @nachocodoner The odds gets thinner considering the fact that Gabriel now acts as a developer advocate and not as hands on deck as before. The ETA for 3.0 was February and I don't think we're there yet so why take the spotlight from delivering 3.0 to adding some third packages?? It doesn't make sense. Meteor should be kept light and nimble and not burdened with additional baggage unless called for. I rest my case. EDIT: I think if the core team is willing to undertake such burden meteor-desktop and redis-oplog should be the top picks and the reasons are:
|
I'm for migrations and hooks (which should be a default feature in Meteor IMHO. So I look at it also from that lense. This is where collection2 has a bit more discussion and other packages come up. So I'm very happy with the inclusion of these 3. @harryadel brings out a good point in timing for the inclusion. I think we could get them updated on their main repos and releases first, then maybe move this to v3.1 release, but that really depends on what is more time efficient to get 3.0 out there faster. |
I believe that's a good compromise for both side 👍 @StorytellerCZ Collection2 and it's future has a lot of talking that is way out of scope for this thread. I'll be discussing it soon on the forums. |
I agree on following the proper workflow to reach the releases on the respective upstream repositories, gathering the reviews from the community, and having this process more organically done. I close this PR in favor on follow a better plan on migrate packages into the core. |
fwiw, I think bringing these packages under Meteor core support and having them as optional installs is great. Appreciate y'all doing the work to bring them in. Collection hooks and Migrations in particular make perfect sense. I think having some sort of officially supported Jobs package is a great idea too though I wish a more detailed evaluation was done on which one go with. Number of installs can be a good indication of popularity but doesn't necessarily mean it's the best option, particularly when many of the top installed packages were likely either touted in the Meteor Guide so naturally people are going to choose them or created when Meteor was at peak popularity. I've used wildhart's meteor.jobs package and was hoping it might receive Meteor core support. It's been nice to work with and feels a little more Meteor-like with it's API which feels similar to Meteor Methods in some regards. Maybe it or something similar could be a candidate to receive Meteor core support in the future since I imagine a queue-based Jobs package with error handling would be useful for a lot of people. Regarding the points made above on timing, I would love to see some of the remaining bugs on 3.0 addressed particularly around |
@harryadel for anyone curious I am still around :) I am not following Meteor's development closely these days but back in the days I did propose to build desktop target into the core, hell I did even apply for a job at MDG to which I never got any response ;) Anyways, on a more serious note I will be giving Meteor 3 a shot once it's stable and if that goes well I would be interested in building a more versatile integration system around it so for example integrating with Electron or it's alternatives like https://github.com/tauri-apps/tauri etc. would become a breeze. |
@wojtkowiak nice! Using Tauri seems pretty compelling |
I’d love to see you do some improvements on the Meteor-desktop project, Bartosz. What we’re really doing mostly is updating packages but we’re very far behind with official Electron versions and falling further and further behind. Right now, we’re waiting for Meteor version 3.0 as we can’t update npm packages any further due to being stuck with nodeJS version 14 right now. It still works though and it’s very simple to write and publish an Electron app, for all 3 OS (which is what I do). I’d rather prefer to continue with ElectronJS vs trying something completely new like Tauri or Ionic Capacitor.
To @harryadel - I agree with your post and reasoning. There were actually two other devs (sorry, don’t have their names right now) who helped in fixing some code to ensure we could update to newer ElectronJS versions. IMO, they did the most work on the package in regards to updating it. Unfortunately I’m not only a single programmer in my company (apart from a post-grad which helps a bit on frontend code) but I’m also realistic enough that as a self taught old fart I can do more harm than good to the source code of Meteor-Desktop (or other community projects). |
I'm too quite grateful for the core team on their efforts on 3.0 and don't want it to be undermined by other endeavors, at least for the time being.
@wojtkowiak The return of the Count!! Great to have you, Bartosz.
Don't worry, it's a recurring theme. You're not the only one 🤣 Though on a more serious note, I believe in the same vein that @radekmie is now responsible for Blaze, maybe the same can be for you & @theodorDiaconu. Each one working on his area of responsibility. It'd be a great way to bring the community back together and get the core nucleus of core contributors back! Maybe @fredmaiaarantes has something to say about that! All in all, I'd love to have you back on board with us to help us post 3.0.
Don't be too harsh on yourself, though I definitely understand why meteor-desktop is crucial to your very small team. 👍 |
Definitely! I'm all for the idea and believe that having dedicated people for specific areas can be great! |
See reasons, why and how these packages are included into the core: #13039 (comment)
Keeping history of those packages on getting them here into the core.