Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
601262c
Add comprehensive Feature Flags support to Mixpanel React Native SDK
jaredmixpanel Oct 22, 2025
0873640
Fix CI failures for Feature Flags implementation
jaredmixpanel Oct 22, 2025
ef45976
Fix static init method to pass all required parameters
jaredmixpanel Oct 22, 2025
760a2a1
Address GitHub Copilot review feedback
jaredmixpanel Oct 22, 2025
49d8cdd
Fix remaining CI failures for native Feature Flags implementation
jaredmixpanel Oct 22, 2025
76a0b2c
Fix Android getInstance signature and add missing WritableArray import
jaredmixpanel Oct 22, 2025
78fb2aa
Fix iOS MixpanelOptions to use full constructor with all parameters
jaredmixpanel Oct 22, 2025
86f7c2b
update test ios ci workflow
jaredmixpanel Oct 23, 2025
93c147f
update test ios ci workflow again
jaredmixpanel Oct 23, 2025
47aa040
Add comprehensive Feature Flags test suite and fix iOS initialization
jaredmixpanel Oct 23, 2025
8d57781
Fix Feature Flags test suite - all 48 tests passing
jaredmixpanel Oct 23, 2025
ffe7581
jest setup and packag-lock
jaredmixpanel Oct 23, 2025
3a58303
Address GitHub Copilot review feedback
jaredmixpanel Oct 23, 2025
5ffc8c8
Fix Android loadFlags to use 3-parameter getInstance
jaredmixpanel Oct 23, 2025
8f40724
Merge remote-tracking branch 'origin/master' into feature/add-feature…
jaredmixpanel Nov 5, 2025
2fbe547
add MixpanelStarter sample app, refactor and remove JS imp
jaredmixpanel Nov 6, 2025
3cda974
add MixpanelStarter sample app, refactor and remove JS imp
jaredmixpanel Nov 6, 2025
0e23cbc
js flags ref
jaredmixpanel Nov 6, 2025
d3338a6
put JS code back, but block it from non-native mode
jaredmixpanel Nov 6, 2025
92b6cb8
add flags files
jaredmixpanel Nov 6, 2025
9388b51
use macos-15-intel runner for test_android
jaredmixpanel Nov 6, 2025
19d1ac3
only call loadFlags in native mode and tweak Swift logs
jaredmixpanel Nov 6, 2025
a14eda2
Apply suggestions from code review
jaredmixpanel Nov 6, 2025
d185a94
demo token
jaredmixpanel Nov 6, 2025
2426498
Update __tests__/flags.test.js
jaredmixpanel Nov 6, 2025
f201c5e
Fix flags endpoint to match mixpanel-js implementation
jaredmixpanel Nov 6, 2025
3896cdb
3.2.0-beta.0
jaredmixpanel Nov 7, 2025
ffbbfd2
Update .npmignore to reduce package size from 41MB to 316KB
jaredmixpanel Nov 7, 2025
d381595
3.2.0-beta.1
jaredmixpanel Nov 7, 2025
a241498
add and generate docs
jaredmixpanel Nov 7, 2025
f965e96
3.2.0-beta.2
jaredmixpanel Nov 7, 2025
1ac86a3
update FF quick guide
jaredmixpanel Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 24 additions & 8 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,54 +27,47 @@
- run: npm test

test_android:
runs-on: ubuntu-latest
runs-on: macos-15-intel
strategy:
matrix:
node-version: [18.x]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/

steps:
- name: Checkout
uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- uses: actions/setup-java@v4
with:
distribution: "temurin" # See 'Supported distributions' for available options
java-version: "17"
- run: npm install
- run: npm install -g react-native-cli
- run: npm i react-native-gradle-plugin
- name: Test Integration - Install dependencies
working-directory: ./Samples/SimpleMixpanel
run: yarn install
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Setup Android
uses: reactivecircus/android-emulator-runner@v2.32.0
with:
api-level: 34
target: google_apis
profile: Nexus 5X
arch: x86_64
working-directory: ./Samples/SimpleMixpanel/android
script: ./gradlew
- name: Test Android
uses: reactivecircus/android-emulator-runner@v2.32.0
with:
api-level: 34
target: google_apis
profile: Nexus 5X
arch: x86_64
working-directory: ./Samples/SimpleMixpanel
script: react-native run-android

test_ios:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
runs-on: macos-latest
strategy:
matrix:
Expand All @@ -95,6 +88,29 @@
- name: Setup iOS
working-directory: ./Samples/SimpleMixpanel/ios
run: pod install --repo-update
- name: List available simulators
run: xcrun simctl list devices available
- name: Boot iOS Simulator
run: |
# Get list of available iPhone simulators
# Note: jq is pre-installed on macOS GitHub Actions runners
SIMULATOR_ID=$(xcrun simctl list devices available -j | jq -r '.devices | to_entries[] | .value[] | select(.name | contains("iPhone")) | .udid' | head -n 1)
if [ -z "$SIMULATOR_ID" ]; then
echo "Error: No iPhone simulator found"
exit 1
fi
echo "Found simulator: $SIMULATOR_ID"
# Check if simulator is already booted
DEVICE_LIST=$(xcrun simctl list devices)
if echo "$DEVICE_LIST" | grep -q "$SIMULATOR_ID.*Booted"; then
echo "Simulator already booted"
else
echo "Booting simulator..."
xcrun simctl boot "$SIMULATOR_ID"
fi
# Verify simulator is booted
echo "Booted simulators:"
xcrun simctl list devices | grep Booted
- name: Test iOS
working-directory: ./Samples/SimpleMixpanel
run: react-native run-ios
46 changes: 46 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,49 @@ buck-out/

# DemoApp
/MixpanelDemo

# Sample Apps
Samples/

# Tests
__tests__/
__mocks__/
*.test.js
jest.config.js

# Documentation (generated)
docs/
generate_docs.sh

# Build artifacts
*.log
*.tgz

# AI Assistant Files
.claude/
claude/
.cursor/
.github/copilot-*
.github/instructions/
.github/prompts/
.github/workflows/
CLAUDE.md

# IDE
.vscode/
.idea/

# Git
.git/
.gitignore
.gitattributes

# Python scripts
*.py

# Misc
.editorconfig
.prettierrc*
.eslintrc*
.babelrc*
.flowconfig
Loading