Browse Source

16.5.1 release

David Benson 3 years ago
parent
commit
f1981c3e65

+ 11 - 0
ChangeLog

@@ -1,3 +1,14 @@
+
+28-JAN-2022: 16.5.1
+
+- Adds isExternalDataComms flag
+
+28-JAN-2022: 16.5.0
+
+- Keeps windows in viewport for inline embed mode
+- Sets default scrollbars to true
+- [desktop] Removes setting offline to true
+
 27-JAN-2022: 16.4.11
 
 - Fixes build process to deploy teams.html

+ 1 - 1
README.md

@@ -21,7 +21,7 @@ draw.io is a diagramming or whiteboarding application, depending on which theme
 
 The application is designed to be used largely as-is. It's possible to alter the major parts of the interface, but if you're looking for an editor with very specific editing features, the project is likely not a good base to use.
 
-That is to say, if you wanted to create/deply a whiteboard or diagramming application where the functionality in the main canvas is as this project provides, it more likely to be a good base to use. 
+That is to say, if you wanted to create/deploy a whiteboard or diagramming application where the functionality in the main canvas is as this project provides, it more likely to be a good base to use. 
 The default libraries, the menus, the toolbar, the default colours, the storage location, these can all be changed.
 
 If you are using a draw.io project/product and have issues or questions about the editor itself, the issue tracker and discussion in this GitHub project are likely a good place to look.

+ 1 - 1
VERSION

@@ -1 +1 @@
-16.4.11
+16.5.1

+ 0 - 121
etc/p2pCollab/index.js

@@ -1,121 +0,0 @@
-const
-    {Server} = require('socket.io'),
-    io = new Server(3030, {
-	  cors: {
-	    origin: function (origin, callback) 
-		{
-			if (/\.draw\.io$/.test(origin) || /\.diagrams\.io$/.test(origin))
-			{
-				callback(null, true); // allow all draw.io domains
-			}
-            else
-			{
-                callback(new Error('Now allowed')); // block others
-            }
-        }
-	  }
-    });
-
-const SOCKET = '_socket', P2P = '_p2p';
-let rooms = {}
-
-io.on('connection', function (socket) 
-{
-  //TODO Review P2P and SOCKET rooms transitions and interaction
-  let room = null, isP2P = false;
-
-  function leaveRoom()
-  {
-	if (!room) return;
-
-	room.clientCount--;
-	socket.leave(room.name + (isP2P? P2P : SOCKET));
-	
-	if (room.clientCount == 0)
-	{
-		delete rooms[room.name];
-	}	
-	else
-	{
-		if (isP2P)
-		{
-			delete room.p2pClients[socket.id];
-		}
-		else
-		{
-			delete room.socketClients[socket.id];
-		}
-	} 
-	
-	room = null; 
-  }
-
-  socket.on('message', function (data) 
-  {
-	if (!room) return;
-	
-	socket.broadcast.to(room.name + SOCKET).emit('message', data);
-	
-	if (room.socketClients[socket.id] != null)
-	{
-		socket.broadcast.to(room.name + P2P).emit('message', data);
-	}
-  })
-	
-  socket.on('join', function (msg) {
-	leaveRoom(); //If currently in a room, leave it
-	
-	let name = msg.name;
-	
-	if (!name) return;
-	
-	if (rooms[name])
-	{
-		room = rooms[name];
-	}
-	else
-	{
-	    room = {p2pClients: {}, socketClients: {}, clientCount: 0, name: name}
-		rooms[name] = room;
-	}
-
-  	socket.join(room.name + SOCKET);
- 	room.clientCount++;
-
-	let allClientsIds = [];
-	Object.keys(room.p2pClients).forEach(id => allClientsIds.push(id));
-	Object.keys(room.socketClients).forEach(id => allClientsIds.push(id));
- 	room.socketClients[socket.id] = socket;
-	socket.emit('clientsList', {list: allClientsIds, cId: socket.id});
-	socket.broadcast.to(room.name + P2P).emit('newClient', socket.id);
-  });
-
-  socket.on('movedToP2P', function()
-  {
-	if (!room) return;
-	
-	socket.join(room.name + P2P);
-	room.p2pClients[socket.id] = socket;
-	socket.leave(room.name +  SOCKET);
-	delete room.socketClients[socket.id];
-	isP2P = true;
-  });
-
-  socket.on('sendSignal', function(data)
-  {
-	if (!room) return;
-	
-	cSocket = room.p2pClients[data.to] || room.socketClients[data.to];
-	
-	if (cSocket)
-	{
-		cSocket.emit('signal', data);		
-	}
-	else
-	{
-		socket.emit('sendSignalFailed', {to: data.to});
-	}
-  });
-
-  socket.on('disconnect', leaveRoom);
-});

+ 0 - 399
etc/p2pCollab/package-lock.json

