LP1954301 Simplify the tab name logic user/mmorgan/lp1954301_signoff
authorBill Erickson <berickxx@gmail.com>
Thu, 9 Dec 2021 18:48:22 +0000 (13:48 -0500)
committerMichele Morgan <mmorgan@noblenet.org>
Fri, 10 Dec 2021 16:56:42 +0000 (11:56 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Michele Morgan <mmorgan@noblenet.org>
extension/app/extension.js

index affb361..4ed72ac 100644 (file)
@@ -85,29 +85,11 @@ function onNativeMessage(message) {
 /**
  * Called when our content script opens connection to this extension.
  */
-var portCounter = 0; // Additional tab name differentiation
 chrome.runtime.onConnect.addListener(function(port) {
 
-    // When a new tab connects, it has no custom name.  Since a tab
-    // with the same tab number can connect multiple times -- sometimes
-    // in an unexpected order -- give each port a unique name.  This
-    // name will persist for the life of the connected port object.
-    //
-    // The port name can normally be any string, but our Java backend
-    // currently expects a Long (numeric) value, so format the port name
-    // as the tab number, followed by up to 12 zeroes, followed by our
-    // auto-increment.  This can accommodate more than trillion unique
-    // tab identifiers before the browser has to be restarted.
-    //
-    // TODO: teach the Java backend to treat "msgid" as a String
-    // instead of a Long so we can use tab names like:
-    // port.name = tabNumber + "-" + increment++;
-    if (port.name == "") {
-        let base = (port.sender.tab.id + "").padEnd(12, "0");
-        port.name = Number(base) + portCounter++;
-    }
-
-    var tabId = port.name;
+    // Apply a random unique name to each newly connected port.
+    // This name will persist for the life of the port object.
+    let tabId = port.name = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER - 1);
 
     browserPorts[tabId] = port;