Request: dashboardhub negotiateVersion=1

Hello,

first thanks for this great product. We are doing a PoC right now and we also checked the requests done in the background. We are not sure why there requests are done:

POST /dashboardhub/negotiate?dashboardid=1&negotiateVersion=1 HTTP/1.1
Host: someurl.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://someurl.com/board/page
Content-Type: text/plain;charset=UTF-8
X-Requested-With: XMLHttpRequest
X-Signalr-User-Agent: Microsoft SignalR/5.0 (5.0.7; Unknown OS; Browser; Unknown Runtime Version)
Origin: https://someurl.com
Content-Length: 0
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers

We get as an answer:

HTTP/2 200 OK
Content-Type: application/json
Date: Fri, 12 May 2023 11:15:50 GMT
Server: Kestrel
Content-Length: 316
Strict-Transport-Security: max-age=31536000

 

{"negotiateVersion":1,"connectionId":"P5n7tr123456","connectionToken":"JIy123456","availableTransports":[{"transport":"WebSockets","transferFormats":["Text","Binary"]},{"transport":"ServerSentEvents","transferFormats":["Text"]},{"transport":"LongPolling","transferFormats":["Text","Binary"]}]}
Product: PowerShell Universal
Version: 3.7.11

Sometimes we have also the same requests very often:

post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88badfvalidate
post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88badfvalidate
post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88badfvalidate
post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88badfvalidate
post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88badfvalidate
post https://someurl.com:443/api/internal/component/element/d923ddaa-3374-4a1c-acec-674fab88bad?form=true

Thanks a lot!

The first request is a web socket connection. We use it for communicating back and forth from dashboards and the admin console for notifications.

The frequent requests are likely some sort of element that is auto-reloading so it calls back to the server depending on the configuration.