ci: update AI package workflow to use compare script#8942
ci: update AI package workflow to use compare script#8942russellwheatley merged 13 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Code Review
This pull request integrates the AI package into the automated type comparison suite, ensuring that public API differences between the React Native Firebase implementation and the Firebase JS SDK are tracked and documented. To support this, the comparison script was enhanced to handle TypeScript enums, including logic to compare enums against equivalent 'enum-like' variable declarations. Additionally, several internal documentation files regarding the porting workflow were removed in favor of the new configuration-driven approach. I have no feedback to provide as there are no review comments.
|
kicked off android CI again, appeared to be a flake, rerun will provide another data point macOS failure is #8947 - unrelated, non-blocking but at least a local test with this PR rebased after 8947 goes in would be good since the AI package makes heavy use of firebase-js-sdk which exposes problems between pure-web and web-APIs-in-react-native-execution context which macOS / Other platform probes well |
mikehardy
left a comment
There was a problem hiding this comment.
Looks amazing, my comments are "thinking out loud" only, nothing to stop the merge here
| name: 'OnDeviceParams', | ||
| reason: | ||
| 'On-device inference params are only used by the browser Chrome adapter / hybrid flow, which is not supported in React Native.', |
There was a problem hiding this comment.
I was curious about this assertion (I'm aware of firebase-ml, and some native / on-device SDK work in the google AI area and was sure they had something ?) and sure enough there is stuff for Android:
https://firebase.google.com/docs/ai-logic/hybrid/android/get-started?api=dev
On-device inference only supports single-turn text generation (not chat), with streaming or non-streaming output. It supports the following text-generation capabilities:
Generating text from text-only input
Generating text from text-and-image input, specifically a single Bitmap image as input
Something to think about as enabling-via-bindings this sort of native integration is the reason react-native-firebase exists vs pure firebase-js-sdk
| InterfaceShape, | ||
| TypeAliasShape, | ||
| VariableShape, | ||
| EnumShape, |
There was a problem hiding this comment.
Happy to see this - was one of the few things that seemed low signal-to-noise
Description
Summary
compare-typesworkflow by registeringai, adding theai-sdk.d.tssnapshot, and creating an AI-specificconfig.ts.config.tsand removed stale config entries uncovered by the parser fixes.Why
firebase-js-sdkcheckout, so new web SDK features or type changes are easier to spot and evaluate for RNFB parity.Related issues
Release Summary
Checklist
AndroidiOSOther(macOS, web)e2etests added or updated inpackages/\*\*/e2ejesttests added or updated inpackages/\*\*/__tests__Test Plan
Think
react-native-firebaseis great? Please consider supporting the project with any of the below:React Native FirebaseandInvertaseon Twitter