* Some other misc refactor
* Auto reload all command boxes when changing the command options
* Add origin isolation to prevent cross-origin fingerprinting, etc. with webm-type initData or persistent licenses
* Logs from different origins can have duplicate entries even if pssh is same
* Block persistentState: required keySystemAccess if persistence is disallowed
* Finish persistent license support
* Tested on https://biograf-155113.appspot.com/ttt/episode-2/, it's a bit broken so you should put sessionId in IndexedDB manually with the console
* Always use the JS-facing sessionId for internal handling (on both WV and PR) for simplicity
* Replace dirty string-based inter-script communication with JSON one
* Not tested yet at all due to lack of functional test material
* Temp commit that adds queueing for remote requests (attempt to fix CDRM invalidating second sessions)
* Will be removed in the next commit cuz I realized queueing the whole workflow (getReq+parseLic) is not possible if webpage generateRequests in parallel
* Merge SuperGeneric with the normal remote mode
* Refactor the previous non-generic remote CDM code to use SuperGeneric with generated default API config
* Improve error handling and notification
* Fix removing a remote device of a system messing with the other system's selected remote device
* Log tab titles and use that for generating m3u8dl commands
* Return a Widevine EME disabled on Firefox+Widevine (just like the real message) when WV is blocked
* Refactor SuperGeneric to be more flexible about number of requests
* Finish SuperGeneric
* Add support for PlayReady remote device (never tested cuz I don't own one)
* Fix ClearKey not working when blockDisabled is enabled
* Notify background script failures
* Ignore per-site enabled config if globally disabled
* Show button to reload the current tab after changing the config
* Show active icon in the panel UI if active
* Completely disable EME hooks when disabled
* Add ClearKey toggle
* Add an option to block disabled key systems (for forcing pages to use a specific key system, without messing with the browser configs/files)
* Panel UI now follows the system/browser dark mode setting
* Show all saved logs
* Add badge text for active status indicator
* Trying to implement the "webm" type initData
* Didn't fully understand the logic yet and just made it fail for now - which works quite well for triggering fallback
* Fix logic error when comparing the key system name
* Fix for services that checks all of the availalbe kids in keyStatus
* Also work around for some services that expect flipped bytes
* Handle cases where a website sends a mixture of WV and PR PSSH
* Add handler for MediaKeySession.close