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 - Volume control in Picture-in-Picture! That's in Nightly right now, might roll out to users in Firefox 116. - https://whattrainisitnow.com/ - If you want to hear more about our release model and how "the trains" work, check out Episode 270, around 44m20s in. - WindowsJumpLists! Let's keep going! - TODO - [x] Rename nsIJumpListBuilder to nsILegacyJumpListBuilder - [x] Add createLegacyJumpListBuilder to nsIWinTaskBar to use the old mechanism - [x] Update WindowsJumpList to use the legacy interface - [x] Create a new nsIJumpListBuilder - [x] Document NativeJumpListBackend - [x] Populate nsIJumpListBuilder using the code we developed in the previous iteration - [x] Have createJumpListBuilder in nsIWinTaskBar use that - [x] Figure out why the JumpListBuilder isn't returning the URLs of the previous - [x] It's working! It's just that you have to remember to actually remove the item for it to show up in the list. - [ ] Update WindowsJumpLists to choose the right builder based on the pref and treat them correctly based on that pref. - [ ] Write a gtest for the JumpListBuilder - [ ] Write a front-end test that registers a fake nsIWinTaskbar or otherwise produces a fake nsIJumpListBuilder to make sure it gets passed the right things. - [ ] Make a note to migrate the new jump list builder off of the dedicated lazy thread and use the IO thread pool instead.
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
- 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!
 - How mconley uses Mercurial
 - 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
- @mconley@fosstodon.org on Mastodon
 - @mike_conley on Twitter
 - You can chat with me on Matrix at @mconley:mozilla.org
 - mikeconley.ca/blog
 - mconley at mozilla dot com