Skip to content
This repository has been archived by the owner on Feb 19, 2022. It is now read-only.

Looking for a new maintainer! #112

Closed
boygirl opened this issue Oct 31, 2018 · 15 comments
Closed

Looking for a new maintainer! #112

boygirl opened this issue Oct 31, 2018 · 15 comments

Comments

@boygirl
Copy link

boygirl commented Oct 31, 2018

This project is in need of a dedicated maintainer. We take open source maintenance seriously, but we don't have the bandwidth to give every one of our projects the support it requires to move forward. We are actively looking for new project maintainers. Please let us know if that might be you! We are happy to help new maintainers transition onto the project, and we are open to any infrastructure or process changes that could make that transition easier.

@boygirl
Copy link
Author

boygirl commented Oct 31, 2018

@bingomanatee any interest?

@bingomanatee
Copy link

bingomanatee commented Nov 1, 2018 via email

@boygirl
Copy link
Author

boygirl commented Nov 1, 2018

The usage is currently quite low (as judged by npm downloads), but we would put some marketing support behind it if someone was passionate about moving the project forward.

@bingomanatee
Copy link

bingomanatee commented Nov 1, 2018 via email

@boygirl
Copy link
Author

boygirl commented Nov 1, 2018

Thank you! I have also reached out to @julien-f who maintains a fork of this project called Reaclette.

@bingomanatee
Copy link

bingomanatee commented Nov 2, 2018 via email

@boygirl
Copy link
Author

boygirl commented Nov 2, 2018

Whoa! That's rad!

@bingomanatee
Copy link

bingomanatee commented Nov 2, 2018 via email

@bingomanatee
Copy link

bingomanatee commented Nov 4, 2018 via email

@boygirl
Copy link
Author

boygirl commented Nov 5, 2018

@bingomanatee I'm soliciting some code review from some of my colleagues, but I love the idea of simplifying where we can.

@bingomanatee
Copy link

bingomanatee commented Nov 5, 2018 via email

@boygirl
Copy link
Author

boygirl commented Nov 8, 2018

@bingomanatee I haven't been able to wrangle anyone with the appropriate context (ha!) to give a thorough code review of this re-write.
Maybe @divmain or @julien-f would be willing to step in.

Either way, I'd like to set you up with all the permissions you need to officially maintain this project. Can you tell me your npm user name?

@bingomanatee
Copy link

bingomanatee commented Nov 9, 2018 via email

@bingomanatee
Copy link

There are a few big changes I want to do in the API system:

  1. expose state and effects inside freactal effects (actions).
  2. allow "NOOP effects" (calls) that call sub-effects but are not themselves responsible for directly changing state
  3. make it easier to write update-style effects (actions) - perhaps splitting the effects collections into three groups, "actions", "mutators", and "calls".
  • actions return objects that behave like setState in react, asserting their properties over the object. (partial update
  • mutators return a new state object that completely replaces the current state.
  • calls return nothing as other effects are inside them internally, they call those and indirectly change state.
  1. import some of the techniques/approach from freactal seed, making it easier to write initializers and effects in one stroke, and potentially to bring in some sanitization of data
  2. synchronize Freactal states with other systems as a built-in feature. This includes local storage, but opens the opportunity to build streaming stores that sync with remote data, REST, sockets, etc.
  3. add reducer hooks both to the injection and the provision . This allows you to more carefully blend parent effects and children effects as well as to write computed state at the injector level. This will allow for computed state to bridge multiple states potentially as it will have access to the net store state. Reducers could take in only a subset of state and inject it into a sub-freactal state, allowing for redux style partial trees. This also means that you have more freedom about deciding how to express freactal state into child views; for instance you could write a reducer that writes state state directly to props, or that writes a "freactal" property to props with state and effects, etc.
  4. Expose the core store as a class so that you can write your own adaptive layer between a store and a view for any framework you choose
  5. expose a "state" context, so that for views that want read-only access to store from their parents you can exploit the context directly and listen to store changes.
  6. adopt xStream under the hood as a reactive state engine to make it easier to react to state change, observe micro-events, etc.

Obviously this is more than just maintenance; probably this more resembles the "Angular 2 breach". A big stamp for "Freactal 1x" would have to be made. But given current adoption rate, what do we have to lose?

thoughts?

@boygirl
Copy link
Author

boygirl commented Nov 9, 2018

@bingomanatee at this point I would like to consider you the official maintainer for this project, so how you want to go about this will be mostly up to you. You're welcome to announce/document your involvement however you like. Since we're still hosting it on our org, we want to make sure the quality of the project and associated documentation stays high, but the implementation will be totally up to you. I do ask that if you transition the project to your Context rewrite that you're careful to document any user-facing deviations from the original and publish some kind of migration guide for folks if necessary.

I also spoke with @julien-f and while he isn't interested in maintaining the project, he is willing to help out here and there.

Thanks so much for stepping up! I'm going to close this issue now, but feel free to email me directly at lauren.eastridge@formidable.com

@boygirl boygirl closed this as completed Nov 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants