Conversation
## Why `@expo/ui` converts Android VectorDrawable XML into Compose `ImageVector` instances. `ImageLoader` currently drops `android:fillType`, so paths authored with the even-odd fill rule render using Compose's default non-zero rule instead. This affects any Android icon or image path that relies on `android:fillType="evenOdd"`; it is not specific to a particular component or icon. ## How Parse the VectorDrawable `fillType` attribute and pass the corresponding `PathFillType` to `ImageVector.Builder.addPath`. The parser accepts both the textual `evenOdd` value used by source XML and the compiled enum value `1` returned by Android's `XmlResourceParser`. Paths without the attribute continue to use `PathFillType.NonZero`. ## Test Plan - `pnpm et check-packages @expo/ui` - `cd apps/bare-expo/android && ./gradlew :expo-ui:spotlessCheck` - `cd apps/bare-expo/android && ./gradlew :expo-ui:testDebugUnitTest --tests expo.modules.ui.graphics.ImageLoaderTest` - Added regression coverage for textual `evenOdd`, compiled value `1`, and the default non-zero fill rule. All 25 `ImageLoaderTest` tests pass. ## Checklist - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [x] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why we recently added variable font support in #48129 for Android, and this adds it for iOS. iOS already supported variable fonts via the config plugin, this adds that feature to `Font.loadAsync` (and `useFonts` hook) also. # How A variable font packs many fonts (=font faces, =postScript names) into one file. So the main part is changing `fontFamilyAliases` to provide a list of fonts (postScript names) for an alias, not just a single one. Then, as we swizzle `UIFont.fontNames` we can inject these names when RN core requests fonts given an alias. RN core then matches the names against the requested style, and picks the right font to render. This happens only for fonts with variation axes do this, so for static fonts nothing changes. docs in #48776 # Test Plan bare expo font screen # Checklist <!-- Please check the appropriate items below if they apply to your diff. --> - [x] I added a `changelog.md` entry and rebuilt the package sources according to [this short guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). - [ ] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) --- <sub>Stack created with <a href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
…essages Changelog entries get exactly one link group (the PR; no links in verify mode, where the PR number does not exist yet), and work-mode commit bodies are capped at one short paragraph.
Changelog entries carry exactly one link group: the pull request and the author.
Two layers, from the #48747/#49055 duplicate-PR incident: the context step hands the agent a related.json of title-matched issues/PRs and the prompt makes duplicate judgment a first-class step (withdraw when an open PR already fixes the bug; critic enforces); the publisher intersects changed non-changelog paths with open PRs from any author before gh pr create — full coverage keeps the branch but opens no PR, partial overlap is listed in the PR body.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )