Skip to content

[macOS] Bump example app#3993

Merged
m-bert merged 6 commits into
mainfrom
@mbert/macos
Mar 2, 2026
Merged

[macOS] Bump example app#3993
m-bert merged 6 commits into
mainfrom
@mbert/macos

Conversation

@m-bert

@m-bert m-bert commented Feb 24, 2026

Copy link
Copy Markdown
Collaborator

Description

For now it doesn't work with hook-based API 😞

Test plan

Tested on the following code:
import { useState } from 'react';
import { Pressable, StyleSheet, View } from 'react-native';
import {
  Gesture,
  GestureDetector,
  GestureHandlerRootView,
  RectButton,
  useTapGesture,
} from 'react-native-gesture-handler';

const randomColor = () => {
  const r = Math.floor(Math.random() * 256);
  const g = Math.floor(Math.random() * 256);
  const b = Math.floor(Math.random() * 256);

  return `rgb(${r},${g},${b})`;
};

export default function App() {
  const [bgColor, setBgColor] = useState('black');

  const tap = useTapGesture({
    onDeactivate: () => {
      setBgColor(randomColor());
    },
    disableReanimated: true,
  });

  const oldTap = Gesture.Tap()
    .onEnd(() => {
      setBgColor(randomColor());
    })
    .runOnJS(true);

  return (
    <GestureHandlerRootView style={styles.container}>
      <View
        style={{
          width: 100,
          height: 100,
          borderRadius: 50,
          backgroundColor: bgColor,
        }}
      />
      <View
        style={[
          styles.container,
          {
            width: '100%',
            flexDirection: 'row',
          },
        ]}>
        <GestureDetector gesture={tap}>
          <View style={styles.button} />
        </GestureDetector>

        <GestureDetector gesture={oldTap}>
          <View style={styles.button} />
        </GestureDetector>

        <Pressable
          style={styles.button}
          onPress={() => {
            setBgColor(randomColor());
          }}
        />

        <RectButton
          style={styles.button}
          onPress={() => {
            setBgColor(randomColor());
          }}
        />
      </View>
    </GestureHandlerRootView>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'space-evenly',
    alignItems: 'center',
  },
  button: {
    width: 100,
    height: 50,
    backgroundColor: 'crimson',
    borderRadius: 10,
  },
});

Copilot AI review requested due to automatic review settings February 24, 2026 08:28
@m-bert m-bert marked this pull request as draft February 24, 2026 08:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the macOS example app to use React Native 0.81.2, React 19.1.4, and related dependency updates. The upgrade includes enabling Hermes engine, supporting the new React Native architecture, and updating platform requirements.

Changes:

  • Upgraded React Native from 0.78.0 to 0.81.2 and React from 19.0.0 to 19.1.4
  • Enabled Hermes JavaScript engine (replacing JSC)
  • Updated react-native-reanimated to 4.2.1 (major version upgrade with worklets architecture)
  • Increased minimum macOS version from 11.0 to 15.0 and Node.js from 18 to 20

Reviewed changes

