thingsboard-aplcache
Changes
application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java 6(+3 -3)
ui/src/app/services/toast.scss 3(+3 -0)
Details
diff --git a/application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java b/application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java
index c0a3ee7..ebd068d 100644
--- a/application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java
+++ b/application/src/main/java/org/thingsboard/server/controller/plugin/TbWebSocketHandler.java
@@ -263,7 +263,7 @@ public class TbWebSocketHandler extends TextWebSocketHandler implements Telemetr
if (regularUserSessions.size() < maxSessionsPerRegularUser) {
regularUserSessions.add(sessionId);
} else {
- log.info("[{}][{}][{}] Failed to start session. Max user sessions limit reached"
+ log.info("[{}][{}][{}] Failed to start session. Max regular user sessions limit reached"
, sessionRef.getSecurityCtx().getTenantId(), sessionRef.getSecurityCtx().getId(), sessionId);
session.close(CloseStatus.POLICY_VIOLATION.withReason("Max regular user sessions limit reached"));
return false;
@@ -276,7 +276,7 @@ public class TbWebSocketHandler extends TextWebSocketHandler implements Telemetr
if (publicUserSessions.size() < maxSessionsPerPublicUser) {
publicUserSessions.add(sessionId);
} else {
- log.info("[{}][{}][{}] Failed to start session. Max user sessions limit reached"
+ log.info("[{}][{}][{}] Failed to start session. Max public user sessions limit reached"
, sessionRef.getSecurityCtx().getTenantId(), sessionRef.getSecurityCtx().getId(), sessionId);
session.close(CloseStatus.POLICY_VIOLATION.withReason("Max public user sessions limit reached"));
return false;
diff --git a/application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java b/application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java
index 89ecc9b..683a8c5 100644
--- a/application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java
+++ b/application/src/main/java/org/thingsboard/server/service/telemetry/DefaultTelemetryWebSocketService.java
@@ -266,7 +266,7 @@ public class DefaultTelemetryWebSocketService implements TelemetryWebSocketServi
} else if (customerSessions.size() < maxSubscriptionsPerCustomer) {
customerSessions.add(subId);
} else {
- log.info("[{}][{}][{}] Failed to start subscription. Max customer sessions limit reached"
+ log.info("[{}][{}][{}] Failed to start subscription. Max customer subscriptions limit reached"
, sessionRef.getSecurityCtx().getTenantId(), sessionRef.getSecurityCtx().getId(), subId);
msgEndpoint.close(sessionRef, CloseStatus.POLICY_VIOLATION.withReason("Max customer subscriptions limit reached"));
return false;
@@ -279,7 +279,7 @@ public class DefaultTelemetryWebSocketService implements TelemetryWebSocketServi
if (regularUserSessions.size() < maxSubscriptionsPerRegularUser) {
regularUserSessions.add(subId);
} else {
- log.info("[{}][{}][{}] Failed to start subscription. Max user sessions limit reached"
+ log.info("[{}][{}][{}] Failed to start subscription. Max regular user subscriptions limit reached"
, sessionRef.getSecurityCtx().getTenantId(), sessionRef.getSecurityCtx().getId(), subId);
msgEndpoint.close(sessionRef, CloseStatus.POLICY_VIOLATION.withReason("Max regular user subscriptions limit reached"));
return false;
@@ -292,7 +292,7 @@ public class DefaultTelemetryWebSocketService implements TelemetryWebSocketServi
if (publicUserSessions.size() < maxSubscriptionsPerPublicUser) {
publicUserSessions.add(subId);
} else {
- log.info("[{}][{}][{}] Failed to start subscription. Max user sessions limit reached"
+ log.info("[{}][{}][{}] Failed to start subscription. Max public user subscriptions limit reached"
, sessionRef.getSecurityCtx().getTenantId(), sessionRef.getSecurityCtx().getId(), subId);
msgEndpoint.close(sessionRef, CloseStatus.POLICY_VIOLATION.withReason("Max public user subscriptions limit reached"));
return false;
diff --git a/ui/src/app/api/telemetry-websocket.service.js b/ui/src/app/api/telemetry-websocket.service.js
index 973e7a5..7d4ee2f 100644
--- a/ui/src/app/api/telemetry-websocket.service.js
+++ b/ui/src/app/api/telemetry-websocket.service.js
@@ -26,7 +26,7 @@ const WS_IDLE_TIMEOUT = 90000;
const MAX_PUBLISH_COMMANDS = 10;
/*@ngInject*/
-function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, toast, types, userService) {
+function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, $mdUtil, toast, types, userService) {
var isOpening = false,
isOpened = false,
@@ -111,7 +111,10 @@ function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, to
}
}
- function onError (/*message*/) {
+ function onError (errorEvent) {
+ if (errorEvent) {
+ showWsError(0, errorEvent);
+ }
isOpening = false;
}
@@ -137,7 +140,10 @@ function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, to
}
}
- function onClose () {
+ function onClose (closeEvent) {
+ if (closeEvent && closeEvent.code > 1000) {
+ showWsError(closeEvent.code, closeEvent.reason);
+ }
isOpening = false;
isOpened = false;
if (isActive) {
@@ -191,7 +197,9 @@ function TelemetryWebsocketService($rootScope, $websocket, $timeout, $window, to
} else {
message += "error code - " + errorCode + ".";
}
- toast.showError(message);
+ $mdUtil.nextTick(function () {
+ toast.showError(message);
+ });
}
function fetchKeys(subscriptionId) {
ui/src/app/services/toast.scss 3(+3 -0)
diff --git a/ui/src/app/services/toast.scss b/ui/src/app/services/toast.scss
index 952a42d..cea79d0 100644
--- a/ui/src/app/services/toast.scss
+++ b/ui/src/app/services/toast.scss
@@ -16,18 +16,21 @@
md-toast.tb-info-toast .md-toast-content {
height: 100%;
+ max-height: 100%;
padding: 18px;
font-size: 18px;
}
md-toast.tb-success-toast .md-toast-content {
height: 100%;
+ max-height: 100%;
font-size: 18px !important;
background-color: #008000;
}
md-toast.tb-error-toast .md-toast-content {
height: 100%;
+ max-height: 100%;
font-size: 18px !important;
background-color: #800000;
}