@@ -1,399 +0,0 @@
-{
-  "name": "p2pcollab",
-  "version": "1.0.0",
-  "lockfileVersion": 2,
-  "requires": true,
-  "packages": {
-    "": {
-      "name": "p2pcollab",
-      "version": "1.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "cors": "^2.8.5",
-        "socket.io": "^4.0.0"
-      }
-    },
-    "node_modules/@types/component-emitter": {
-      "version": "1.2.10",
-      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
-      "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
-    },
-    "node_modules/@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
-    },
-    "node_modules/@types/cors": {
-      "version": "2.8.12",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
-      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
-    },
-    "node_modules/@types/node": {
-      "version": "16.6.1",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz",
-      "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw=="
-    },
-    "node_modules/accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dependencies": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/base64-arraybuffer": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
-      "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/base64id": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
-      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
-      "engines": {
-        "node": "^4.5.0 || >= 5.9"
-      }
-    },
-    "node_modules/component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
-    },
-    "node_modules/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/cors": {
-      "version": "2.8.5",
-      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
-      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
-      "dependencies": {
-        "object-assign": "^4",
-        "vary": "^1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/debug": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/engine.io": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
-      "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
-      "dependencies": {
-        "accepts": "~1.3.4",
-        "base64id": "2.0.0",
-        "cookie": "~0.4.1",
-        "cors": "~2.8.5",
-        "debug": "~4.3.1",
-        "engine.io-parser": "~4.0.0",
-        "ws": "~7.4.2"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/engine.io-parser": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
-      "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
-      "dependencies": {
-        "base64-arraybuffer": "0.1.4"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/mime-db": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.32",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
-      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
-      "dependencies": {
-        "mime-db": "1.49.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "node_modules/negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/socket.io": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
-      "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
-      "dependencies": {
-        "@types/cookie": "^0.4.0",
-        "@types/cors": "^2.8.10",
-        "@types/node": ">=10.0.0",
-        "accepts": "~1.3.4",
-        "base64id": "~2.0.0",
-        "debug": "~4.3.1",
-        "engine.io": "~5.1.1",
-        "socket.io-adapter": "~2.3.1",
-        "socket.io-parser": "~4.0.4"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/socket.io-adapter": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz",
-      "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw=="
-    },
-    "node_modules/socket.io-parser": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
-      "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
-      "dependencies": {
-        "@types/component-emitter": "^1.2.10",
-        "component-emitter": "~1.3.0",
-        "debug": "~4.3.1"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/ws": {
-      "version": "7.4.6",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
-      "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
-      "engines": {
-        "node": ">=8.3.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    }
-  },
-  "dependencies": {
-    "@types/component-emitter": {
-      "version": "1.2.10",
-      "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
-      "integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
-    },
-    "@types/cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q=="
-    },
-    "@types/cors": {
-      "version": "2.8.12",
-      "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz",
-      "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw=="
-    },
-    "@types/node": {
-      "version": "16.6.1",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.6.1.tgz",
-      "integrity": "sha512-Sr7BhXEAer9xyGuCN3Ek9eg9xPviCF2gfu9kTfuU2HkTVAMYSDeX40fvpmo72n5nansg3nsBjuQBrsS28r+NUw=="
-    },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
-      }
-    },
-    "base64-arraybuffer": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
-      "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
-    },
-    "base64id": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
-      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog=="
-    },
-    "component-emitter": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
-    },
-    "cookie": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
-      "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
-    },
-    "cors": {
-      "version": "2.8.5",
-      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
-      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
-      "requires": {
-        "object-assign": "^4",
-        "vary": "^1"
-      }
-    },
-    "debug": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-      "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-      "requires": {
-        "ms": "2.1.2"
-      }
-    },
-    "engine.io": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz",
-      "integrity": "sha512-aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==",
-      "requires": {
-        "accepts": "~1.3.4",
-        "base64id": "2.0.0",
-        "cookie": "~0.4.1",
-        "cors": "~2.8.5",
-        "debug": "~4.3.1",
-        "engine.io-parser": "~4.0.0",
-        "ws": "~7.4.2"
-      }
-    },
-    "engine.io-parser": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.2.tgz",
-      "integrity": "sha512-sHfEQv6nmtJrq6TKuIz5kyEKH/qSdK56H/A+7DnAuUPWosnIZAS2NHNcPLmyjtY3cGS/MqJdZbUjW97JU72iYg==",
-      "requires": {
-        "base64-arraybuffer": "0.1.4"
-      }
-    },
-    "mime-db": {
-      "version": "1.49.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
-    },
-    "mime-types": {
-      "version": "2.1.32",
-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
-      "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
-      "requires": {
-        "mime-db": "1.49.0"
-      }
-    },
-    "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "negotiator": {
-      "version": "0.6.2",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
-      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
-    },
-    "object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
-    },
-    "socket.io": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz",
-      "integrity": "sha512-tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==",
-      "requires": {
-        "@types/cookie": "^0.4.0",
-        "@types/cors": "^2.8.10",
-        "@types/node": ">=10.0.0",
-        "accepts": "~1.3.4",
-        "base64id": "~2.0.0",
-        "debug": "~4.3.1",
-        "engine.io": "~5.1.1",
-        "socket.io-adapter": "~2.3.1",
-        "socket.io-parser": "~4.0.4"
-      }
-    },
-    "socket.io-adapter": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.1.tgz",
-      "integrity": "sha512-8cVkRxI8Nt2wadkY6u60Y4rpW3ejA1rxgcK2JuyIhmF+RMNpTy1QRtkHIDUOf3B4HlQwakMsWbKftMv/71VMmw=="
-    },
-    "socket.io-parser": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz",
-      "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==",
-      "requires": {
-        "@types/component-emitter": "^1.2.10",
-        "component-emitter": "~1.3.0",
-        "debug": "~4.3.1"
-      }
-    },
-    "vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
-    },
-    "ws": {
-      "version": "7.4.6",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
-      "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
-      "requires": {}
-    }
-  }
-}

