Workflow and contribution guidelines feedback #33
Replies: 18 comments 18 replies
-
|
Oh, and... Developer contribution guide
|
Beta Was this translation helpful? Give feedback.
-
Yep, sounds sensible, feel free to add to the Wiki |
Beta Was this translation helpful? Give feedback.
-
Pragmatic approach obviously, but generally I would expect bugs to be triaged by the PO so they can be prioritised in the platform sprint cycles and / or relevant engineers being targeted to fix. |
Beta Was this translation helpful? Give feedback.
-
Honestly, I would say e2e, if something is a priority for a development team, from raising a ticket to it being in production shouldn't take more than a day, plus the time it takes to write the code. It just requires proactive communication - we are all colleagues at the end of the day! |
Beta Was this translation helpful? Give feedback.
-
Completely agree - the component library should be driven by the design system and look to implement it as close to 1:1 as possible, albeit there may be some pragmatic exceptions. |
Beta Was this translation helpful? Give feedback.
-
Yes, but not loads and mostly they are "internal external", meaning other teams in the business outside of the design team, eg UK Digital and PayProp. It's not the core workflow, just something to keep in mind. |
Beta Was this translation helpful? Give feedback.
-
I would say Product and or Design - ideally a design lead process always. |
Beta Was this translation helpful? Give feedback.
-
I don't envisage making many feature changes to v4, however, we have a big estate using it and migrations with breaking changes to v5 are something we need to manage. If say the UK digital team need a new component and they aren't ready to migrate, we should absolutely supply it in v4 if we can. LTS still requires proper maintenance, upgrades to libraries and so on as well. The workflow implemented really only requires one manual step, which is to review and merge a PR post v4 release, back into the beta v5 channel - this shouldn't really be too arduous and certainly preferable to doing the changes in two places. There will be A LOT of breaking changes in v5 hence managing this way, when we've resolved all our naming conventions, and got a v5 we are happy with, we can probably get rid of the two channel approach, knowing fewer breaking changes in v6 and beyond. |
Beta Was this translation helpful? Give feedback.
-
Good spot, fixed! |
Beta Was this translation helpful? Give feedback.
-
I have no issues giving everyone permission, provided we all mindful of the collective and best efforts to not break things :-) |
Beta Was this translation helpful? Give feedback.
-
useId is one I can think of. Not a biggie though, we can easily roll our own useId hook that can be replaced with the native at a later date. TBH, we only dropped 17 support about a year ago so I don't think there are are going to be big compat issues. Can you raise a ticket to investigate and we'll look into it. |
Beta Was this translation helpful? Give feedback.
-
I think we're largely there but yes, we can add to the docs in v5. If you look at how storybook is structured, we typically have a "basic usage" which is the "styles only" laid out in a story and the "React Usage" which is with the added React interactivity. TBH, this is really easy to maintain (we are writing the styles anyway), and don't see why we wouldn't stick to that pattern. In summary, yeah, we're already pragmatic and that's totally fine. |
Beta Was this translation helpful? Give feedback.
-
Agreed, I saw Andrei's work on variable naming, as well as the component name conventions in the design system. Happy to take the hit and fully align with Figma on both for v5. |
Beta Was this translation helpful? Give feedback.
-
Agreed, and happy to discuss always. Experience has taught though, that flexibility reduces issues down the road where people want "foo" behaviour and we don't support, leading to a feature request and more work long term. My sense is most people will have their own wrappers over common behaviours in their applications that make sense to them, for example integrations with their API or preferred form lib and validation tool. |
Beta Was this translation helpful? Give feedback.
-
I think left to the consumer. The overhead of managing releases and maintenance around 3rd party components proved counter productive in the past - you mention your own issues with MUI above for example. Also, different horses for courses - whilst the native date picker isn't very attractive in Chrome, it is extremely performant, works nicely on iOS and android (you get the native mobile controls), and integrates with any form library out the box, with no modifications. |
Beta Was this translation helpful? Give feedback.
-
Can have as many batteries as we like, provided they are generic. So example: InputGroup handles state management, validation errors and so on however, it is not tied to "Reapit API errors" or "Console Errors" - we need to be able to share the library, so we would deal with our own API error handling and pass that error to the component. Hopefully makes sense. |
Beta Was this translation helpful? Give feedback.
-
No, keep it as simple as poss essentially. This is why we feel we made mistakes previously by incorporating third party libs and so on - caused waaaay more problems downstream for upgrading. Since going largely "vanilla" React and CSS, we've had virtually zero compat issues with third party library upgrades like Hook Form and so on. Don't want the tail wagging the dog 😄 |
Beta Was this translation helpful? Give feedback.
-
We're asking for best efforts here and perfection not being the enemy of good enough. New components should at least be functional and look decent at all resolutions - their suitability for all resolutions is a separate question for product and design teams to think about. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
@willmcvay Here's my comments/questions regarding the workflows and contribution guidelines for Elements. Apologies for the wall of text 😬 As I've mentioned previously, it would be great if we can eventually have this kind of document review happen via a more collaborative, close-to-the-source tool, but hopefully Discussions will suffice for now.
General
High-level workflow
Developer workflow
Developer contribution guide
Beta Was this translation helpful? Give feedback.
All reactions