mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-10 19:56:54 +03:00
Add logging to background service worker (#1760)
* Add logging in background service worker * Create ninety-sheep-end.md
This commit is contained in:
parent
3c39eb49f2
commit
eb3ac09b03
5
.changeset/ninety-sheep-end.md
Normal file
5
.changeset/ninety-sheep-end.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'remotedev-redux-devtools-extension': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Add logging to background service worker
|
|
@ -249,6 +249,8 @@ type MonitorAction<S, A extends Action<string>> =
|
||||||
const maxChromeMsgSize = 32 * 1024 * 1024;
|
const maxChromeMsgSize = 32 * 1024 * 1024;
|
||||||
|
|
||||||
function toMonitors<S, A extends Action<string>>(action: MonitorAction<S, A>) {
|
function toMonitors<S, A extends Action<string>>(action: MonitorAction<S, A>) {
|
||||||
|
console.log(`Message to monitors: ${action.type}`);
|
||||||
|
|
||||||
for (const port of Object.values(connections.panel)) {
|
for (const port of Object.values(connections.panel)) {
|
||||||
try {
|
try {
|
||||||
port.postMessage(action);
|
port.postMessage(action);
|
||||||
|
@ -315,6 +317,8 @@ interface ImportMessage {
|
||||||
type ToContentScriptMessage = ImportMessage | LiftedActionAction;
|
type ToContentScriptMessage = ImportMessage | LiftedActionAction;
|
||||||
|
|
||||||
function toContentScript(messageBody: ToContentScriptMessage) {
|
function toContentScript(messageBody: ToContentScriptMessage) {
|
||||||
|
console.log(`Message to tab ${messageBody.id}: ${messageBody.message}`);
|
||||||
|
|
||||||
if (messageBody.message === 'DISPATCH') {
|
if (messageBody.message === 'DISPATCH') {
|
||||||
const { message, action, id, instanceId, state } = messageBody;
|
const { message, action, id, instanceId, state } = messageBody;
|
||||||
connections.tab[id!].postMessage({
|
connections.tab[id!].postMessage({
|
||||||
|
@ -389,6 +393,8 @@ function toContentScript(messageBody: ToContentScriptMessage) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function toAllTabs(msg: TabMessage) {
|
function toAllTabs(msg: TabMessage) {
|
||||||
|
console.log(`Message to all tabs: ${msg.type}`);
|
||||||
|
|
||||||
for (const tabPort of Object.values(connections.tab)) {
|
for (const tabPort of Object.values(connections.tab)) {
|
||||||
tabPort.postMessage(msg);
|
tabPort.postMessage(msg);
|
||||||
}
|
}
|
||||||
|
@ -435,6 +441,7 @@ function messaging<S, A extends Action<string>>(
|
||||||
sender: chrome.runtime.MessageSender,
|
sender: chrome.runtime.MessageSender,
|
||||||
) {
|
) {
|
||||||
let tabId = getId(sender);
|
let tabId = getId(sender);
|
||||||
|
console.log(`Message from tab ${tabId}: ${request.type ?? request.split}`);
|
||||||
if (!tabId) return;
|
if (!tabId) return;
|
||||||
if (sender.frameId) tabId = `${tabId}-${sender.frameId}`;
|
if (sender.frameId) tabId = `${tabId}-${sender.frameId}`;
|
||||||
|
|
||||||
|
@ -517,6 +524,8 @@ function disconnect(
|
||||||
listener: (message: any, port: chrome.runtime.Port) => void,
|
listener: (message: any, port: chrome.runtime.Port) => void,
|
||||||
) {
|
) {
|
||||||
return function disconnectListener() {
|
return function disconnectListener() {
|
||||||
|
console.log(`Disconnected from ${type} ${id}`);
|
||||||
|
|
||||||
const p = connections[type][id];
|
const p = connections[type][id];
|
||||||
if (listener && p) p.onMessage.removeListener(listener);
|
if (listener && p) p.onMessage.removeListener(listener);
|
||||||
if (p) p.onDisconnect.removeListener(disconnectListener);
|
if (p) p.onDisconnect.removeListener(disconnectListener);
|
||||||
|
@ -541,10 +550,12 @@ function onConnect<S, A extends Action<string>>(port: chrome.runtime.Port) {
|
||||||
|
|
||||||
if (port.name === 'tab') {
|
if (port.name === 'tab') {
|
||||||
id = getId(port.sender!);
|
id = getId(port.sender!);
|
||||||
|
console.log(`Connected to tab ${id}`);
|
||||||
if (port.sender!.frameId) id = `${id}-${port.sender!.frameId}`;
|
if (port.sender!.frameId) id = `${id}-${port.sender!.frameId}`;
|
||||||
connections.tab[id] = port;
|
connections.tab[id] = port;
|
||||||
listener = (msg: ContentScriptToBackgroundMessage<S, A> | 'heartbeat') => {
|
listener = (msg: ContentScriptToBackgroundMessage<S, A> | 'heartbeat') => {
|
||||||
if (msg === 'heartbeat') return;
|
if (msg === 'heartbeat') return;
|
||||||
|
console.log(`Message from tab ${id}: ${msg.name}`);
|
||||||
if (msg.name === 'INIT_INSTANCE') {
|
if (msg.name === 'INIT_INSTANCE') {
|
||||||
if (typeof id === 'number') {
|
if (typeof id === 'number') {
|
||||||
chrome.action.enable(id);
|
chrome.action.enable(id);
|
||||||
|
@ -578,11 +589,13 @@ function onConnect<S, A extends Action<string>>(port: chrome.runtime.Port) {
|
||||||
} else if (port.name && port.name.indexOf('monitor') === 0) {
|
} else if (port.name && port.name.indexOf('monitor') === 0) {
|
||||||
// devpanel
|
// devpanel
|
||||||
id = getId(port.sender!, port.name);
|
id = getId(port.sender!, port.name);
|
||||||
|
console.log(`Connected to monitor ${id}`);
|
||||||
connections.panel[id] = port;
|
connections.panel[id] = port;
|
||||||
monitors++;
|
monitors++;
|
||||||
toAllTabs({ type: 'START' });
|
toAllTabs({ type: 'START' });
|
||||||
listener = (msg: BackgroundAction | 'heartbeat') => {
|
listener = (msg: BackgroundAction | 'heartbeat') => {
|
||||||
if (msg === 'heartbeat') return;
|
if (msg === 'heartbeat') return;
|
||||||
|
console.log(`Message from monitor ${id}: ${msg.type}`);
|
||||||
store.dispatch(msg);
|
store.dispatch(msg);
|
||||||
};
|
};
|
||||||
port.onMessage.addListener(listener);
|
port.onMessage.addListener(listener);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user