mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
850a8352c9
Summary: Refines the condition for ignoring updates to an already-open redbox on iOS. Previously we would only update the stack trace if the message string in the update was exactly the same as in the initial redbox. With this diff we rely on the `exceptionId` parameter instead, and only fall back to string comparison if it's omitted (i.e. for non-JS uses of redbox on iOS). NOTE: `exceptionId` is part of the existing ExceptionsManager API and is already supported on Android. Reviewed By: sammy-SC Differential Revision: D17226179 fbshipit-source-id: 5940110bf4e4358a8a1b3477e8d2cf8b224dd9f8
52 lines
2.2 KiB
Objective-C
52 lines
2.2 KiB
Objective-C
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#import <UIKit/UIKit.h>
|
|
|
|
#import <React/RCTBridge.h>
|
|
#import <React/RCTBridgeModule.h>
|
|
#import <React/RCTErrorCustomizer.h>
|
|
|
|
@class RCTJSStackFrame;
|
|
|
|
@interface RCTRedBox : NSObject <RCTBridgeModule>
|
|
|
|
- (void)registerErrorCustomizer:(id<RCTErrorCustomizer>)errorCustomizer;
|
|
- (void)showError:(NSError *)error;
|
|
- (void)showErrorMessage:(NSString *)message;
|
|
- (void)showErrorMessage:(NSString *)message withDetails:(NSString *)details;
|
|
- (void)showErrorMessage:(NSString *)message withRawStack:(NSString *)rawStack;
|
|
- (void)showErrorMessage:(NSString *)message withRawStack:(NSString *)rawStack errorCookie:(int)errorCookie;
|
|
- (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack;
|
|
- (void)updateErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack;
|
|
- (void)showErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack errorCookie:(int)errorCookie;
|
|
- (void)updateErrorMessage:(NSString *)message withStack:(NSArray<NSDictionary *> *)stack errorCookie:(int)errorCookie;
|
|
- (void)showErrorMessage:(NSString *)message withParsedStack:(NSArray<RCTJSStackFrame *> *)stack;
|
|
- (void)updateErrorMessage:(NSString *)message withParsedStack:(NSArray<RCTJSStackFrame *> *)stack;
|
|
- (void)showErrorMessage:(NSString *)message withParsedStack:(NSArray<RCTJSStackFrame *> *)stack errorCookie:(int)errorCookie;
|
|
- (void)updateErrorMessage:(NSString *)message withParsedStack:(NSArray<RCTJSStackFrame *> *)stack errorCookie:(int)errorCookie;
|
|
|
|
- (void)dismiss;
|
|
|
|
/** Overrides bridge.bundleURL. Modify on main thread only. You shouldn't need to use this. */
|
|
@property (nonatomic, strong) NSURL *overrideBundleURL;
|
|
|
|
/** Overrides the default behavior of calling [bridge reload] on reload. You shouldn't need to use this. */
|
|
@property (nonatomic, strong) dispatch_block_t overrideReloadAction;
|
|
|
|
@end
|
|
|
|
/**
|
|
* This category makes the red box instance available via the RCTBridge, which
|
|
* is useful for any class that needs to access the red box or error log.
|
|
*/
|
|
@interface RCTBridge (RCTRedBox)
|
|
|
|
@property (nonatomic, readonly) RCTRedBox *redBox;
|
|
|
|
@end
|