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
c9e1231
Add comprehensive Feature Flags support to Mixpanel React Native SDK
jaredmixpanel Oct 22, 2025
8626278
Fix CI failures for Feature Flags implementation
jaredmixpanel Oct 22, 2025
3797aa8
Fix static init method to pass all required parameters
jaredmixpanel Oct 22, 2025
dfcdf1c
Address GitHub Copilot review feedback
jaredmixpanel Oct 22, 2025
b7c4612
Fix remaining CI failures for native Feature Flags implementation
jaredmixpanel Oct 22, 2025
5e97ff6
Fix Android getInstance signature and add missing WritableArray import
jaredmixpanel Oct 22, 2025
edea4c3
Fix iOS MixpanelOptions to use full constructor with all parameters
jaredmixpanel Oct 22, 2025
ff4f5b9
update test ios ci workflow
jaredmixpanel Oct 23, 2025
ee2118d
update test ios ci workflow again
jaredmixpanel Oct 23, 2025
7592848
Add comprehensive Feature Flags test suite and fix iOS initialization
jaredmixpanel Oct 23, 2025
473122b
Fix Feature Flags test suite - all 48 tests passing
jaredmixpanel Oct 23, 2025
75553c3
jest setup and packag-lock
jaredmixpanel Oct 23, 2025
a6327e1
Address GitHub Copilot review feedback
jaredmixpanel Oct 23, 2025
f831462
Fix Android loadFlags to use 3-parameter getInstance
jaredmixpanel Oct 23, 2025
6be34fc
Merge remote-tracking branch 'origin/master' into feature/add-feature…
jaredmixpanel Nov 5, 2025
ea604e0
add MixpanelStarter sample app, refactor and remove JS imp
jaredmixpanel Nov 6, 2025
679c3a2
add MixpanelStarter sample app, refactor and remove JS imp
jaredmixpanel Nov 6, 2025
e9c5af1
js flags ref
jaredmixpanel Nov 6, 2025
d704d64
put JS code back, but block it from non-native mode
jaredmixpanel Nov 6, 2025
310471c
add flags files
jaredmixpanel Nov 6, 2025
07f3d34
use macos-15-intel runner for test_android
jaredmixpanel Nov 6, 2025
ad38cb1
only call loadFlags in native mode and tweak Swift logs
jaredmixpanel Nov 6, 2025
fea7ed3
Apply suggestions from code review
jaredmixpanel Nov 6, 2025
4a99491
demo token
jaredmixpanel Nov 6, 2025
0d114d6
Update __tests__/flags.test.js
jaredmixpanel Nov 6, 2025
5235d6b
Fix flags endpoint to match mixpanel-js implementation
jaredmixpanel Nov 6, 2025
038c298
3.2.0-beta.0
jaredmixpanel Nov 7, 2025
dc85b34
Update .npmignore to reduce package size from 41MB to 316KB
jaredmixpanel Nov 7, 2025
1e66d73
3.2.0-beta.1
jaredmixpanel Nov 7, 2025
c762c68
add and generate docs
jaredmixpanel Nov 7, 2025
a3a815e
3.2.0-beta.2
jaredmixpanel Nov 7, 2025
39b5a73
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
Loading