This commit is contained in:
Jedd Morgan
2026-01-21 19:10:34 +00:00
committed by oguzhankoral
parent db205024cc
commit 293e478e01
53 changed files with 522 additions and 69 deletions
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -362,6 +363,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -362,6 +363,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -237,7 +237,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -312,6 +313,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -237,7 +237,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -312,6 +313,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -297,7 +297,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -372,6 +373,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -297,7 +297,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -372,6 +373,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -297,7 +297,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -372,6 +373,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -246,7 +246,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -322,6 +323,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -246,7 +246,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -322,6 +323,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -361,6 +362,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -237,7 +237,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -310,6 +311,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -294,7 +294,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -363,6 +364,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -295,7 +295,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -365,6 +366,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
".NETFramework,Version=v4.8/win-x64": {
@@ -310,7 +310,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -383,6 +384,12 @@
"requested": "[2023.0.0, )",
"resolved": "2022.0.2.1",
"contentHash": "IrLN4WyI2ix+g3zCpo7sX8zNB3FrtrdQ3E2RpceGVPNG00v8OfD+Kei7o1bn1u/ML46iBYRAr/JcsLbwfUQsBw=="
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -310,7 +310,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -383,6 +384,12 @@
"requested": "[2023.0.0, )",
"resolved": "2023.0.0",
"contentHash": "tq40eD7psgTbV+epNouYyqfo6+hEi7FmXZqcxEOsAV7zfYyWhL6Rt3vmojkWGNuerGbH6oRI6KIIxrnlCNb8Hw=="
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -310,7 +310,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -383,6 +384,12 @@
"requested": "[2023.0.0, )",
"resolved": "2024.0.0",
"contentHash": "a4dsvZ00ocvzTgCD6dUdydf0jIZDVcDhs6dUX9cv+y3aTDbU8rmzhYXWt8sThedIG+IPSVa0vHmAH9pKiJL3SQ=="
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -253,7 +253,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -326,6 +327,12 @@
"requested": "[2023.0.0, )",
"resolved": "2025.0.0",
"contentHash": "Hwf/3Ydc7KxvjgD9pSZKLSJRsFTsxYg95YyTm6f43hcsGjmk49GsLFQt921Z9OcvUVewOggQHcmBgti+P2EPHw=="
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -246,7 +246,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -310,6 +311,12 @@
"requested": "[2023.0.0, )",
"resolved": "2026.0.0",
"contentHash": "SiqqKbF1pXyZWXZhAl2JhjYhTt7RiYO5JaQrAjq+OlleAjT4zatwAp/DnTwQspFbP7UZr3b2Ed2kuWNN0ZFelw=="
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -42,6 +42,17 @@ public partial class CefSharpPanel : Page, Autodesk.Revit.UI.IDockablePaneProvid
}
}
public Task ExecuteScriptAsyncMethod(string script, CancellationToken cancellationToken)
{
Browser.Dispatcher.Invoke(
() => Browser.ExecuteScriptAsync(script),
DispatcherPriority.Background,
cancellationToken
);
return Task.CompletedTask;
}
public void SendProgress(string script) => ExecuteScript(script);
public bool IsBrowserInitialized => Browser.IsBrowserInitialized;
@@ -335,7 +335,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -437,6 +438,12 @@
"System.Formats.Nrbf": "9.0.4",
"System.Memory": "4.5.5"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -335,7 +335,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -436,6 +437,12 @@
"System.Formats.Nrbf": "9.0.4",
"System.Memory": "4.5.5"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -262,7 +262,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -335,6 +336,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0/win-x64": {
@@ -354,7 +354,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -436,6 +437,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -435,7 +435,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -517,6 +518,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -435,7 +435,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -517,6 +518,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -355,6 +356,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -237,7 +237,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -304,6 +305,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -237,7 +237,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -304,6 +305,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -246,7 +246,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -313,6 +314,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -246,7 +246,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -313,6 +314,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -289,7 +289,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -343,6 +344,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -341,7 +341,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -404,6 +405,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -48,6 +48,21 @@ public sealed partial class DUI3ControlWebView : UserControl, IBrowserScriptExec
}
}
public Task ExecuteScriptAsyncMethod(string script, CancellationToken cancellationToken)
{
if (!Browser.IsInitialized)
{
throw new InvalidOperationException("Failed to execute script, Webview2 is not initialized yet.");
}
//always invoke even on the main thread because it's better somehow
Browser.Dispatcher.Invoke(
//fire and forget
() => Browser.ExecuteScriptAsync(script),
DispatcherPriority.Background
);
return Task.CompletedTask;
}
public void SendProgress(string script) => ExecuteScript(script);
private void OnInitialized(object? sender, CoreWebView2InitializationCompletedEventArgs e)
@@ -288,7 +288,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -342,6 +343,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
},
"net8.0-windows7.0": {
@@ -580,7 +587,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.logging": {
@@ -634,6 +642,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -3,6 +3,7 @@ using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading.Tasks.Dataflow;
using Microsoft.Extensions.Logging;
using Speckle.Connectors.Common.Threading;
using Speckle.Connectors.DUI.Bindings;
@@ -29,6 +30,8 @@ public sealed class BrowserBridge : IBrowserBridge
/// </summary>
private readonly ConcurrentDictionary<string, string?> _resultsStore = new();
private readonly SynchronizationContext _mainThreadContext;
private ActionBlock<RunMethodArgs>? _actionBlock;
private readonly ITopLevelExceptionHandler _topLevelExceptionHandler;
private readonly IThreadContext _threadContext;
@@ -58,6 +61,13 @@ public sealed class BrowserBridge : IBrowserBridge
}
}
private struct RunMethodArgs
{
public string MethodName;
public string RequestId;
public string MethodArgs;
}
public BrowserBridge(
IThreadContext threadContext,
IJsonSerializer jsonSerializer,
@@ -71,6 +81,7 @@ public sealed class BrowserBridge : IBrowserBridge
_logger = logger;
_browserScriptExecutor = browserScriptExecutor;
_topLevelExceptionHandler = topLevelExceptionHandler;
_mainThreadContext = SynchronizationContext.Current.NotNull("No UI thread to capture?");
}
private async Task OnExceptionEvent(Exception ex) =>
@@ -103,6 +114,24 @@ public sealed class BrowserBridge : IBrowserBridge
}
_bindingMethodCache = bindingMethodCache;
_logger.LogInformation("Bridge bound to front end name {FrontEndName}", binding.Name);
_actionBlock = new ActionBlock<RunMethodArgs>(
OnActionBlock,
new ExecutionDataflowBlockOptions { MaxDegreeOfParallelism = 1000 }
);
}
private async Task OnActionBlock(RunMethodArgs args)
{
Result<object?> result = await _topLevelExceptionHandler
.CatchUnhandledAsync(async () => await ExecuteMethod(args.MethodName, args.MethodArgs).ConfigureAwait(false))
.ConfigureAwait(false);
string resultJson = result.IsSuccess
? _jsonSerializer.Serialize(result.Value)
: SerializeFormattedException(result.Exception);
await NotifyUIMethodCallResultReady(args.RequestId, resultJson).ConfigureAwait(false);
}
/// <summary>
@@ -116,26 +145,68 @@ public sealed class BrowserBridge : IBrowserBridge
return bindingNames;
}
//don't wait for browser runs on purpose
public void RunMethod(string methodName, string requestId, string methodArgs) =>
_threadContext
.RunOnWorkerAsync(async () =>
{
var task = await _topLevelExceptionHandler
.CatchUnhandledAsync(async () =>
// //don't wait for browser runs on purpose
// public void RunMethod(string methodName, string requestId, string methodArgs) =>
// _threadContext
// .RunOnWorkerAsync(async () =>
// {
// var task = await _topLevelExceptionHandler
// .CatchUnhandledAsync(async () =>
// {
// var result = await ExecuteMethod(methodName, methodArgs).ConfigureAwait(false);
// string resultJson = _jsonSerializer.Serialize(result);
// NotifyUIMethodCallResultReady(requestId, resultJson);
// })
// .ConfigureAwait(false);
// if (task.Exception is not null)
// {
// string resultJson = SerializeFormattedException(task.Exception);
// NotifyUIMethodCallResultReady(requestId, resultJson);
// }
// })
// .FireAndForget();
/// <summary>
/// This method posts the requested call to our action block executor.
/// </summary>
/// <param name="methodName"></param>
/// <param name="requestId"></param>
/// <param name="args"></param>
public void RunMethod(string methodName, string requestId, string args)
{
_topLevelExceptionHandler.CatchUnhandled(Post);
return;
void Post()
{
bool wasAccepted = _actionBlock
.NotNull()
.Post(
new RunMethodArgs
{
var result = await ExecuteMethod(methodName, methodArgs).ConfigureAwait(false);
string resultJson = _jsonSerializer.Serialize(result);
NotifyUIMethodCallResultReady(requestId, resultJson);
})
.ConfigureAwait(false);
if (task.Exception is not null)
{
string resultJson = SerializeFormattedException(task.Exception);
NotifyUIMethodCallResultReady(requestId, resultJson);
}
})
.FireAndForget();
MethodName = methodName,
RequestId = requestId,
MethodArgs = args
}
);
if (!wasAccepted)
{
throw new InvalidOperationException($"Action block declined to Post ({methodName} {requestId} {args})");
}
}
}
public void RunOnMainThread(Action action)
{
_mainThreadContext.Post(
_ =>
{
// Execute the action on the main thread
_topLevelExceptionHandler.CatchUnhandled(action);
},
null
);
}
/// <summary>
/// Used by the action block to invoke the actual method called by the UI.
@@ -228,11 +299,22 @@ public sealed class BrowserBridge : IBrowserBridge
/// <param name="requestId"></param>
/// <param name="serializedData"></param>
/// <exception cref="InvalidOperationException"><inheritdoc cref="IBrowserScriptExecutor.ExecuteScript"/></exception>
private void NotifyUIMethodCallResultReady(string requestId, string? serializedData = null)
// private void NotifyUIMethodCallResultReady(string requestId, string? serializedData = null)
// {
// _resultsStore[requestId] = serializedData;
// string script = $"{FrontendBoundName}.responseReady('{requestId}')";
// _browserScriptExecutor.ExecuteScript(script);
// }
private async Task NotifyUIMethodCallResultReady(
string requestId,
string? serializedData = null,
CancellationToken cancellationToken = default
)
{
_resultsStore[requestId] = serializedData;
string script = $"{FrontendBoundName}.responseReady('{requestId}')";
_browserScriptExecutor.ExecuteScript(script);
await _browserScriptExecutor.ExecuteScriptAsyncMethod(script, cancellationToken).ConfigureAwait(false);
}
/// <summary>
@@ -6,6 +6,8 @@ public interface IBrowserScriptExecutor
/// <param name="script">The (constant string) script to execute on the browser</param>
void ExecuteScript(string script);
public Task ExecuteScriptAsyncMethod(string script, CancellationToken cancellationToken);
void SendProgress(string script);
bool IsBrowserInitialized { get; }
@@ -11,6 +11,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" />
<PackageReference Include="System.Threading.Tasks.Dataflow" />
</ItemGroup>
<ItemGroup>
@@ -39,6 +39,12 @@
"resolved": "0.9.6",
"contentHash": "HKH7tYrYYlCK1ct483hgxERAdVdMtl7gUKW9ijWXxA1UsYR4Z+TrRHYmzZ9qmpu1NnTycSrp005NYM78GDKV1w=="
},
"System.Threading.Tasks.Dataflow": {
"type": "Direct",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
},
"GraphQL.Client": {
"type": "Transitive",
"resolved": "6.0.0",
@@ -369,6 +375,12 @@
"resolved": "0.9.6",
"contentHash": "HKH7tYrYYlCK1ct483hgxERAdVdMtl7gUKW9ijWXxA1UsYR4Z+TrRHYmzZ9qmpu1NnTycSrp005NYM78GDKV1w=="
},
"System.Threading.Tasks.Dataflow": {
"type": "Direct",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
},
"GraphQL.Client": {
"type": "Transitive",
"resolved": "6.0.0",
+2 -1
View File
@@ -39,6 +39,7 @@
<PackageVersion Include="Speckle.Triangle" Version="1.0.0" />
<PackageVersion Include="System.Resources.Extensions" Version="9.0.4" />
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="10.0.2" />
<PackageVersion Include="Tekla.Structures.Dialog" Version="2024.0.4" PrivateAssets="all" IncludeAssets="compile; build" />
<PackageVersion Include="Tekla.Structures.Drawing" Version="2024.0.4" />
<PackageVersion Include="Tekla.Structures.Model" Version="2024.0.4" />
@@ -62,4 +63,4 @@
<GlobalPackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.3" />
<!-- allows for non-windows platforms to target net48 without error -->
</ItemGroup>
</Project>
</Project>
@@ -520,7 +520,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -628,6 +629,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}
@@ -281,7 +281,8 @@
"type": "Project",
"dependencies": {
"Microsoft.Extensions.Logging.Abstractions": "[2.2.0, )",
"Speckle.Connectors.Common": "[1.0.0, )"
"Speckle.Connectors.Common": "[1.0.0, )",
"System.Threading.Tasks.Dataflow": "[10.0.2, )"
}
},
"speckle.connectors.dui.webview": {
@@ -362,6 +363,12 @@
"dependencies": {
"Speckle.Sdk": "3.12.0"
}
},
"System.Threading.Tasks.Dataflow": {
"type": "CentralTransitive",
"requested": "[10.0.2, )",
"resolved": "10.0.2",
"contentHash": "h1jjCvwBFPXfH4y8KeGXERA+D/oKWUwZ5zX8TXO3YSQRi7zWiNxhvc8GTgFFEW11yTvepjVugDxemtzNDMW7Qw=="
}
}
}