--- robots: nofollow, noindex tags: status --- # August Project Cycle: (August 3 - August 28) ## Quick links [Fluent UI Roadmap](/zS7XP735R76Si87i7aI2Aw) ## Projects for August |Project|Status|Contributors| |---|---|---| |[Strict mode compliance (function component conversions part 2)](/lNERyu8eQZG84OKVmSw93Q) | [github project](https://github.com/microsoft/fluentui/projects/35) continued in sept| Elizabeth | | [v8 release details](/jnJVbaYLTVePY5xkN_X6Dg?both) | continued in sept | Elizabeth, Xu | |Doc clean up, First run experience, github readme and wiki (wc,v7,v0)| PR open |Levi| |Integrate button into teams| Morphed into Sept |Levi, David| |[UI Builder](/YWMxmuXPQDWWueakhXWcTg)| Continued in Sept |Lukas| |[Collaborate on hooks approach](/eU066QN-Tgq1IJWQzJOXvA)| Continued in Sept |Marija| |[UI Builder, ](/5nq725ewQ4mclX51ekIk9Q) validate token: Corner Radius|small|Xu| |[ThemeProvider support for button(v8)](https://hackmd.io/NPPqOc6rThmXNLP7aAVx3A)|Reviewed|Xu| |[Button variations](https://hackmd.io/mOVPAt4YSLeSojzaXFD3nQ)|Needs Review|Xu| |Compose bug fixes/tweaks - v8| Continued in Sept |David| |[Button - Flight in Ribbon](https://hackmd.io/9N7AO0frR2u27-a1WAF95g)| Waiting on WAC |David| |Button migration guide for v8|tracked in v8 tasks|David, Mak| |[Cards scenario for office.com: ](https://hackmd.io/X8zPltRoRlux3M5fjsLDBA) Avatar, Icon, common Card proof of concepts, Link, Tooltip [lead up to Ignite-Office.com](https://hackmd.io/dJBoKptKQ4WOa1aBevyfaw#)| Avatar PR out, Image finished |Mak, Shift, Ben, Roman?| |[IE11 polyfill work and testing](https://hackmd.io/W81dCAkrTxeSte-ODBoexQ)| PR out, move to soft fork|Tomi| |Codemod to compat layer and how-to codemod doc| PR out today |Jon| |Support concurrent mode in Pickers|[github project](https://github.com/microsoft/fluentui/projects/35) move floating picker to v8|Jon| |[CodeMods for props - Intern edition](https://hackmd.io/6qiWVLzpTuqXVRtQGDf6Yg?view)|Wrapping up|Trip| |Use new button in OUFR|Starting soon|Tomi| |Shield|N/A|Mak| ## Other updates - Issues standing up new packages in v0. Need to manually build packages first. - Marija to book a meeting later this week ## Strict mode compliance (function component conversions part 2) (Elizabeth) ### Week 3 - 8/17 #### Achievements - More progress on components - All work items tracked #### Objectives - Lock down who is doing Lists - Focus on PR review - Ask: If there is a function component PR up on a component you know, please prioritize reviewing #### Learnings ### Week 2 - 8/11 #### Achievements - Organizing and reviewing PRs - Good progress from Michael #### Objectives - Follow up with Caleb - Follow up on Lists (Thomas) - Justin to send mail to coordinate #### Learnings ## v8 release details (Elizabeth, Xu) ### Week 3 - 8/17 #### Achievements - [Ask] Need help landing plans and work for v8 release - We have estimates for most of v8 work, setting up work in github project/milestones to track - Breaking down work into "Need by beta snap", "Need by Beta", "Need by release" - Tentative date of early Novemeber for final v8 release (Beta in Mid October) #### Objectives - Need to work out uifabric package renames, major lockstep? - Finish adding work items to github #### Learnings ### Week 2 - 8/11 #### Achievements - Really close to identifying full set of work - Ironing out logistical aspects - Follow up with details offline #### Objectives - Identifying a list of work, need owners for areas, and estimates - e.g.: - Button - Codemods - Pickers - Ask: If you have issues that you know need to go into v8 use fluent UI v8 label on issues #### Learnings ## Doc clean up, First run experience, github readme and wiki (wc,v7,v0) (Levi) ### Week 3 - 8/17 #### Achievements - Outline of update to readme - Highlight 3 centers of gravity (react, react-northstar, web-components) - Please review: [GitHub Readme / Wiki updates](/Swm709j1TxqaFW6Pb7q9EA) #### Objectives - Stand up PR for changes to repo #### Learnings ### Week 2 - 8/11 - Not started #### Achievements #### Objectives #### Learnings ## UI Builder (Lukas) ### Week 4 - 8/24 #### Achievements - Finished all of the tasks except for one #### Objectives - Merge open PR - Finish up the remaining task #### Learnings ### Week 3 - 8/17 #### Achievements - Added new tasks proposed by Levi & Shift - Merged significant portion of the tasks #### Objectives - Finish up the integration of Fabric #### Learnings - TODO: Problem with JSON.stringify, talk to Miroslav ### Week 2 - 8/11 #### Achievements - Mostly done with tasks in project - Identified some new issues #### Objectives - Finishing tasks in project - TODO: Levi, David, Lukas go over style in iframe challenge #### Learnings - Challenges with Fabric components (styles not applying in Iframe) ## Collaborate on hooks approach (Marija) ### Week 3 - 8/17 #### Achievements - react image pull request merged - v0 component - button - replace compose functionality - Feedback discussed w/ David - FYI: New react utilities package #### Objectives - Finish off v0 button doc page and scope - Changes to how children work in components #### Learnings ### Week 2 - 8/11 #### Achievements - Productive week, hooks in react image, draft PR #### Objectives - Experimenting with how accessibility can be tested - Sync tomorrow to discuss slots - Next steps work on more v0 components #### Learnings ## ThemeProvider support for button(v8) (Xu) ### Week 4 - 8/25 #### Achievements - ThemeProvider to support `applyTo` prop (apply theme to body) - scaffolded new `@fluentui/theme` package - Postponing v0 -> v8 theme conversion since it's not v8 blocking - RE: apply theme to target window: David added `react-window-provider` #### Objectives - On remaining work related to documentation, deprecation & update theme designer, i will make the changes after branching v7. - Going to focus on preping Checkbox/Slider/Toggle/Link/Pivot for v8 release this week ### Week 3 - 8/17 #### Achievements - Support v7 theme to work with new buttons - Updated default theme to be Fluent #### Objectives - create `@fluentui/themes` package and move default/other themes there. - `ThemeProvider` to `applyToBody` - v0 theme to button tokens conversion - Follow up on applying theme to targetWindow [David/Levi] - TODO: David setup a call #### Learnings ### Week 2 - 8/11 #### Achievements - On track, supporting passing v7 theme, and replace functionality of customizer #### Objectives - Supporting v7 theme on new button, conversion. #### Learnings ## IE11 polyfill work and testing (Tomi) ### Week 3 - 8/17 #### Achievements - Built out polyfill package #### Objectives - Testing it on the components we have / demo app - Update our documentation on how to use polyfill (how to use, scope of polyfill) - Create IE11 screener tests #### Learnings - Screener tests run on chrome... can we use them on IE11? - issue where a classname got mutated, not an issue for our components - TODO: log a bug ^ ### Week 2 - 8/11 #### Achievements - On track, identified two options 1. use polyfill repo, testing hotfix on button component 2. modifying loadTheme styles #### Objectives - Cover options next week #### Learnings ## Codemod to compat layer and how-to codemod doc (Jon) ### Week 3 - 8/17 #### Achievements * Completed a small pr to improve the way that codemods handle results. #### Objectives * Write basic how to, will need to collaborate with Trip. #### Learnings ### Week 2 - 8/11 #### Achievements - On vacation #### Objectives #### Learnings ## Support concurrent mode in Pickers (Jon) ### Week 3 - 8/17 #### Achievements * Basic Pickers updated * Began work on updating other pickers (floating) #### Objectives * Complete picker work by updating other pickers to be concurrent #### Learnings * Code is compactified and cleaner removing the deprecated methods! I was surprised and happy to find out that was the case. ### Week 2 - 8/11 #### Achievements - Focus for this week #### Objectives #### Learnings ## CodeMods for props - Intern edition (Trip) ### Week 4 - 8/25 #### Achievements * Added documentation for how to write codemods. Currently getting feedback on the process. * Refined codemod generator described in week 3 to be more user-friendly and work better with logging. #### Objectives * Incorporate as much feedback as possible before the end of the week. * If possible, add config support for running codemods (i.e. filtering codemods). #### Learnings ### Week 3 - 8/17 #### Achievements * Created a codemod generator that can either interpret json (see week 2 for example), or direct user input and spit out a codemod. Here's an example of creating my own codemod with no json involved: ``` typescript // Rename 'checked' to 'toggled' in Button const renamePropCodeMod = function(file: SourceFile) { // Example body of a code mod. Easily customizable by a developer! const tags = findJsxTag(file, 'Button'); renameProp(tags, 'checked', 'toggled'); }; const shinyNewCodeMod = createCodeMod('Rename checked to toggled in Button', renamePropCodeMod); // run shinyNewCodeMod with runMods() on some source files! ``` #### Objectives * Spend the next ~week running on codebases to identify implemention holes * Get some feedback on the current codemod writing process. #### Learnings * Lots of practice with closures! ### Week 2 - 8/11 #### Achievements * Synced with David for some examples of how to streamline the Dev experienct WRT codemods. * Example json config for a mod that renames props: ```jsonld= { "name": "@fluentui.react", "upgrades": [ { "name": "Renaming 'isDisabled' to 'disabled' in Dropdown", "type": "renameProp", "options": { "from": { "importName": "Dropdown", "paths": ["office-ui-fabric-react/lib"], "toRename": "isDisabled" }, "to": { "replacementName": "disabled" } } } } ``` #### Objectives * Begin creating a generic codemod config file that Devs can enter data about their desired codemod into, and write mod-runner for said config file. * Flexibility will be an important thing to keep in mind here. #### Learnings * It's hard to do work when you don't have power :( ## Office Ribbon convergence integration Full status here: https://hackmd.io/9N7AO0frR2u27-a1WAF95g ### Week 8 8/25 #### Achievements * `@fluentui/react-window-provider` scaffolded * `WindowProvider` and `useWindow`/`useDocument` hooks added to standardize how to access/override accessing window and documents contextually * To create a path towards styling convergence, start normalizing css in js to support either emotion and mergeStyles * Deprecated `selectors` wrappers in mergeStyles * Added `makeStyles` per customer feedback, will try `Button` styles with it to evaluate sass/cssinjs when done more staticly. * Variants support in PR #### Objectives * Complete variants PR * Merge branch (dzearing/button3) into master to try flight in dogfood * Update splitbutton props conversion * Update splitbutton styles #### Learnings * Bundle impact of button in ribbon evaluated and deemed OK to merge without async imports * Scott helping with the merge * Paired w Levi on Button in v0; almost there! * Resolved "children" vs "content" concern (children rendered in content slot, unless a function, which will replace slots) * Resolved using "as" as the slot; container slot definitions to move to `components`. * Levi working on PR to update composition/Button ### Week 7 - 8/17 #### Achievements * Flight flag checked in to master * Flight integration checked into branch * Scott from WAC helping to address bundle splitting before merging into master. * Initial SplitButton integration in branch #### Objectives * Merge branch (dzearing/button3) into master to try flight in dogfood * Finish variants and bring back over * Update splitbutton props conversion * Update splitbutton styles #### Learnings * Refs are incompatible (OOUI polluted with refs which are typed to the class components.) * [TODO] Track this as part of function component conversion, especially when working with partners. * Last batch of compose updates has been great to integrate ### Week 6 - 8/11 #### Achievements * Compose utilities updated with initial implementation * Button updates merged to new pattern * SplitButton PR merged, now supporting updated pattern ([PR here](https://github.com/microsoft/fluentui/pull/14018)) * Avatar branch rescaffolded with new pattern #### Objectives * PR in OOUI up * Dogfood flight set up * Variants initial PR posted #### Learnings * Some questions on shorthand slots * Typings are difficult ### Week 5 - 8/4 #### Achievements * Collaborated with Levi on compose alternative * Spent last week getting the idea in code * Summary here: https://github.com/microsoft/fluentui/pull/14268/files?short_path=a61ecc1#diff-a61ecc141219991eeacc7b2af69d57b3 * Updated Button, ToggleButton, and MenuButton onto new pattern * PR up on Thursday, plenty of feedback by Monday * Wrapped up much of the feedback, but still have a few to discuss * Meeting with Prague on Friday #### Objectives * Get PR issues addressed and merged to unblock OOUI updates * Sync with Prague on PR * Make adjustments, prove out contentious areas * Update OOUI with latest bits * Get variants PR out ## Card project ### Week 3 - 8/17 #### Achievements - **Avatar - Ben** - Getting up to speed with figma design - PR Incomming (changes for design, and slots, and tokens) - Out starting tommorrow till end of next week - **Image - Shift** - Session with David on tokens work - Blocker with design reqs removed - Session with Kay from design tomorrow - goal: close this item out this week - **Mak** - No updates, on shield - Over the next week, adding stealth variant to button - Might touch on Card PR (still in draft) #### Objectives #### Learnings ### Week 2 - 8/11 #### Achievements * **Image - shift** * A PR to implement design's spec is opened [PR](https://github.com/microsoft/fluentui/pull/14441). Requires the discussion with design team about requirements. * **Avatar - Ben** * Took over David's work on the avatar branch that has the new react-avatar package with the mostly complete Avatar component * **Mak** * Reviewing with Design, specs for: * Text * Avatar * Project proposal for august (linked above) #### Objectives * **Avatar - Ben** * Polish up react-avatar to get it ready to merge * Make updates based on the design spec (may or may not complete before getting the react-avatar package merged) * Worked with David on some TypeScript magic for compose * Note: Vacation starting 8/19 (goal, merge initial PR by this week) #### Learnings * **Ben** - Typings are fun! Sort of. ## Migration guide for v8 (David, Mak, Elizabeth) ### Week 3 - 8/17 - Not Started - Push out to next month. #### Achievements #### Objectives #### Learnings ### Week 2 - 8/11 - Not Started #### Achievements #### Objectives #### Learnings ## Project (Person) ### Week 3 - 7/20 #### Achievements #### Objectives #### Learnings --- # More projects for Later |Project|Status|Contributors| |---|---|---| |Add v0 Debug & TelemetryGuard to Teams||Can this happen later?| |Add perf telemetry to v7||Later| |Script/Codemod to rename all the IPrefix interfaces [#10266](https://github.com/microsoft/fluentui/issues/10266)||| ## More links [Shared OneNote for eng process][onenote] [Accessibility Issues](https://dev.azure.com/microsoftdesign/fluent-ui/_queries/query/ab37cec7-fd8f-4828-99ac-d56e65396ada/) [backlog]: https://dev.azure.com/microsoftdesign/fluent-ui/_backlogs/backlog/fluent-ui%20Team/Epics [issues]: https://github.com/OfficeDev/office-ui-fabric-react/issues [onenote]: https://microsoft.sharepoint-df.com/:o:/t/FluentUIInternal/Ev_x5WbQI6tJmn2s87RzRPMBTG3d0gmYJN6QCpQttOFyzw?e=rnbj9H [sprint53]: https://dev.azure.com/microsoftdesign/fluent-ui/_sprints/backlog/fluent-ui%20Team/fluent-ui/Sprint%2053 [onelibrary]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4469 [theming]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4464 [performance]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4462 [composition]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4465 [onerepo]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4468 [onelib]: https://dev.azure.com/microsoftdesign/fluent-ui/_workitems/edit/4469