Skip to content

Commit eb757e8

Browse files
authored
Move preserve-log prompt to Fusebox entry point (#128)
1 parent 0ecc39f commit eb757e8

File tree

2 files changed

+28
-15
lines changed

2 files changed

+28
-15
lines changed

front_end/entrypoints/rn_fusebox/rn_fusebox.ts

Lines changed: 28 additions & 7 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 Common from '../../core/common/common.js';
26+
import * as Protocol from '../../generated/protocol.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

@@ -195,18 +195,39 @@ class ConnectionStatusToolbarItemProvider extends SDK.TargetManager.Observer imp
195195
SDK.TargetManager.TargetManager.instance().observeTargets(this, {scoped: true});
196196
}
197197

198-
override targetAdded(_target: SDK.Target.Target): void {
199-
this.#updateRootTarget();
198+
override targetAdded(target: SDK.Target.Target): void {
199+
this.#onTargetChanged(target);
200200
}
201-
override targetRemoved(_target: SDK.Target.Target): void {
202-
this.#updateRootTarget();
201+
202+
override targetRemoved(target: SDK.Target.Target): void {
203+
this.#onTargetChanged(target);
203204
}
204205

205-
#updateRootTarget(): void {
206+
#onTargetChanged(target: SDK.Target.Target): void {
206207
const rootTarget = SDK.TargetManager.TargetManager.instance().rootTarget();
207208
this.#button.setTitle(i18nLazyString(UIStrings.connectionStatusDisconnectedTooltip)());
208209
this.#button.setText(i18nLazyString(UIStrings.connectionStatusDisconnectedLabel)());
209210
this.#button.setVisible(!rootTarget);
211+
212+
if (!rootTarget) {
213+
this.#printPreserveLogPrompt(target);
214+
}
215+
}
216+
217+
#printPreserveLogPrompt(target: SDK.Target.Target): void {
218+
if (Common.Settings.Settings.instance().moduleSetting('preserve-console-log').get()) {
219+
return;
220+
}
221+
222+
target.model(SDK.ConsoleModel.ConsoleModel)
223+
?.addMessage(new SDK.ConsoleModel.ConsoleMessage(
224+
target.model(SDK.RuntimeModel.RuntimeModel), Protocol.Log.LogEntrySource.Recommendation,
225+
Protocol.Log.LogEntryLevel.Info,
226+
'[React Native] Console messages are currently cleared upon DevTools disconnection. You can preserve logs in settings: ',
227+
{
228+
type: SDK.ConsoleModel.FrontendMessageType.System,
229+
context: 'fusebox_preserve_log_rec',
230+
}));
210231
}
211232

212233
onClick(): void {

front_end/panels/console/ConsoleView.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -628,14 +628,6 @@ export class ConsoleView extends UI.Widget.VBox implements
628628
if (!Common.Settings.Settings.instance().moduleSetting('preserve-console-log').get() &&
629629
model.target().outermostTarget() === model.target()) {
630630
this.consoleCleared();
631-
this.addConsoleMessage(new SDK.ConsoleModel.ConsoleMessage(
632-
model.target().model(SDK.RuntimeModel.RuntimeModel), Protocol.Log.LogEntrySource.Recommendation,
633-
Protocol.Log.LogEntryLevel.Info,
634-
'[React Native] Console messages are currently cleared upon DevTools disconnection. You can preserve logs in settings: ',
635-
{
636-
type: SDK.ConsoleModel.FrontendMessageType.System,
637-
context: 'fusebox_preserve_log_rec',
638-
}));
639631
}
640632
}
641633

0 commit comments

Comments
 (0)