+ 0 - 15
etc/p2pCollab/package.json

@@ -1,15 +0,0 @@
-{
-  "name": "p2pcollab",
-  "version": "1.0.0",
-  "description": "",
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "author": "",
-  "license": "MIT",
-  "dependencies": {
-    "cors": "^2.8.5",
-    "socket.io": "^4.0.0"
-  }
-}

+ 77 - 30
etc/propgen/package-lock.json

@@ -5,11 +5,12 @@
   "requires": true,
   "packages": {
     "": {
+      "name": "propgen",
       "version": "1.0.0",
       "license": "ISC",
       "dependencies": {
         "bidi-js": "^1.0.2",
-        "node-fetch": "^3.0.0"
+        "node-fetch": "^3.2.0"
       }
     },
     "node_modules/bidi-js": {
@@ -21,17 +22,17 @@
       }
     },
     "node_modules/data-uri-to-buffer": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
-      "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
+      "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
       "engines": {
-        "node": ">= 6"
+        "node": ">= 12"
       }
     },
     "node_modules/fetch-blob": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz",
-      "integrity": "sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ==",
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz",
+      "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==",
       "funding": [
         {
           "type": "github",
@@ -43,20 +44,51 @@
         }
       ],
       "dependencies": {
+        "node-domexception": "^1.0.0",
         "web-streams-polyfill": "^3.0.3"
       },
       "engines": {
         "node": "^12.20 || >= 14.13"
       }
     },
-    "node_modules/node-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0.tgz",
-      "integrity": "sha512-bKMI+C7/T/SPU1lKnbQbwxptpCrG9ashG+VkytmXCPZyuM9jB6VU+hY0oi4lC8LxTtAeWdckNCTa3nrGsAdA3Q==",
+    "node_modules/formdata-polyfill": {
+      "version": "4.0.10",
+      "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+      "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
       "dependencies": {
-        "data-uri-to-buffer": "^3.0.1",
         "fetch-blob": "^3.1.2"
       },
+      "engines": {
+        "node": ">=12.20.0"
+      }
+    },
+    "node_modules/node-domexception": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+      "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/jimmywarting"
+        },
+        {
+          "type": "github",
+          "url": "https://paypal.me/jimmywarting"
+        }
+      ],
+      "engines": {
+        "node": ">=10.5.0"
+      }
+    },
+    "node_modules/node-fetch": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz",
+      "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==",
+      "dependencies": {
+        "data-uri-to-buffer": "^4.0.0",
+        "fetch-blob": "^3.1.4",
+        "formdata-polyfill": "^4.0.10"
+      },
       "engines": {
         "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
@@ -74,9 +106,9 @@
       }
     },
     "node_modules/web-streams-polyfill": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz",
-      "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
+      "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA==",
       "engines": {
         "node": ">= 8"
       }
@@ -92,36 +124,51 @@
       }
     },
     "data-uri-to-buffer": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz",
-      "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og=="
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
+      "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA=="
     },
     "fetch-blob": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz",
-      "integrity": "sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ==",
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz",
+      "integrity": "sha512-Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==",
       "requires": {
+        "node-domexception": "^1.0.0",
         "web-streams-polyfill": "^3.0.3"
       }
     },
-    "node-fetch": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.0.0.tgz",
-      "integrity": "sha512-bKMI+C7/T/SPU1lKnbQbwxptpCrG9ashG+VkytmXCPZyuM9jB6VU+hY0oi4lC8LxTtAeWdckNCTa3nrGsAdA3Q==",
+    "formdata-polyfill": {
+      "version": "4.0.10",
+      "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+      "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
       "requires": {
-        "data-uri-to-buffer": "^3.0.1",
         "fetch-blob": "^3.1.2"
       }
     },
+    "node-domexception": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+      "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ=="
+    },
+    "node-fetch": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz",
+      "integrity": "sha512-8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==",
+      "requires": {
+        "data-uri-to-buffer": "^4.0.0",
+        "fetch-blob": "^3.1.4",
+        "formdata-polyfill": "^4.0.10"
+      }
+    },
     "require-from-string": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
       "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
     },
     "web-streams-polyfill": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz",
-      "integrity": "sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q=="
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.0.tgz",
+      "integrity": "sha512-EqPmREeOzttaLRm5HS7io98goBgZ7IVz79aDvqjD0kYXLtFZTc0T/U6wHTPKyIjb+MdN7DFIIX6hgdBEpWmfPA=="
     }
   }
 }

+ 1 - 1
etc/propgen/package.json

@@ -10,6 +10,6 @@
   "license": "ISC",
   "dependencies": {
     "bidi-js": "^1.0.2",
-    "node-fetch": "^3.0.0"
+    "node-fetch": "^3.2.0"
   }
 }

File diff suppressed because it is too large
+ 482 - 480
src/main/webapp/js/app.min.js


+ 5 - 5
src/main/webapp/js/diagramly/App.js

