<!--
Please DO NOT ERASE this template, but fill in the details as requested. T…his will ensure your issue is properly filed and will be considered. Otherwise, we may reserve the right to close it without further action.
-->
## The problem
Using a JS transform script which throws e ClassNotFoundException completely breaks mainUI.
To fix this problem once it occurs, there are 2 options requiring access to the file system:
1. delete the offending JS transform (foo.js)
2. remove the offending JS transform pattern in the JSON database: stop openHAB service, edit `$OPENHAB_USERDATA/jsondb/org.openhab.core.items.Metadata.json` to remove the offending metadata by hand, then start the openHAB service.
## Expected behavior
<!--
Describe what you expected to happen or how it should look/behave.
-->
MainUI should not crash when this type of errors occurs.
## Steps to reproduce
<!--
Provide accurate steps to reproduce the issue, including pastes of widget/page code if necessary.
-->
Create a JS transform 'foo.js' as a file under `$OPENHAB_CONF/transform/foo.js` that will fail, e.g.:
```js
(function(data) {
var QuantityType = Java.type('org.openhab.core.library.types.QuantityType');
return 'test';
})(input)
```
Logging (`openhab.log` will show:
```txt
==> /var/log/openhab/openhab.log <==
2023-04-30 10:56:33.255 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - Problem with writing the data, class org.openhab.core.io.rest.Stream2JSONInputStream, ContentType: application/json
2023-04-30 10:56:33.257 [ERROR] [internal.JSONResponseExceptionMapper] - Unexpected exception occurred while processing REST request.
java.lang.RuntimeException: java.lang.ClassNotFoundException: org.openhab.core.library.types.QuantityType cannot be found by org.apache.aries.jax.rs.whiteboard_2.0.0
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:531) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:428) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:521) ~[jdk.scripting.nashorn:?]
at javax.script.CompiledScript.eval(CompiledScript.java:89) ~[java.scripting:?]
at org.openhab.transform.javascript.internal.JavaScriptTransformationService.transform(JavaScriptTransformationService.java:126) ~[?:?]
at org.openhab.core.transform.TransformationHelper.transform(TransformationHelper.java:125) ~[?:?]
at org.openhab.core.transform.TransformationHelper.transform(TransformationHelper.java:100) ~[?:?]
at org.openhab.core.io.rest.core.item.EnrichedItemDTOMapper.considerTransformation(EnrichedItemDTOMapper.java:148) ~[?:?]
at org.openhab.core.io.rest.core.item.EnrichedItemDTOMapper.map(EnrichedItemDTOMapper.java:81) ~[?:?]
at org.openhab.core.io.rest.core.item.EnrichedItemDTOMapper.map(EnrichedItemDTOMapper.java:64) ~[?:?]
at org.openhab.core.io.rest.core.internal.item.ItemResource.lambda$2(ItemResource.java:222) ~[?:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[?:?]
at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1642) ~[?:?]
at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[?:?]
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[?:?]
at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169) ~[?:?]
at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[?:?]
at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:?]
at org.openhab.core.io.rest.Stream2JSONInputStream.fillBuffer(Stream2JSONInputStream.java:91) ~[?:?]
at org.openhab.core.io.rest.Stream2JSONInputStream.read(Stream2JSONInputStream.java:67) ~[?:?]
at java.io.InputStream.read(InputStream.java:280) ~[?:?]
at java.io.InputStream.transferTo(InputStream.java:704) ~[?:?]
at org.openhab.core.io.rest.core.internal.GsonMessageBodyWriter.writeTo(GsonMessageBodyWriter.java:83) ~[?:?]
at org.openhab.core.io.rest.core.internal.MediaTypeExtension.writeTo(MediaTypeExtension.java:84) ~[?:?]
at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1543) ~[bundleFile:3.4.5]
at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:249) ~[bundleFile:3.4.5]
at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:122) ~[bundleFile:3.4.5]
at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:84) ~[bundleFile:3.4.5]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:90) ~[bundleFile:3.4.5]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:265) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:225) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298) ~[bundleFile:3.4.5]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:222) ~[bundleFile:3.4.5]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) ~[bundleFile:3.1.0]
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273) ~[bundleFile:3.4.5]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550) ~[bundleFile:9.4.46.v20220331]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:74) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[bundleFile:9.4.46.v20220331]
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:294) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.46.v20220331]
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:90) ~[bundleFile:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.46.v20220331]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.46.v20220331]
at java.lang.Thread.run(Thread.java:829) [?:?]
Caused by: java.lang.ClassNotFoundException: org.openhab.core.library.types.QuantityType cannot be found by org.apache.aries.jax.rs.whiteboard_2.0.0
at org.eclipse.osgi.internal.loader.BundleLoader.generateException(BundleLoader.java:529) ~[org.eclipse.osgi-3.17.200.jar:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass0(BundleLoader.java:524) ~[org.eclipse.osgi-3.17.200.jar:?]
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:416) ~[org.eclipse.osgi-3.17.200.jar:?]
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:168) ~[org.eclipse.osgi-3.17.200.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:622) ~[org.eclipse.osgi-3.17.200.jar:?]
at org.ops4j.pax.swissbox.core.BundleClassLoader.findClass(BundleClassLoader.java:176) ~[bundleFile:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
at org.ops4j.pax.swissbox.core.BundleClassLoader.loadClass(BundleClassLoader.java:192) ~[bundleFile:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:398) ~[?:?]
at jdk.nashorn.internal.runtime.Context.findClass(Context.java:1180) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava.java:546) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:326) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:318) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:314) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$110$1A$\^eval\_/0x4e52a6c8.L:1(<eval>:2) ~[?:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$109$\^eval\_/0x550c94b0.:program(<eval>:1) ~[?:?]
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ~[jdk.scripting.nashorn:?]
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ~[jdk.scripting.nashorn:?]
... 75 more
```
## Your environment
<!--
As an admin, in the main UI, choose *Help & About* on the left sidebar, expand *Technical information* and click on *View details*, then click *Copy* and paste the results here. You may omit information that is not pertinent to this issue if you feel it's divulging information you'd like not to share.
-->
```yaml
runtimeInfo:
version: 3.4.3
buildString: Release Build
locale: en-BE
systemInfo:
configFolder: /etc/openhab
userdataFolder: /var/lib/openhab
logFolder: /var/log/openhab
javaVersion: 11.0.18
javaVendor: Raspbian
osName: Linux
osVersion: 6.1.21-v7+
osArchitecture: arm
availableProcessors: 4
freeMemory: 6851840
totalMemory: 324403200
startLevel: 100
bindings:
- buienradar
- nikohomecontrol
- openweathermap
- sonos
- systeminfo
- telegram
- tradfri
- zwave
clientInfo:
device:
ios: false
android: false
androidChrome: false
desktop: true
iphone: false
ipod: false
ipad: false
edge: false
ie: false
firefox: false
macos: true
windows: false
cordova: false
phonegap: false
electron: false
nwjs: false
webView: false
webview: false
standalone: false
os: macos
pixelRatio: 2
prefersColorScheme: dark
isSecureContext: false
locationbarVisible: true
menubarVisible: true
navigator:
cookieEnabled: true
deviceMemory: N/A
hardwareConcurrency: 4
language: en-GB
languages:
- en-GB
onLine: true
platform: MacIntel
screen:
width: 1680
height: 1050
colorDepth: 24
support:
touch: false
pointerEvents: true
observer: true
passiveListener: true
gestures: false
intersectionObserver: true
themeOptions:
dark: dark
filled: true
pageTransitionAnimation: default
bars: light
homeNavbar: default
homeBackground: default
expandableCardAnimation: default
userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15
(KHTML, like Gecko) Version/16.4.1 Safari/605.1.15
timestamp: 2023-04-30T09:14:38.141Z
```
## Browser console
<!--
Open the developer tools in your browser, go to the Console tab and paste errors and other messages that might be relevant to this issue.
You may also paste a screenshot if you prefer.
-->
```txt
[Error] Viewport argument key "minimal-ui" not recognized and ignored. (items, line 1)
[Debug] loading i18n messages from: ./bg.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ca.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./cs.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./da.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./de.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./el.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./en.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./es.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fa.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fi.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fr.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./he.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./hu.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./it.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./iw.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lb.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lt.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./nl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./no.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt-BR.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ru.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./tr.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./uk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./zh.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./bg.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ca.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./cs.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./da.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./de.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./el.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./en.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./es.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fa.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fi.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fr.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./he.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./hu.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./it.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./iw.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lb.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./nl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./no.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt-BR.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ru.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./uk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./zh.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./bg.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ca.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./cs.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./da.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./de.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./el.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./en.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./es.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fa.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fi.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./fr.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./he.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./hu.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./it.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./iw.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lb.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./lv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./nl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./no.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt-BR.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./pt.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./ru.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sl.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./sv.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./uk.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] loading i18n messages from: ./zh.json (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] Initializing state tracking store proxy (app.d702c20a4e09bf4012ea.js, line 7)
[Debug] sseConnected – false (app.d702c20a4e09bf4012ea.js, line 35)
[Error] Unhandled Promise Rejection: parseerror
```
## Browser network traffic
<!--
Open the developer tools in your browser, go to the Network tab and paste
screenshots of the network traffic and the details of individual requests that failed.
-->
## Additional information
<!--
Provide any information not pertinent to the above sections that you'd still like to share.
-->
openHAB version 3.4.3 running on openHABian (Raspberry Pi 3B+).