Skip to content

Commit 4bb9e94

Browse files
committed
Add recommendation to enable 'preserve log'
1 parent 8de9257 commit 4bb9e94

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

front_end/entrypoints/rn_fusebox/rn_fusebox.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ import * as Root from '../../core/root/root.js';
2222
import * as SDK from '../../core/sdk/sdk.js';
2323
import * as UI from '../../ui/legacy/legacy.js';
2424
import * as Main from '../main/main.js';
25+
import * as Protocol from '../../generated/protocol.js';
26+
import * as Common from '../../core/common/common.js';
2527

26-
import type * as Common from '../../core/common/common.js';
2728
import type * as Platform from '../../core/platform/platform.js';
28-
import type * as Protocol from '../../generated/protocol.js';
2929
import type * as Sources from '../../panels/sources/sources.js';
3030
import * as RNExperiments from '../../core/rn_experiments/rn_experiments.js';
3131

@@ -106,6 +106,18 @@ class FuseboxClientMetadataModel extends SDK.SDKModel.SDKModel<void> {
106106
const success = false;
107107
Host.rnPerfMetrics.fuseboxSetClientMetadataFinished(success, reason);
108108
});
109+
110+
if (!Common.Settings.Settings.instance().moduleSetting('preserve-console-log').get()) {
111+
target.model(SDK.ConsoleModel.ConsoleModel)
112+
?.addMessage(new SDK.ConsoleModel.ConsoleMessage(
113+
target.model(SDK.RuntimeModel.RuntimeModel), Protocol.Log.LogEntrySource.Recommendation,
114+
Protocol.Log.LogEntryLevel.Info,
115+
'[React Native] Console messages are currently cleared upon DevTools disconnection. You can preserve logs in settings: ',
116+
{
117+
type: SDK.ConsoleModel.FrontendMessageType.System,
118+
context: 'fusebox_preserve_log_rec',
119+
}));
120+
}
109121
}
110122
}
111123

front_end/panels/console/ConsoleViewMessage.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,6 +445,17 @@ export class ConsoleViewMessage implements ConsoleViewportElement {
445445
formattedMessage.appendChild(this.anchorElement);
446446
}
447447
formattedMessage.appendChild(messageElement);
448+
449+
if (this.message.context === 'fusebox_preserve_log_rec') {
450+
const link = document.createElement('button');
451+
link.classList.add('devtools-link', 'text-button', 'link-style');
452+
link.appendChild(link.ownerDocument.createTextNode('show settings'));
453+
link.addEventListener('click', async () => {
454+
await Common.Revealer.reveal(Common.Settings.Settings.instance().moduleSetting('preserve-console-log'));
455+
});
456+
formattedMessage.appendChild(link);
457+
}
458+
448459
return formattedMessage;
449460
}
450461

front_end/ui/components/settings/settingCheckbox.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
*/
66

77
:host {
8+
display: block;
89
padding: 0;
910
margin: 0;
1011
}

0 commit comments

Comments
 (0)