@@ -4620,11 +4620,7 @@ App.prototype.loadTemplate = function(url, onload, onerror, templateFilename, as
 			}
 			else if (new XMLHttpRequest().upload && this.isRemoteFileFormat(data, filterFn))
 			{
-				if (this.isOffline())
-				{
-					this.showError(mxResources.get('error'), mxResources.get('notInOffline'), null, onerror);
-				}
-				else
+				if (this.isExternalDataComms())
 				{
 					// Asynchronous parsing via server
 					this.parseFileData(data, mxUtils.bind(this, function(xhr)
@@ -4636,6 +4632,10 @@ App.prototype.loadTemplate = function(url, onload, onerror, templateFilename, as
 						}
 					}), url);
 				}
+				else
+				{
+					this.showError(mxResources.get('error'), mxResources.get('notInOffline'), null, onerror);
+				}
 			}
 			else if (this.isLucidChartData(data))
 			{

+ 7 - 6
src/main/webapp/js/diagramly/Dialogs.js

@@ -9801,12 +9801,7 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 			}
 			else if (file != null && new XMLHttpRequest().upload && editorUi.isRemoteFileFormat(data, file.name))
 			{
-				if (editorUi.isOffline())
-				{
-					editorUi.spinner.stop();
-					editorUi.showError(mxResources.get('error'), mxResources.get('notInOffline'));
-				}
-				else
+				if (editorUi.isExternalDataComms())
 				{
 					editorUi.parseFile(file, mxUtils.bind(this, function(xhr)
 					{
@@ -9824,6 +9819,12 @@ var LibraryDialog = function(editorUi, name, library, initialImages, file, mode)
 						}
 					}));
 				}
+				else
+				{
+
+					editorUi.spinner.stop();
+					editorUi.showError(mxResources.get('error'), mxResources.get('notInOffline'));
+				}
 			}
 			else
 			{

+ 16 - 7
src/main/webapp/js/diagramly/EditorUi.js

@@ -532,13 +532,22 @@
 	};
 
 	/**
-	 * Returns true if no external comms allowed or possible
+	 * Deprecated. Poorly defined, to be replaced with isExternalDataComms and other more granular flags.
+	 * Original idea was it returns true if no external comms allowed or possible
 	 */
 	EditorUi.prototype.isOffline = function(ignoreStealth)
 	{
 		return this.isOfflineApp() || !navigator.onLine || (!ignoreStealth && (urlParams['stealth'] == '1' || urlParams['lockdown'] == '1'));
 	};
 