Copilot reviewed 7 out of 10 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
apps/macos-example/package.json Updated React, React Native, reanimated, safe-area-context, SVG versions; added react-native-worklets; updated CLI tools to v20; bumped Node requirement to 20
apps/macos-example/tsconfig.json Added "**/Pods" to exclude list and removed trailing whitespace
apps/macos-example/metro.config.js Updated exclusionList import path from public to private API
apps/macos-example/macos/Podfile Removed cli-platform-ios require; bumped macOS platform from 11.0 to 15.0
apps/macos-example/macos/Podfile.lock Updated all pod dependencies to match React Native 0.81.2; added hermes-engine; removed React-jsc
apps/macos-example/macos/MacOSExample.xcodeproj/project.pbxproj Enabled Hermes (USE_HERMES = true); added Hermes framework embedding build phase
apps/macos-example/macos/MacOSExample-macOS/Info.plist Normalized indentation; added RCTNewArchEnabled flag
apps/macos-example/Gemfile Added Ruby 3.4.0 compatibility gems (bigdecimal, logger, benchmark, mutex_m)
apps/macos-example/Gemfile.lock Updated with new gem dependencies

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/macos-example/macos/Podfile Outdated
Comment thread apps/macos-example/metro.config.js
Comment thread apps/macos-example/package.json
Comment thread apps/macos-example/macos/MacOSExample.xcodeproj/project.pbxproj
Comment thread apps/macos-example/package.json Outdated
Comment thread apps/macos-example/package.json
Comment thread apps/macos-example/package.json
Comment thread apps/macos-example/package.json
Comment thread apps/macos-example/macos/Podfile
Comment thread apps/macos-example/macos/MacOSExample-macOS/Info.plist
@m-bert m-bert changed the title [macOS] Bump example app. [macOS] Bump example app Feb 25, 2026
@m-bert m-bert requested a review from Copilot February 25, 2026 11:09
@m-bert m-bert marked this pull request as ready for review February 25, 2026 11:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 14 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/macos-example/macos/Podfile
Comment thread apps/macos-example/macos/Podfile
Comment thread apps/macos-example/package.json Outdated
@m-bert m-bert merged commit 8ec0820 into main Mar 2, 2026
5 checks passed
@m-bert m-bert deleted the @mbert/macos branch March 2, 2026 09:24
m-bert added a commit that referenced this pull request Jun 11, 2026
## Description

Cherry pick thread for release 2.32

## List of PRs

| PR  | Original commit |  Picked commit | Without confilct | 
|:----------:|:-------------:|:------:|:--------:|
| [[Android] Remove
`getChildInDrawingOrderAtIndex`](#4156)
|
[f1f09bc](f1f09bc)
|
[d76f2d9](d76f2d9)
| ❌ |
| [[iOS] Fix duplicated
`testID`](#4186)
|
[7feab6e](7feab6e)
|
[d1173ec](d1173ec)
| ❌ |
| [[Android] Fix discrete gestures not triggering
`onFinalize`](#4196)
|
[117087e](117087e)
|
[06212cf](06212cf)
| ✅ |
| [[Android] Fix wrong reported number of
pointers](#4218)
|
[f17bcbd](f17bcbd)
|
[5fd30f6](5fd30f6)
| ❌ |
| [fix(pods): Fix invalid `react-native/../react-native` resolution for
aliases](#4232)
|
[9a9f8b4](9a9f8b4)
|
[cacf6c0](cacf6c0)
| ✅ |
| [Move ruby utils to
module](#4245)
|
[62d0d52](62d0d52)
|
[3884f30](3884f30)
| ❌ |
| [[iOS] Fix handler retrieval and mismatched coordinate
space](#4199)
|
[b1da40b](b1da40b)
|
[2b48a8e](2b48a8e)
| ❌ |
| [[iOS] Don't iterate to root while resolving
recognizer](#4202)
|
[fba4dcc](fba4dcc)
|
[b81f2aa](b81f2aa)
| ❌ |
| [Support React Native
0.86](#4166)
|
[96dfc00](96dfc00)
|
[7df6d1a](7df6d1a)
| ❌ |
| [Fix `RNRenderer` import for React Native
0.86](#4160)
|
[0417378](0417378)
|
[6775d33](6775d33)
| ❌ |
| [Bump `expo` to stable
56](#4227)
|
[45e6ac8](45e6ac8)
|
[0478bb5](0478bb5)
| ❌ |
| [[macOS] Bump example
app](#3993)
|
[8ec0820](8ec0820)
|
[cfc5dd4](cfc5dd4)
| ❌ |
| [Bump
Reanimated](#4040)
|
[23d96d9](23d96d9)
|
[a2101eb](a2101eb)
| ❌ |
| [fix(Android): apply `numberOfPointers` config to the pointer
requirement in
`LongPressGestureHandler`](#4253)
|
[a70c6e3](a70c6e3)
|
[af40f9b](af40f9b)
| ✅ |

## Test plan

Tested that example apps are built correctly

---------

Co-authored-by: Pieter De Baets <pieter.debaets@gmail.com>
Co-authored-by: Mathieu Acthernoene <zoontek@gmail.com>
Co-authored-by: Jakub Piasecki <jakub.piasecki@swmansion.com>
Co-authored-by: Phil Pluckthun <phil@kitten.sh>
Co-authored-by: prashanFOMO <prashan@fomo.family>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants