Reminder - no plan survives breakfast.
- Feel free to send pull requests to the repo!
- Here’s a contributing guide!
- Here’s the guide for creating pull requests that smurfd used and recommends!
Today
- - Work on downloads sidebar
- We'll create a simple version of Downloads in Firefox View, with a shared base component
- Then the FxView and Sidebar variants inherit from that shared base component
- Don't actually worry about FxView, but have the base component none-the-less.
- We'd have a version of the list that lists the items
-
- See if we can factor out the existing download panel item UI into a domain-specific reusable component that can be used in different contexts (primarily, I'm aiming for this to be storybook-able)
- window
- DownloadsPanel
- DownloadsView (added as a listener to DownloadsCommon)
- DownloadsViewItem represents a download, and hears about updates
- How do we make Downloads View UI storybook compatible?
- Doesn't necessarily mean the first step is converting to Lit! The first step is perhaps to not use XUL.
- Convert richlistitem to moz-richlistitem HTML element
- ~~Do this next week (I should clear this with the ReComp team)~~ <-- don't need to do this first
- Convert richlistbox to moz-richlistbox HTML element
- ~~Probably slightly easier than moz-richlistitem (clear this with ReComp team)~~ <-- don't need to do this second
- Convert DownloadsViewItem to use HTML elements <-- let's do this!
- The ReComp team suggested a different approach, which is to make the DownloadsViewItem to use HTML elements AND to make sure it's agnostic / not bound to richlistitem / richlistbox. The upshot meaning we can continue using it, but don't need to do the richlistitem/richlistbox conversion.
- We'll use moz-box-group instead, and see what gaps we find. The multi-select gap is an obvious one, but that might be acceptable to start.
Chat
- Join us in the Livehacking room on Mozilla’s Matrix instance! Here’s documentation on how to join. I’m only sorta monitoring the Twitch chat. A bot will try to bridge Matrix and Twitch (joc-bridgebot).
Links
- Nathan Baggs
- Felicia Bacon
- nbp hacks on the SpiderMonkey JS engine
- Alessandro Castellani has been streaming himself livehacking on Thunderbird
- emilio hacks on Firefox!
- Compiler Compiler - watch a Mozilla engineer hack on the SpiderMonkey JavaScript engine!
- Andreas Kling hacks on a custom browser engine for a hand-rolled OS called SerenityOS
- The Joy of Coding: Community-Run Episode guide
- Feel free to send pull requests to the repo!
- Here’s the guide for creating pull requests that smurfd used and recommends!
- I've been mirroring the episodes to YouTube
- Code Therapy with Danny O’Brien
- Watch a developer put together a Windows game from scratch (no third-part engines) - really great explanations: https://handmadehero.org/
- /r/WatchPeopleCode for more livehacking!
Glossary
- BHR - “Background Hang Reporter”, a thing that records information about when Firefox performs poorly and sends it over Telemetry
- e10s ("ee ten ESS") - short for Electrolysis, which is the multi-process Firefox project
- CPOW ("ka-POW" or sometimes "SEE-pow") = Cross-Process Object Wrapper. See this blog post.
- Deserialize - "turn a serialized object back into the complex object”
- Serialize - "turn a complex object into something that can be represented as primitives, like strings, integers, etc
- Regression - something that made behaviour worse rather than better. Regress means to “go backward”, more or less.
- l10n - localization
- a11y - accessibility
- i18n - internationalization
- k8s - kubernetes
Feedback
- https://fosstodon.org/@mconley/ on Mastodon
- You can chat with me on Matrix at @mconley:mozilla.org
- mikeconley.ca/blog
- mconley at mozilla dot com