+	/**
+	 * Returns true if diagram data transmission other than save/load is allowed or possible..
+	 */
+	EditorUi.prototype.isExternalDataComms = function()
+	{
+		return urlParams['offline'] != '1' && !this.isOffline() && !this.isOfflineApp();
+	};
+
 	/**
 	 * Translates this point by the given vector.
 	 * 
@@ -3526,12 +3535,7 @@
 								}
 								else if (new XMLHttpRequest().upload && this.isRemoteFileFormat(data, img) && file != null)
 								{
-									if (this.isOffline())
-									{
-										this.spinner.stop();
-										this.showError(mxResources.get('error'), mxResources.get('notInOffline'));
-									}
-									else
+									if (this.isExternalDataComms())
 									{
 										this.parseFile(file, mxUtils.bind(this, function(xhr)
 										{
@@ -3552,6 +3556,11 @@
 											}
 										}));
 									}
+									else
+									{
+										this.spinner.stop();
+										this.showError(mxResources.get('error'), mxResources.get('notInOffline'));
+									}
 								}
 								else
 								{

+ 3 - 8
src/main/webapp/js/diagramly/ElectronApp.js

@@ -37,15 +37,10 @@ mxStencilRegistry.allowEval = false;
 	// Overrides default mode
 	App.mode = App.MODE_DEVICE;
 	
-	// Disables all online functionality
-	App.prototype.isOfflineApp = function()
+	// Disables all external transmission functionality
+	App.prototype.isExternalDataComms = function()
 	{
-		return true;
-	};
-	
-	App.prototype.isOffline = function()
-	{
-		return true;
+		return false;
 	};
 	
 	// Disables preview option in embed dialog

+ 0 - 1
src/main/webapp/js/diagramly/Menus.js

@@ -946,7 +946,6 @@
 				this.tagsWindow.window.addListener('show', mxUtils.bind(this, function()
 				{
 					editorUi.fireEvent(new mxEventObject('tags'));
-					this.tagsWindow.window.fit();
 				}));
 				this.tagsWindow.window.addListener('hide', function()
 				{

+ 16 - 11
src/main/webapp/js/diagramly/Minimal.js

@@ -96,12 +96,16 @@ EditorUi.initMinimalTheme = function()
 			
 			if (ui.formatWindow == null)
 			{
-				ui.formatWindow = new WrapperWindow(ui, mxResources.get('format'),
-					(urlParams['sketch'] == '1') ? Math.max(10, ui.diagramContainer.clientWidth - 241) :
-					Math.max(10, ui.diagramContainer.clientWidth - 248), 
-					urlParams['winCtrls'] == '1' && urlParams['sketch'] == '1'? 80 : 60,
-					240, Math.min((urlParams['sketch'] == '1') ? 580 : 566,
-						graph.container.clientHeight - 10), function(container)
+				var x = (urlParams['sketch'] == '1') ?
+					Math.max(10, ui.diagramContainer.clientWidth - 241) :
+					Math.max(10, ui.diagramContainer.clientWidth - 248);
+				var y = urlParams['winCtrls'] == '1' && urlParams['sketch'] == '1'? 80 : 60;
+				var h = (urlParams['embedInline'] == '1') ? 580 :
+					((urlParams['sketch'] == '1') ? 580 : Math.min(566,
+						graph.container.clientHeight - 10));
+				
+				ui.formatWindow = new WrapperWindow(ui, mxResources.get('format'), x, y, 240, h,
+					function(container)
 				{
 					var format = ui.createFormat(container);
 					format.init();
@@ -266,7 +270,8 @@ EditorUi.initMinimalTheme = function()
 			if (ui.sidebarWindow == null)
 			{
 				var w = Math.min(graph.container.clientWidth - 10, 218);
-				var h = Math.min(graph.container.clientHeight - 40, 650);
+				var h = (urlParams['embedInline'] == '1') ? 650 :
+					Math.min(graph.container.clientHeight - 40, 650);
 				
 				ui.sidebarWindow = new WrapperWindow(ui, mxResources.get('shapes'),
 					(urlParams['sketch'] == '1' && urlParams['embedInline'] != '1') ? 66 : 10,
@@ -1688,13 +1693,14 @@ EditorUi.initMinimalTheme = function()
 				var left = parseInt(this.div.offsetLeft);
 				var width = parseInt(this.div.offsetWidth);
 				var right = ui.embedViewport.x + ui.embedViewport.width;
-				this.div.style.left = Math.max(ui.embedViewport.x, Math.min(left, right - width)) + 'px';
-				
 				var top = parseInt(this.div.offsetTop);
 				var height = parseInt(this.div.offsetHeight);
 				var bottom = ui.embedViewport.y + ui.embedViewport.height;
-				
+
+				this.div.style.left = Math.max(ui.embedViewport.x, Math.min(left, right - width)) + 'px';
 				this.div.style.top = Math.max(ui.embedViewport.y, Math.min(top, bottom - height)) + 'px';
+				this.div.style.height = Math.min(ui.embedViewport.height, parseInt(this.div.style.height)) + 'px';
+				this.div.style.width = Math.min(ui.embedViewport.width, parseInt(this.div.style.width)) + 'px';
 			}
 			else
 			{
@@ -2565,7 +2571,6 @@ EditorUi.initMinimalTheme = function()
 				if (ui.currentPage != null)
 				{
 					mxUtils.write(elt, ui.currentPage.getName());
-					console.log('initial page not emptry');
 				}
 
 				footer.appendChild(pageMenu);

+ 0 - 2
src/main/webapp/js/grapheditor/Actions.js

@@ -1801,7 +1801,6 @@ Actions.prototype.init = function()
 			this.layersWindow.window.addListener('show', mxUtils.bind(this, function()
 			{
 				ui.fireEvent(new mxEventObject('layers'));
-				this.layersWindow.window.fit();
 			}));
 			this.layersWindow.window.addListener('hide', function()
 			{
@@ -1834,7 +1833,6 @@ Actions.prototype.init = function()
 			this.outlineWindow.window.addListener('show', mxUtils.bind(this, function()
 			{
 				ui.fireEvent(new mxEventObject('outline'));
-				this.outlineWindow.window.fit();
 			}));
 			this.outlineWindow.window.addListener('hide', function()
 			{

+ 2 - 3
src/main/webapp/js/grapheditor/Graph.js

@@ -1943,10 +1943,9 @@ Graph.prototype.linkTarget = (urlParams['target'] == 'frame') ? '_self' : '_blan
 Graph.prototype.linkRelation = 'nofollow noopener noreferrer';
 
 /**
- * Scrollbars are enabled on non-touch devices (not including Firefox because touch events
- * cannot be detected in Firefox, see above).
+ * Scrollbars setting is overriden in the editor, but not in the viewer.
  */
