Repository navigation
Bug 2088862 - Show the animated kit illustration on the Terms of Use onboarding page in Nightly and debug builds. - #430
Conversation
4e3433e to
3f15697
Compare
There was a problem hiding this comment.
24 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
This review is now deprecated.
There was a problem hiding this comment.
24 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
corentinbect
left a comment
There was a problem hiding this comment.
Love seeing animation in the onboarding, Kit looks great 🎉
3f15697 to
f6d1c51
Compare
This review is now deprecated.
There was a problem hiding this comment.
23 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
This review is now deprecated.
There was a problem hiding this comment.
23 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
…onboarding page in Nightly and debug builds. The animation plays once and replays when tapped, so `AnimatedIllustration` gains `replayOnClick`. The static fallback is a vector drawable generated from the animation's first frame, so loading and reduced motion show the same pose with no visible jump. The Lottie JSON is the motion kit hero export rewritten for Lottie Android, which ignores the track matte parent key (tp) and drops the final value after a hold keyframe. Shared mattes were duplicated next to each matted layer, layer indices renumbered, and terminal keyframes after holds marked as holds. It renders identically in lottie-web.
f6d1c51 to
de351d2
Compare
|
Pull request closed by commit 5d6c813 |
…onboarding page in Nightly and debug builds. r=corentin The animation plays once and replays when tapped, so `AnimatedIllustration` gains `replayOnClick`. The static fallback is the animation's first frame rendered as a vector, so loading and reduced motion show the same pose with no visible jump. The Lottie JSON is the motion kit hero export rewritten for Lottie Android, which ignores the track matte parent key (tp) and drops the final value after a hold keyframe. Shared mattes were duplicated next to each matted layer, layer indices renumbered, and terminal keyframes after holds marked as holds. It renders identically in lottie-web. **Reviewer notes**: To test in debug, enable the `FeatureFlag` `val onboardingFeatureEnabled = Config.channel.isDebug` and have fresh install. Demo https://github.com/user-attachments/assets/22ba5841-da13-41fd-be7a-067795ad2ae4 Pull request: #430
There was a problem hiding this comment.
23 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
There was a problem hiding this comment.
23 issues have been found in this revision.
23 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
The animation plays once and replays when tapped, so
AnimatedIllustrationgainsreplayOnClick. The static fallback is the animation's first frame rendered as a vector, so loading and reduced motion show the same pose with no visible jump.The Lottie JSON is the motion kit hero export rewritten for Lottie Android, which ignores the track matte parent key (tp) and drops the final value after a hold keyframe. Shared mattes were duplicated next to each matted layer, layer indices renumbered, and terminal keyframes after holds marked as holds. It renders identically in lottie-web.
Reviewer notes: To test in debug, enable the
FeatureFlagval onboardingFeatureEnabled = Config.channel.isDebugand have fresh install.Demo
Screen_recording_20261104_135936.mp4
Lando: link
Bugzilla: bug 2088862
🚫 This pull request has 1 blocker.