I have written a debugger for K2 SmartForm web pages, as a Chrome custom panel extension, think of the Vue.js or React Devtools for a similar concept but it is Manifest 2 and I need to convert to Manifest 3.
The debugger injects into the user's SmartForm and sends every event generated on the form to the extension. When a user interacts with the form it might rapidly generate three events or 100 events and as it is user generated, the events may be rather sporadic with long pauses between events.
I use a background script to move messages from page to panel but the background script in its current form is going away. The script needs to be long running but I have read there are some issues with service workers spinning down. I think I can open a new tab to run the background script, not perfect, but it’s an option, as the audience is developers, and they’ll understand the rationale. I also wonder if it is easier than rewriting as a service worker before the end of the year (this is a side project).
What is recommended in the current versions of Chrome for keeping a message channel like this open? If it is the background script in a new tab, is there a sample project I can download?