-Graph.prototype.defaultScrollbars = !mxClient.IS_IOS;
+Graph.prototype.defaultScrollbars = true;
 
 /**
  * Specifies if the page should be visible for new files. Default is true.

File diff suppressed because it is too large
+ 387 - 384
src/main/webapp/js/viewer-static.min.js


File diff suppressed because it is too large
+ 387 - 384
src/main/webapp/js/viewer.min.js


File diff suppressed because it is too large
+ 2 - 2
src/main/webapp/mxgraph/mxClient.js


+ 100 - 100
src/main/webapp/resources/dia_pl.txt

@@ -3,7 +3,7 @@
 about=O aplikacji
 aboutDrawio=O aplikacji draw.io
 accessDenied=Brak dostępu
-action=Akcja
+action=Działanie
 actualSize=Rozmiar rzeczywisty
 add=Dodaj
 addAccount=Dodaj konto
@@ -116,7 +116,7 @@ selectDraft=Wybierz wersję roboczą, aby kontynuować edycję:
 dragAndDropNotSupported=Przeciągnij i upuść dla obrazów nie jest wspierane. Czy chcesz zamiast tego użyć importowania?
 dropboxCharsNotAllowed=Następujące znaki są niedozwolone: \ / : ? * " |
 check=Sprawdź
-checksum=Checksum
+checksum=Suma kontrolna
 circle=Okrąg
 cisco=Cisco
 classic=Klasyczny
@@ -362,9 +362,9 @@ googleDrive=Dysk Google
 googleGadget=Google Gadget
 googlePlus=Google+
 googleSharingNotAvailable=Udostępnianie jest dostępne tylko przez Google Drive. Proszę kliknąć Otwórz poniżej i udostępnić z menu więcej akcji:
-googleSlides=Google Slides
+googleSlides=Prezentacje Google
 googleSites=Google Sites
-googleSheets=Google Sheets
+googleSheets=Arkusze Google
 gradient=Cieniowanie
 gradientColor=Kolor
 grid=Siatka
@@ -524,7 +524,7 @@ notALibraryFile=To nie jest plik biblioteki
 notAvailable=Niedostępny
 notAUtf8File=To nie jest plik z kodowaniem UTF-8
 notConnected=Niepołączony
-note=Notka
+note=Notatka
 notion=Notion
 notSatisfiedWithImport=Nie jesteś zadowolony z importu?
 notUsingService=Nie używasz {1}?
@@ -846,7 +846,7 @@ officeAuthPopupInfo=Proszę uzupełnić dane uwierzytelniające w wyskakującym
 officeSelDiag=Wybierz Diagram draw.io:
 files=Pliki
 shared=Wspólne
-sharepoint=Sharepoint
+sharepoint=SharePoint
 officeManualUpdateInst=Instrukcja: Skopiuj diagram draw.io z dokumentu. Następnie, w polu poniżej, kliknij prawym przyciskiem myszy i z menu kontekstowego wybierz "Wklej".
 officeClickToEdit=Kliknij ikonę, aby rozpocząć edycję:
 pasteDiagram=Wklej diagram draw.io tutaj
@@ -1032,101 +1032,101 @@ fishbone1=Fishbone 1
 fishbone2=Fishbone 2
 1ColumnLeft=Pojedyncza kolumna po lewej
 1ColumnRight=Pojedyncza kolumna po prawej
-smart=Smart
+smart=Inteligentny
 parentChildSpacing=Odstępy między rodzicami i dziećmi
 siblingSpacing=Odstępy między rodzeństwem
 confNoPermErr=Przepraszamy, nie masz wystarczających uprawnień, aby wyświetlić ten osadzony diagram ze strony {1}.
 copyAsImage=Kopiuj jako obraz
-lucidImport=Lucidchart Import
-lucidImportInst1=Click the "Start Import" button to import all Lucidchart diagrams.
-installFirst=Please install {1} first
-drawioChromeExt=draw.io Chrome Extension
-loginFirstThen=Please login to {1} first, then {2}
-errFetchDocList=Error: Couldn't fetch documents list
-builtinPlugins=Built-in Plugins
-extPlugins=External Plugins
-backupFound=Backup file found
-chromeOnly=This feature only works in Google Chrome
-msgDeleted=This message has been deleted
-confAErrFetchDrawList=Error fetching diagrams list. Some diagrams are skipped.
-confAErrCheckDrawDiag=Cannot check diagram {1}
-confAErrFetchPageList=Error fetching pages list
-confADiagImportIncom={1} diagram "{2}" is imported partially and may have missing shapes
-invalidSel=Invalid selection
-diagNameEmptyErr=Diagram name cannot be empty
-openDiagram=Open Diagram
-newDiagram=New diagram
-editable=Editable
-confAReimportStarted=Re-import {1} diagrams started...
-spaceFilter=Filter by spaces
-curViewState=Current Viewer State
-pageLayers=Page and Layers
-customize=Customize
-firstPage=First Page (All Layers)
-curEditorState=Current Editor State
-noAnchorsFound=No anchors found
-attachment=Attachment
-curDiagram=Current Diagram
-recentDiags=Recent Diagrams
-csvImport=CSV Import
-chooseFile=Choose a file...
-choose=Choose
-gdriveFname=Google Drive filename
-widthOfViewer=Width of the viewer (px)
-heightOfViewer=Height of the viewer (px)
-autoSetViewerSize=Automatically set the size of the viewer
-thumbnail=Thumbnail
+lucidImport=Import Lucidchart
+lucidImportInst1=Kliknij przycisk "Rozpocznij import", aby zaimportować wszystkie diagramy Lucidchart.
+installFirst=Proszę najpierw zainstalować {1}.
+drawioChromeExt=Rozszerzenie draw.io do Chrome
+loginFirstThen=Najpierw zaloguj się do {1}, a następnie {2}
+errFetchDocList=Błąd: Nie można pobrać listę dokumentów
+builtinPlugins=Wbudowane wtyczki (pluginy)
+extPlugins=Zewnętrzne wtyczki (pluginy)
+backupFound=Znaleziono plik kopii zapasowej
+chromeOnly=Ta funkcja działa tylko w przeglądarce Google Chrome
+msgDeleted=Ta wiadomość została skasowana
+confAErrFetchDrawList=Błąd pobierania listy diagramów. Niektóre diagramy są pominięte.
+confAErrCheckDrawDiag=Nie można sprawdzić schematu {1}
+confAErrFetchPageList=Błąd pobierania listę stron
+confADiagImportIncom={1} diagram "{2}" jest importowany częściowo i może brakować w nim pewnych kształtów
+invalidSel=Niewłaściwy wybór
+diagNameEmptyErr=Nazwa diagramu nie może być pusta
+openDiagram=Otwórz diagram
+newDiagram=Nowy diagram
+editable=Edytowalne
+confAReimportStarted=Ponowny import {1} diagramów rozpoczęty...
+spaceFilter=Filtrowanie według przestrzeni
+curViewState=Aktualny stan przeglądarki
+pageLayers=Strona i warstwy
+customize=Dostosuj
+firstPage=Pierwsza strona (wszystkie warstwy)
+curEditorState=Aktualny stan edytora
+noAnchorsFound=Nie znaleziono kotwic
+attachment=Załącznik
+curDiagram=Aktualny diagram
+recentDiags=Ostatnie diagramy
+csvImport=Import CSV
+chooseFile=Wybierz plik...
+choose=Wybierz
+gdriveFname=Nazwa pliku w Google Drive
+widthOfViewer=Szerokość przeglądarki (px)
+heightOfViewer=Wysokość przeglądarki (px)
+autoSetViewerSize=Automatycznie ustawiaj rozmiar przeglądarki
+thumbnail=Miniaturka
 prevInDraw=Podgląd w draw.io
-onedriveFname=OneDrive filename
-diagFname=Diagram filename
-diagUrl=Diagram URL
-showDiag=Show Diagram
-diagPreview=Diagram Preview
-csvFileUrl=CSV File URL
-generate=Generate
-selectDiag2Insert=Please select a diagram to insert it.
-errShowingDiag=Unexpected error. Cannot show diagram
-noRecentDiags=No recent diagrams found
-fetchingRecentFailed=Failed to fetch recent diagrams
-useSrch2FindDiags=Use the search box to find draw.io diagrams
-cantReadChckPerms=Cannot read the specified diagram. Please check you have read permission on that file.
-cantFetchChckPerms=Cannot fetch diagram info. Please check you have read permission on that file.
-searchFailed=Searching failed. Please try again later.
-plsTypeStr=Please type a search string.
-unsupportedFileChckUrl=Unsupported file. Please check the specified URL
-diagNotFoundChckUrl=Diagram not found or cannot be accessed. Please check the specified URL
-csvNotFoundChckUrl=CSV file not found or cannot be accessed. Please check the specified URL
-cantReadUpload=Cannot read the uploaded diagram
-select=Select
-errCantGetIdType=Unexpected Error: Cannot get content id or type.
-errGAuthWinBlocked=Error: Google Authentication window blocked
-authDrawAccess=Authorize draw.io to access {1}
-connTimeout=The connection has timed out
-errAuthSrvc=Error authenticating to {1}
-plsSelectFile=Please select a file
-mustBgtZ={1} must be greater than zero
-cantLoadPrev=Cannot load file preview.
-errAccessFile=Error: Access Denied. You do not have permission to access "{1}".
-noPrevAvail=No preview is available.
-personalAccNotSup=Personal accounts are not supported.
-errSavingTryLater=Error occurred during saving, please try again later.
-plsEnterFld=Please enter {1}
-invalidDiagUrl=Invalid Diagram URL
-unsupportedVsdx=Unsupported vsdx file
-unsupportedImg=Unsupported image file
-unsupportedFormat=Unsupported file format
-plsSelectSingleFile=Please select a single file only
-attCorrupt=Attachment file "{1}" is corrupted
-loadAttFailed=Failed to load attachment "{1}"
-embedDrawDiag=Embed draw.io Diagram
-addDiagram=Add Diagram
-embedDiagram=Embed Diagram
-editOwningPg=Edit owning page
-deepIndexing=Deep Indexing (Index diagrams that aren't used in any page also)
-confADeepIndexStarted=Deep Indexing Started
-confADeepIndexDone=Deep Indexing Done
-officeNoDiagramsSelected=No diagrams found in the selection
-officeNoDiagramsInDoc=No diagrams found in the document
+onedriveFname=Nazwa pliku w OneDrive
+diagFname=Nazwa pliku diagramu
+diagUrl=Adres URL diagramu
+showDiag=Pokaż diagram
+diagPreview=Podgląd diagramu
+csvFileUrl=Adres URL do pliku CSV
+generate=Generuj
+selectDiag2Insert=Proszę wybrać diagram, aby go wstawić.
+errShowingDiag=Nieoczekiwany błąd. Nie można wyświetlić diagramu
+noRecentDiags=Nie znaleziono aktualnych diagramów
+fetchingRecentFailed=Nie udało się pobrać ostatnich diagramów
+useSrch2FindDiags=Użyj pola wyszukiwarki, aby znaleźć diagramy draw.io
+cantReadChckPerms=Nie można odczytać podanego diagramu. Proszę sprawdzić, czy masz uprawnienia do odczytu tego pliku.
+cantFetchChckPerms=Nie można pobrać informacji o diagramie. Proszę sprawdzić, czy masz uprawnienia do odczytu tego pliku.
+searchFailed=Wyszukiwanie nie powiodło się. Proszę spróbować ponownie później.
+plsTypeStr=Proszę wpisać szukane słowo.
+unsupportedFileChckUrl=Nieobsługiwany plik. Proszę sprawdzić podany adres URL
+diagNotFoundChckUrl=Diagram nie został znaleziony lub nie można się do niego dostać. Proszę sprawdzić podany adres URL
+csvNotFoundChckUrl=Nie znaleziono pliku CSV lub nie można uzyskać do niego dostępu. Proszę sprawdzić podany adres URL
+cantReadUpload=Nie można odczytać przesłanego diagramu
+select=Wybierz
+errCantGetIdType=Nieoczekiwany błąd: Nie można uzyskać ID zawartości lub typu.
+errGAuthWinBlocked=Błąd: Okno uwierzytelniania Google zablokowane
+authDrawAccess=Upoważnij draw.io do dostępu do {1}
+connTimeout=Połączenie zostało przerwane.
+errAuthSrvc=Błąd uwierzytelniania do {1}.
+plsSelectFile=Wybierz plik
+mustBgtZ={1} musi być większe od zera
+cantLoadPrev=Nie można załadować podglądu pliku.
+errAccessFile=Błąd: Odmowa dostępu. Nie masz uprawnień, aby uzyskać dostęp do "{1}".
+noPrevAvail=Brak podglądu.
+personalAccNotSup=Konta osobiste nie są obsługiwane.
+errSavingTryLater=Wystąpił błąd podczas zapisywania, proszę spróbować ponownie później.
+plsEnterFld=Proszę wpisać {1}.
+invalidDiagUrl=Nieprawidłowy adres URL diagramu
+unsupportedVsdx=Nieobsługiwany plik vsdx
+unsupportedImg=Nieobsługiwany plik obrazu
+unsupportedFormat=Nieobsługiwany format pliku
+plsSelectSingleFile=Proszę wybrać tylko jeden plik
+attCorrupt=Dołączony plik "{1}" jest uszkodzony.
+loadAttFailed=Nie udało się załadować załącznika "{1}"
+embedDrawDiag=Osadź diagram draw.io
+addDiagram=Dodaj diagram
+embedDiagram=Diagram osadzony
+editOwningPg=Edytuj stronę będącą właścicielem
+deepIndexing=Głębokie indeksowanie (Indeksowanie schematów, które nie są również wykorzystywane na żadnej stronie)
+confADeepIndexStarted=Rozpoczęto głębokie indeksowanie
+confADeepIndexDone=Głębokie indeksowanie wykonane
+officeNoDiagramsSelected=W wyborze nie znaleziono żadnych wykresów
+officeNoDiagramsInDoc=W dokumencie nie znaleziono żadnych diagramów
 officeNotSupported=Ta funkcja nie jest obsługiwana w tej aplikacji hosta.
 someImagesFailed={1} z {2} nie powiodło się z powodu następujących błędów
 importingNoUsedDiagrams=Import {1} Nieużywane schematy na stronach
@@ -1148,7 +1148,7 @@ replaceAll=Zamień wszystkie
 confASkipDiagModified=Pominięto "{1}", ponieważ zostało zmodyfikowane po pierwszym imporcie
 replFind=Zamień/Znajdź
 matchesRepl=Zamieniono {1} dopasowań
-draftErrDataLoss=An error occurred while reading the draft file. The diagram cannot be edited now to prevent any possible data loss. Please try again later or contact support.
+draftErrDataLoss=Wystąpił błąd podczas odczytu pliku roboczego. Diagram nie może być teraz edytowany, aby zapobiec ewentualnej utracie danych. Prosimy spróbować ponownie później lub skontaktować się z pomocą techniczną.
 ibm=IBM
 linkToDiagramHint=Dodaj link do tego diagramu. Diagram może być edytowany tylko z poziomu strony, która jest jego właścicielem.
 linkToDiagram=Link do schematu
@@ -1164,7 +1164,7 @@ confDraftPermissionErr=Projekt nie może być zapisany. Czy masz uprawnienia do
 confDraftTooBigErr=Rozmiar szkicu jest zbyt duży. Proszę sprawdzić "Attachment Maximum Size" w "Attachment Settings" w Konfiguracji Confluence?
 owner=Właściciel
 repository=Repozytorium
-branch=Branch
+branch=Bramch / Oddział
 meters=Metry
 teamsNoEditingMsg=Funkcjonalność edytora jest dostępna tylko na komputerze stacjonarnym (w aplikacji MS Teams lub w przeglądarce internetowej)
 contactOwner=Skontaktuj się z właścicielem
@@ -1180,5 +1180,5 @@ txtSettings=Ustawienia tekstu
 LinksLost=Linki zostaną utracone
 arcSize=Rozmiar łuku
 editConnectionPoints=Edycja punktów połączeń
-notInOffline=Not supported while offline
-notInDesktop=Not supported in Desktop App
+notInOffline=Nieobsługiwane w trybie offline
+notInDesktop=Nie obsługiwane w aplikacji na komputery stacjonarne

File diff suppressed because it is too large
+ 1 - 1
src/main/webapp/service-worker.js


File diff suppressed because it is too large
+ 1 - 1
src/main/webapp/service-worker.js.map