Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f336f78
feat(macos): add RCTUITableView compatibility primitive to RCTUIKit
Saadnajmi Jul 28, 2026
bb6b7c9
fix(macos): implement RCTUILabel compatibility properties
Saadnajmi Jul 28, 2026
c18bcb5
feat(macos): add narrow RCTUIButton action bridge
Saadnajmi Jul 28, 2026
30bcc46
fix(macos): correct RCTUITableView lifecycle and sizing
Saadnajmi Jul 28, 2026
c23d2f9
fix(macos): constrain RCTUITableViewCell content
Saadnajmi Jul 28, 2026
705c202
fix(macos): preserve fixed RCTUITableView row heights
Saadnajmi Jul 28, 2026
4ed68d9
fix(macos): update table label wrapping on resize
Saadnajmi Jul 28, 2026
d88ed70
fix(macos): preserve RCTUITableView header heights
Saadnajmi Jul 28, 2026
21be7cf
fix(macos): preserve custom RCTUITableViewCell layout
Saadnajmi Jul 28, 2026
dd417db
fix(macos): reuse RCTUITableView header constraints
Saadnajmi Jul 28, 2026
b5a2cd0
fix(macos): preserve table cell content insets
Saadnajmi Jul 28, 2026
ce25b5d
feat(macos): port RedBox 2.0 to AppKit
Saadnajmi Jul 25, 2026
f011bf8
fix(macos): enable RedBox 2 AppKit controller
Saadnajmi Jul 27, 2026
bbce4a0
refactor(macos): migrate RedBox 2.0 to RCTUIKit primitives
Saadnajmi Jul 29, 2026
edfcfaf
fix(macos): preserve RedBox 2 layout and sheet lifecycle
Saadnajmi Sep 17, 2026
6af0a32
fix(ci): apply reviewed release validation repairs
Saadnajmi Sep 22, 2026
9a6ee66
fix(ci): align lock metadata with the public registry
Saadnajmi Sep 22, 2026
88032ae
fix(ci): refresh validated snapshots and platform fixtures
Saadnajmi Sep 22, 2026
c7b8552
fix(ci): refresh validated snapshots and platform fixtures
Saadnajmi Sep 22, 2026
734b39b
fix(ci): refresh validated snapshots and platform fixtures
Saadnajmi Sep 22, 2026
ceb4a64
fix(ci): refresh validated snapshots and platform fixtures
Saadnajmi Sep 22, 2026
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
8 changes: 5 additions & 3 deletions .github/scripts/__tests__/resolve-hermes-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ test.each([
...(flag == null ? {} : {RCT_HERMES_V1_ENABLED: flag}),
...(flag === '0'
? {
HERMES_TEST_PROPERTIES:
`HERMES_VERSION_NAME=${version}\nHERMES_V1_VERSION_NAME=1000.0.0`,
HERMES_TEST_PROPERTIES: `HERMES_VERSION_NAME=${version}\nHERMES_V1_VERSION_NAME=1000.0.0`,
}
: {}),
HERMES_TEST_DOWNLOAD: 'release',
Expand Down Expand Up @@ -175,7 +174,10 @@ const invalidMetadata = [
['', 'Expected one exact HERMES_V1_VERSION_NAME'],
['UNREADABLE', 'EACCES'],
['HERMES_VERSION_NAME=1.2.3', 'Expected one exact HERMES_V1_VERSION_NAME'],
['HERMES_V1_VERSION_NAME=^1.2.3', 'Expected one exact HERMES_V1_VERSION_NAME'],
[
'HERMES_V1_VERSION_NAME=^1.2.3',
'Expected one exact HERMES_V1_VERSION_NAME',
],
[
'HERMES_V1_VERSION_NAME=1.2.3\nHERMES_V1_VERSION_NAME=1.2.3',
'Expected one exact HERMES_V1_VERSION_NAME',
Expand Down
6 changes: 1 addition & 5 deletions packages/react-native/React/CoreModules/RCTRedBox.mm
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@

#import "CoreModulesPlugins.h"
#import "RCTRedBox+Internal.h"
#if !TARGET_OS_OSX // [macOS]
#import "RCTRedBox2Controller+Internal.h"
#endif // [macOS]
#import "RCTRedBoxController+Internal.h"

#if RCT_DEV_MENU
Expand Down Expand Up @@ -197,11 +195,9 @@ - (void)showErrorMessage:(NSString *)message
errorInfo = [self _customizeError:errorInfo];

if (self->_controller == nullptr) {
if (!TARGET_OS_OSX && facebook::react::ReactNativeFeatureFlags::redBoxV2IOS()) { // [macOS]
#if !TARGET_OS_OSX // [macOS]
if (facebook::react::ReactNativeFeatureFlags::redBoxV2IOS()) {
self->_controller = [[RCTRedBox2Controller alloc] initWithCustomButtonTitles:self->_customButtonTitles
customButtonHandlers:self->_customButtonHandlers];
#endif // [macOS]
} else {
self->_controller = [[RCTRedBoxController alloc] initWithCustomButtonTitles:self->_customButtonTitles
customButtonHandlers:self->_customButtonHandlers];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@
* LICENSE file in the root directory of this source tree.
*/

#import <React/RCTDefines.h>

#if !TARGET_OS_OSX // [macOS]
#import <UIKit/UIKit.h>
#import <React/RCTUIKit.h> // [macOS]

/**
* Parses ANSI escape sequences in text and produces an NSAttributedString
Expand All @@ -18,10 +15,14 @@
*/
@interface RCTRedBox2AnsiParser : NSObject

#if !TARGET_OS_OSX // [macOS]
+ (NSAttributedString *)attributedStringFromAnsiText:(NSString *)text
baseFont:(UIFont *)font
baseColor:(UIColor *)color;
#else // [macOS
+ (NSAttributedString *)attributedStringFromAnsiText:(NSString *)text
baseFont:(UIFont *)font
baseColor:(RCTPlatformColor *)color;
#endif // macOS]

@end

#endif // [macOS]
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,32 @@
#import <React/RCTDefines.h>
#import <react/debug/redbox/AnsiParser.h>

#if RCT_DEV_MENU && !TARGET_OS_OSX // [macOS]
#if RCT_DEV_MENU

using facebook::react::unstable_redbox::AnsiColor;
using facebook::react::unstable_redbox::parseAnsi;

#if !TARGET_OS_OSX // [macOS]
static UIColor *RCTUIColorFromAnsiColor(const AnsiColor &c)
{
return [UIColor colorWithRed:c.r / 255.0 green:c.g / 255.0 blue:c.b / 255.0 alpha:1.0];
}
#else // [macOS
static RCTPlatformColor *RCTUIColorFromAnsiColor(const AnsiColor &c)
{
return [RCTPlatformColor colorWithRed:c.r / 255.0 green:c.g / 255.0 blue:c.b / 255.0 alpha:1.0];
}
#endif // macOS]

@implementation RCTRedBox2AnsiParser

#if !TARGET_OS_OSX // [macOS]
+ (NSAttributedString *)attributedStringFromAnsiText:(NSString *)text baseFont:(UIFont *)font baseColor:(UIColor *)color
#else // [macOS
+ (NSAttributedString *)attributedStringFromAnsiText:(NSString *)text
baseFont:(UIFont *)font
baseColor:(RCTPlatformColor *)color
#endif // macOS]
{
if (text == nil) {
return [[NSAttributedString alloc] init];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@
*/

#import <React/RCTDefines.h>
#import <React/RCTUIKit.h> // [macOS]

#import "RCTRedBox+Internal.h"

#if RCT_DEV_MENU && !TARGET_OS_OSX // [macOS]
#if RCT_DEV_MENU

typedef void (^RCTRedBox2ButtonPressHandler)(void);

@interface RCTRedBox2Controller : UIViewController <RCTRedBox2Controlling, UITableViewDelegate, UITableViewDataSource>
@interface RCTRedBox2Controller
: RCTPlatformViewController <RCTRedBox2Controlling, RCTUITableViewDelegate, RCTUITableViewDataSource> // [macOS]

@property (nonatomic, weak) id<RCTRedBoxControllerActionDelegate> actionDelegate;

Expand Down
Loading
Loading