matlab-proxy 0.13.1__tar.gz → 0.14.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of matlab-proxy might be problematic. Click here for more details.

Files changed (132) hide show
  1. {matlab-proxy-0.13.1/matlab_proxy.egg-info → matlab-proxy-0.14.0}/PKG-INFO +1 -1
  2. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/package-lock.json +78 -78
  3. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/actionCreators/actionCreators.spec.js +173 -27
  4. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/actionCreators/index.js +15 -10
  5. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/OverlayTrigger.spec.js +22 -6
  6. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.js +15 -7
  7. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/index.js +3 -3
  8. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/app.py +27 -2
  9. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mw.py +4 -4
  10. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/embedded_connector/request.py +2 -2
  11. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0/matlab_proxy.egg-info}/PKG-INFO +1 -1
  12. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/requires.txt +1 -0
  13. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/setup.py +2 -1
  14. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/LICENSE.md +0 -0
  15. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/MANIFEST.in +0 -0
  16. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/README.md +0 -0
  17. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/.gitignore +0 -0
  18. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/README.md +0 -0
  19. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/package.json +0 -0
  20. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/public/favicon.ico +0 -0
  21. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/public/index.html +0 -0
  22. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/public/manifest.json +0 -0
  23. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/public/robots.txt +0 -0
  24. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/actions/index.js +0 -0
  25. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/css/bootstrap.min.css +0 -0
  26. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/css/site7.min.css +0 -0
  27. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.eot +0 -0
  28. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.svg +0 -0
  29. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.ttf +0 -0
  30. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff +0 -0
  31. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff2 +0 -0
  32. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-eps.svg +0 -0
  33. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-eps.ttf +0 -0
  34. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-eps.woff +0 -0
  35. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-pictograms.svg +0 -0
  36. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-pictograms.ttf +0 -0
  37. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks-pictograms.woff +0 -0
  38. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks.svg +0 -0
  39. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks.ttf +0 -0
  40. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/fonts/mathworks.woff +0 -0
  41. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/bug_reports/workaround.gif +0 -0
  42. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/responsive/global/ico-header-account-hover.svg +0 -0
  43. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/responsive/global/ico-header-account.svg +0 -0
  44. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/responsive/global/ico-header-contact-hover.svg +0 -0
  45. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/responsive/global/ico-header-contact.svg +0 -0
  46. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/3p/images/responsive/global/ico-sprite.png +0 -0
  47. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/App.css +0 -0
  48. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/App.spec.js +0 -0
  49. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/MATLAB-env-blur.png +0 -0
  50. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/App/index.js +0 -0
  51. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Confirmation/Confirmation.spec.js +0 -0
  52. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Confirmation/index.js +0 -0
  53. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/Controls.css +0 -0
  54. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/Controls.spec.js +0 -0
  55. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/feedback.svg +0 -0
  56. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/help.svg +0 -0
  57. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/index.js +0 -0
  58. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/restart.svg +0 -0
  59. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/sign-out.svg +0 -0
  60. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/start.svg +0 -0
  61. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/stop.svg +0 -0
  62. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Controls/terminate.svg +0 -0
  63. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/EntitlementSelector/EntitlementSelector.spec.js +0 -0
  64. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/EntitlementSelector/index.js +0 -0
  65. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Error/Error.css +0 -0
  66. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Error/Error.spec.js +0 -0
  67. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Error/index.js +0 -0
  68. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Help/Help.css +0 -0
  69. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Help/Help.spec.js +0 -0
  70. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Help/index.js +0 -0
  71. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Information/Information.css +0 -0
  72. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Information/Information.spec.js +0 -0
  73. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Information/index.js +0 -0
  74. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/ExistingLicense.css +0 -0
  75. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/ExistingLicense.js +0 -0
  76. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/LicenseGatherer.spec.js +0 -0
  77. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/LicensingGatherer.css +0 -0
  78. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/MHLM.js +0 -0
  79. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/NLM.js +0 -0
  80. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/LicensingGatherer/index.js +0 -0
  81. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/MatlabJsd/MatlabJsd.css +0 -0
  82. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/MatlabJsd/MatlabJsd.spec.js +0 -0
  83. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/MatlabJsd/index.js +0 -0
  84. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Overlay/Overlay.css +0 -0
  85. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Overlay/Overlay.spec.js +0 -0
  86. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/Overlay/index.js +0 -0
  87. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/OverlayTrigger.css +0 -0
  88. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/arrow.svg +0 -0
  89. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/gripper.svg +0 -0
  90. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/trigger-error.svg +0 -0
  91. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/components/OverlayTrigger/trigger-ok.svg +0 -0
  92. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/constants.js +0 -0
  93. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/index.css +0 -0
  94. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/index.js +0 -0
  95. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/jest.config.json +0 -0
  96. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/logo.svg +0 -0
  97. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/reducers/index.js +0 -0
  98. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/reducers/reducers.spec.js +0 -0
  99. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/selectors/index.js +0 -0
  100. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/selectors/selectors.spec.js +0 -0
  101. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/serviceWorker.js +0 -0
  102. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/setupTests.js +0 -0
  103. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/test/utils/react-test.js +0 -0
  104. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/gui/src/test/utils/state.js +0 -0
  105. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/__init__.py +0 -0
  106. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/app_state.py +0 -0
  107. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/constants.py +0 -0
  108. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/default_configuration.py +0 -0
  109. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/devel.py +0 -0
  110. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/icons/matlab.svg +0 -0
  111. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/matlab/startup.m +0 -0
  112. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/settings.py +0 -0
  113. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/__init__.py +0 -0
  114. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/event_loop.py +0 -0
  115. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/list_servers.py +0 -0
  116. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/__init__.py +0 -0
  117. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/custom_http_headers.py +0 -0
  118. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/embedded_connector/__init__.py +0 -0
  119. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/embedded_connector/helpers.py +0 -0
  120. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/environment_variables.py +0 -0
  121. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/exceptions.py +0 -0
  122. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/logger.py +0 -0
  123. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/token_auth.py +0 -0
  124. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/mwi/validators.py +0 -0
  125. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/system.py +0 -0
  126. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy/util/windows.py +0 -0
  127. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/SOURCES.txt +0 -0
  128. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/dependency_links.txt +0 -0
  129. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/entry_points.txt +0 -0
  130. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/not-zip-safe +0 -0
  131. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/matlab_proxy.egg-info/top_level.txt +0 -0
  132. {matlab-proxy-0.13.1 → matlab-proxy-0.14.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: matlab-proxy
3
- Version: 0.13.1
3
+ Version: 0.14.0
4
4
  Summary: Python® package enables you to launch MATLAB® and access it from a web browser.
5
5
  Home-page: https://github.com/mathworks/matlab-proxy/
6
6
  Author: The MathWorks, Inc.
@@ -5436,12 +5436,12 @@
5436
5436
  "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
5437
5437
  },
5438
5438
  "node_modules/body-parser": {
5439
- "version": "1.20.1",
5440
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
5441
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
5439
+ "version": "1.20.2",
5440
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
5441
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
5442
5442
  "dependencies": {
5443
5443
  "bytes": "3.1.2",
5444
- "content-type": "~1.0.4",
5444
+ "content-type": "~1.0.5",
5445
5445
  "debug": "2.6.9",
5446
5446
  "depd": "2.0.0",
5447
5447
  "destroy": "1.2.0",
@@ -5449,7 +5449,7 @@
5449
5449
  "iconv-lite": "0.4.24",
5450
5450
  "on-finished": "2.4.1",
5451
5451
  "qs": "6.11.0",
5452
- "raw-body": "2.5.1",
5452
+ "raw-body": "2.5.2",
5453
5453
  "type-is": "~1.6.18",
5454
5454
  "unpipe": "1.0.0"
5455
5455
  },
@@ -5996,9 +5996,9 @@
5996
5996
  }
5997
5997
  },
5998
5998
  "node_modules/cookie": {
5999
- "version": "0.5.0",
6000
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
6001
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
5999
+ "version": "0.6.0",
6000
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
6001
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
6002
6002
  "engines": {
6003
6003
  "node": ">= 0.6"
6004
6004
  }
@@ -8045,16 +8045,16 @@
8045
8045
  }
8046
8046
  },
8047
8047
  "node_modules/express": {
8048
- "version": "4.18.2",
8049
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
8050
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
8048
+ "version": "4.19.2",
8049
+ "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
8050
+ "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
8051
8051
  "dependencies": {
8052
8052
  "accepts": "~1.3.8",
8053
8053
  "array-flatten": "1.1.1",
8054
- "body-parser": "1.20.1",
8054
+ "body-parser": "1.20.2",
8055
8055
  "content-disposition": "0.5.4",
8056
8056
  "content-type": "~1.0.4",
8057
- "cookie": "0.5.0",
8057
+ "cookie": "0.6.0",
8058
8058
  "cookie-signature": "1.0.6",
8059
8059
  "debug": "2.6.9",
8060
8060
  "depd": "2.0.0",
@@ -8393,9 +8393,9 @@
8393
8393
  "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
8394
8394
  },
8395
8395
  "node_modules/follow-redirects": {
8396
- "version": "1.15.2",
8397
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
8398
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
8396
+ "version": "1.15.6",
8397
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
8398
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
8399
8399
  "funding": [
8400
8400
  {
8401
8401
  "type": "individual",
@@ -12745,9 +12745,9 @@
12745
12745
  }
12746
12746
  },
12747
12747
  "node_modules/nanoid": {
12748
- "version": "3.3.6",
12749
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
12750
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
12748
+ "version": "3.3.7",
12749
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
12750
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
12751
12751
  "funding": [
12752
12752
  {
12753
12753
  "type": "github",
@@ -13434,9 +13434,9 @@
13434
13434
  }
13435
13435
  },
13436
13436
  "node_modules/postcss": {
13437
- "version": "8.4.24",
13438
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
13439
- "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
13437
+ "version": "8.4.38",
13438
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
13439
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
13440
13440
  "funding": [
13441
13441
  {
13442
13442
  "type": "opencollective",
@@ -13452,9 +13452,9 @@
13452
13452
  }
13453
13453
  ],
13454
13454
  "dependencies": {
13455
- "nanoid": "^3.3.6",
13455
+ "nanoid": "^3.3.7",
13456
13456
  "picocolors": "^1.0.0",
13457
- "source-map-js": "^1.0.2"
13457
+ "source-map-js": "^1.2.0"
13458
13458
  },
13459
13459
  "engines": {
13460
13460
  "node": "^10 || ^12 || >=14"
@@ -14824,9 +14824,9 @@
14824
14824
  }
14825
14825
  },
14826
14826
  "node_modules/raw-body": {
14827
- "version": "2.5.1",
14828
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
14829
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
14827
+ "version": "2.5.2",
14828
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
14829
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
14830
14830
  "dependencies": {
14831
14831
  "bytes": "3.1.2",
14832
14832
  "http-errors": "2.0.0",
@@ -15871,9 +15871,9 @@
15871
15871
  }
15872
15872
  },
15873
15873
  "node_modules/semver": {
15874
- "version": "6.3.0",
15875
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
15876
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
15874
+ "version": "6.3.1",
15875
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
15876
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
15877
15877
  "bin": {
15878
15878
  "semver": "bin/semver.js"
15879
15879
  }
@@ -16106,9 +16106,9 @@
16106
16106
  }
16107
16107
  },
16108
16108
  "node_modules/source-map-js": {
16109
- "version": "1.0.2",
16110
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
16111
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
16109
+ "version": "1.2.0",
16110
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
16111
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
16112
16112
  "engines": {
16113
16113
  "node": ">=0.10.0"
16114
16114
  }
@@ -17462,9 +17462,9 @@
17462
17462
  }
17463
17463
  },
17464
17464
  "node_modules/webpack-dev-middleware": {
17465
- "version": "5.3.3",
17466
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
17467
- "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
17465
+ "version": "5.3.4",
17466
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
17467
+ "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
17468
17468
  "dependencies": {
17469
17469
  "colorette": "^2.0.10",
17470
17470
  "memfs": "^3.4.3",
@@ -17852,9 +17852,9 @@
17852
17852
  }
17853
17853
  },
17854
17854
  "node_modules/word-wrap": {
17855
- "version": "1.2.3",
17856
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
17857
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
17855
+ "version": "1.2.5",
17856
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
17857
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
17858
17858
  "engines": {
17859
17859
  "node": ">=0.10.0"
17860
17860
  }
@@ -22110,12 +22110,12 @@
22110
22110
  "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
22111
22111
  },
22112
22112
  "body-parser": {
22113
- "version": "1.20.1",
22114
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
22115
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
22113
+ "version": "1.20.2",
22114
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
22115
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
22116
22116
  "requires": {
22117
22117
  "bytes": "3.1.2",
22118
- "content-type": "~1.0.4",
22118
+ "content-type": "~1.0.5",
22119
22119
  "debug": "2.6.9",
22120
22120
  "depd": "2.0.0",
22121
22121
  "destroy": "1.2.0",
@@ -22123,7 +22123,7 @@
22123
22123
  "iconv-lite": "0.4.24",
22124
22124
  "on-finished": "2.4.1",
22125
22125
  "qs": "6.11.0",
22126
- "raw-body": "2.5.1",
22126
+ "raw-body": "2.5.2",
22127
22127
  "type-is": "~1.6.18",
22128
22128
  "unpipe": "1.0.0"
22129
22129
  },
@@ -22524,9 +22524,9 @@
22524
22524
  }
22525
22525
  },
22526
22526
  "cookie": {
22527
- "version": "0.5.0",
22528
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
22529
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
22527
+ "version": "0.6.0",
22528
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
22529
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="
22530
22530
  },
22531
22531
  "cookie-signature": {
22532
22532
  "version": "1.0.6",
@@ -23999,16 +23999,16 @@
23999
23999
  }
24000
24000
  },
24001
24001
  "express": {
24002
- "version": "4.18.2",
24003
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
24004
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
24002
+ "version": "4.19.2",
24003
+ "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
24004
+ "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
24005
24005
  "requires": {
24006
24006
  "accepts": "~1.3.8",
24007
24007
  "array-flatten": "1.1.1",
24008
- "body-parser": "1.20.1",
24008
+ "body-parser": "1.20.2",
24009
24009
  "content-disposition": "0.5.4",
24010
24010
  "content-type": "~1.0.4",
24011
- "cookie": "0.5.0",
24011
+ "cookie": "0.6.0",
24012
24012
  "cookie-signature": "1.0.6",
24013
24013
  "debug": "2.6.9",
24014
24014
  "depd": "2.0.0",
@@ -24274,9 +24274,9 @@
24274
24274
  "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
24275
24275
  },
24276
24276
  "follow-redirects": {
24277
- "version": "1.15.2",
24278
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
24279
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
24277
+ "version": "1.15.6",
24278
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
24279
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA=="
24280
24280
  },
24281
24281
  "for-each": {
24282
24282
  "version": "0.3.3",
@@ -27431,9 +27431,9 @@
27431
27431
  }
27432
27432
  },
27433
27433
  "nanoid": {
27434
- "version": "3.3.6",
27435
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
27436
- "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
27434
+ "version": "3.3.7",
27435
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
27436
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
27437
27437
  },
27438
27438
  "natural-compare": {
27439
27439
  "version": "1.4.0",
@@ -27917,13 +27917,13 @@
27917
27917
  }
27918
27918
  },
27919
27919
  "postcss": {
27920
- "version": "8.4.24",
27921
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
27922
- "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
27920
+ "version": "8.4.38",
27921
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
27922
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
27923
27923
  "requires": {
27924
- "nanoid": "^3.3.6",
27924
+ "nanoid": "^3.3.7",
27925
27925
  "picocolors": "^1.0.0",
27926
- "source-map-js": "^1.0.2"
27926
+ "source-map-js": "^1.2.0"
27927
27927
  }
27928
27928
  },
27929
27929
  "postcss-attribute-case-insensitive": {
@@ -28733,9 +28733,9 @@
28733
28733
  "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
28734
28734
  },
28735
28735
  "raw-body": {
28736
- "version": "2.5.1",
28737
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
28738
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
28736
+ "version": "2.5.2",
28737
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
28738
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
28739
28739
  "requires": {
28740
28740
  "bytes": "3.1.2",
28741
28741
  "http-errors": "2.0.0",
@@ -29497,9 +29497,9 @@
29497
29497
  }
29498
29498
  },
29499
29499
  "semver": {
29500
- "version": "6.3.0",
29501
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
29502
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
29500
+ "version": "6.3.1",
29501
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
29502
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
29503
29503
  },
29504
29504
  "send": {
29505
29505
  "version": "0.18.0",
@@ -29696,9 +29696,9 @@
29696
29696
  "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
29697
29697
  },
29698
29698
  "source-map-js": {
29699
- "version": "1.0.2",
29700
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
29701
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
29699
+ "version": "1.2.0",
29700
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
29701
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
29702
29702
  },
29703
29703
  "source-map-loader": {
29704
29704
  "version": "3.0.2",
@@ -30726,9 +30726,9 @@
30726
30726
  }
30727
30727
  },
30728
30728
  "webpack-dev-middleware": {
30729
- "version": "5.3.3",
30730
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
30731
- "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
30729
+ "version": "5.3.4",
30730
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
30731
+ "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
30732
30732
  "requires": {
30733
30733
  "colorette": "^2.0.10",
30734
30734
  "memfs": "^3.4.3",
@@ -30991,9 +30991,9 @@
30991
30991
  }
30992
30992
  },
30993
30993
  "word-wrap": {
30994
- "version": "1.2.3",
30995
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
30996
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
30994
+ "version": "1.2.5",
30995
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
30996
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="
30997
30997
  },
30998
30998
  "workbox-background-sync": {
30999
30999
  "version": "6.6.0",
@@ -24,7 +24,9 @@ describe.each([
24
24
  [actionCreators.setAuthStatus, [true], { type: actions.SET_AUTH_STATUS, authentication: true }],
25
25
  [actionCreators.setAuthStatus, [false], { type: actions.SET_AUTH_STATUS, authentication: false }],
26
26
  [actionCreators.setAuthToken, ['string'], { type: actions.SET_AUTH_TOKEN, authentication: 'string' }],
27
- [actionCreators.setAuthToken, [null], { type: actions.SET_AUTH_TOKEN, authentication: null }]
27
+ [actionCreators.setAuthToken, [null], { type: actions.SET_AUTH_TOKEN, authentication: null }],
28
+ [actionCreators.setClientId, ['string'], { type: actions.SET_CLIENT_ID, client_id: 'string'}],
29
+ [actionCreators.setClientId, [null], { type: actions.SET_CLIENT_ID, client_id: null}]
28
30
  ])('Test Set actionCreators', (method, input, expectedAction) => {
29
31
  test(`check if an action of type ${expectedAction.type} is returned when method actionCreator.${method.name}() is called`, () => {
30
32
  expect(method(...input)).toEqual(expectedAction);
@@ -94,7 +96,7 @@ describe('Test fetchWithTimeout method', () => {
94
96
  });
95
97
 
96
98
  it('should fetch requested data without raising an exception or dispatching any action', async () => {
97
- fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE', {
99
+ fetchMock.getOnce('/get_status', {
98
100
  body: {
99
101
  matlab: {
100
102
  status: 'down',
@@ -104,7 +106,7 @@ describe('Test fetchWithTimeout method', () => {
104
106
  headers: { 'content-type': 'application/json' },
105
107
  });
106
108
 
107
- const response = await actionCreators.fetchWithTimeout(store.dispatch, '/get_status?IS_DESKTOP=TRUE', {}, 10000);
109
+ const response = await actionCreators.fetchWithTimeout(store.dispatch, '/get_status', {}, 10000);
108
110
  const body = await response.json()
109
111
 
110
112
  expect(body).not.toBeNull();
@@ -116,7 +118,7 @@ describe('Test fetchWithTimeout method', () => {
116
118
  ];
117
119
 
118
120
  try {
119
- const response = await actionCreators.fetchWithTimeout(store.dispatch, '/get_status?IS_DESKTOP=TRUE', {}, 100);
121
+ const response = await actionCreators.fetchWithTimeout(store.dispatch, '/get_status', {}, 100);
120
122
  } catch (error) {
121
123
  expect(error).toBeInstanceOf(TypeError)
122
124
  const received = store.getActions();
@@ -130,14 +132,14 @@ describe('Test fetchWithTimeout method', () => {
130
132
 
131
133
  // Send a delayed response, well after the timeout for the request has expired.
132
134
  // This should trigger the abort() method of the AbortController()
133
- fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE', new Promise(resolve => setTimeout(() => resolve({ body: 'ok' }), 1000 + timeout)));
135
+ fetchMock.getOnce('/get_status', new Promise(resolve => setTimeout(() => resolve({ body: 'ok' }), 1000 + timeout)));
134
136
 
135
137
  const abortSpy = jest.spyOn(global.AbortController.prototype, 'abort');
136
138
  const expectedActions = [
137
139
  actions.RECEIVE_ERROR,
138
140
  ];
139
141
 
140
- await actionCreators.fetchWithTimeout(store.dispatch, '/get_status?IS_DESKTOP=TRUE', {}, timeout);
142
+ await actionCreators.fetchWithTimeout(store.dispatch, '/get_status', {}, timeout);
141
143
 
142
144
  expect(abortSpy).toBeCalledTimes(1);
143
145
  const received = store.getActions();
@@ -193,31 +195,175 @@ describe('Test Async actionCreators', () => {
193
195
  });
194
196
  });
195
197
 
196
- it('dispatches REQUEST_SERVER_STATUS, RECEIVE_SERVER_STATUS when fetching status', () => {
197
- fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE', {
198
- body: {
199
- matlab: {
200
- status: 'down',
201
- version: 'R2023a'
198
+ it.each([
199
+ [
200
+ [
201
+ actions.REQUEST_SERVER_STATUS,
202
+ actions.RECEIVE_SERVER_STATUS
203
+ ],
204
+ "/get_status",
205
+ "concurrency check is disabled",
206
+ state
207
+ ],
208
+ [
209
+ [
210
+ actions.REQUEST_SERVER_STATUS,
211
+ actions.RECEIVE_SERVER_STATUS
212
+ ],
213
+ "/get_status",
214
+ "concurrency check and authentication are enabled but the client is not authenticated",
215
+ {
216
+ ...state,
217
+ authentication: {
218
+ ...state.authentication,
219
+ enabled: true,
220
+ status: false,
202
221
  },
203
- licensing: null,
204
- loadUrl: null,
205
- error: null,
206
- wsEnv: "",
207
- },
208
- headers: { 'content-type': 'application/json' },
209
- });
222
+ sessionStatus:
223
+ {
224
+ ...state.sessionStatus,
225
+ isConcurrencyEnabled: true
226
+ }
227
+ }
228
+ ],
229
+ [
230
+ [
231
+ actions.REQUEST_SERVER_STATUS,
232
+ actions.RECEIVE_SERVER_STATUS,
233
+ actions.SET_CLIENT_ID,
234
+ actions.RECEIVE_SESSION_STATUS,
235
+ actions.WAS_EVER_ACTIVE
236
+ ],
237
+ "/get_status?IS_DESKTOP=TRUE",
238
+ "concurrency check is enabled and authentication is successfull without clientID",
239
+ {
240
+ ...state,
241
+ authentication: {
242
+ ...state.authentication,
243
+ enabled: true,
244
+ status: true
245
+ },
246
+ sessionStatus:
247
+ {
248
+ ...state.sessionStatus,
249
+ isConcurrencyEnabled: true
250
+ }
251
+ }
252
+ ],
253
+ [
254
+ [
255
+ actions.REQUEST_SERVER_STATUS,
256
+ actions.RECEIVE_SERVER_STATUS,
257
+ actions.RECEIVE_SESSION_STATUS,
258
+ actions.WAS_EVER_ACTIVE
259
+ ],
260
+ "/get_status?IS_DESKTOP=TRUE&MWI_CLIENT_ID=mockid",
261
+ "concurrency check and authentication are enabled with an active clientID",
262
+ {
263
+ ...state,
264
+ authentication: {
265
+ ...state.authentication,
266
+ enabled: true,
267
+ status: true
268
+ },
269
+ sessionStatus: {
270
+ ...state.sessionStatus,
271
+ isConcurrencyEnabled: true,
272
+ clientId: "mockid"
273
+ }
274
+ }
275
+ ],
276
+ [
277
+ [
278
+ actions.REQUEST_SERVER_STATUS,
279
+ actions.RECEIVE_SERVER_STATUS,
280
+ actions.RECEIVE_SESSION_STATUS,
281
+ ],
282
+ "/get_status?IS_DESKTOP=TRUE&MWI_CLIENT_ID=inactiveid",
283
+ "concurrency check and authentication are enabled with an inactive clientID",
284
+ {
285
+ ...state,
286
+ authentication: {
287
+ ...state.authentication,
288
+ enabled: true,
289
+ status: true
290
+ },
291
+ sessionStatus: {
292
+ ...state.sessionStatus,
293
+ isConcurrencyEnabled: true,
294
+ clientId: "inactiveid"
295
+ }
296
+ }
297
+ ]
298
+ ])
299
+ ('should dispatch %s and query %s if %s when fetching status', (expectedActions, url, about, modifiedState) => {
300
+ // Based on different conditions the request is made with different query parameters.
301
+ // fetchMock requests are not abstracted to mimic the behaviour of the real backend.
302
+ fetchMock.getOnce('/get_status', {
303
+ body: {
304
+ matlab: {
305
+ status: 'down',
306
+ version: 'R2023a'
307
+ },
308
+ licensing: null,
309
+ loadUrl: null,
310
+ error: null,
311
+ wsEnv: "",
312
+ },
313
+ headers: { 'content-type': 'application/json' },
314
+ });
315
+ fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE', {
316
+ body: {
317
+ matlab: {
318
+ status: 'down',
319
+ version: 'R2023a'
320
+ },
321
+ licensing: null,
322
+ loadUrl: null,
323
+ error: null,
324
+ wsEnv: "",
325
+ },
326
+ headers: { 'content-type': 'application/json' },
327
+ clientId: "mockid",
328
+ isActiveClient: true
329
+ });
330
+ fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE&MWI_CLIENT_ID=mockid', {
331
+ body: {
332
+ matlab: {
333
+ status: 'down',
334
+ version: 'R2023a'
335
+ },
336
+ licensing: null,
337
+ loadUrl: null,
338
+ error: null,
339
+ wsEnv: "",
340
+ },
341
+ headers: { 'content-type': 'application/json' },
342
+ isActiveClient: true
343
+ });
344
+ fetchMock.getOnce('/get_status?IS_DESKTOP=TRUE&MWI_CLIENT_ID=inactiveid', {
345
+ body: {
346
+ matlab: {
347
+ status: 'down',
348
+ version: 'R2023a'
349
+ },
350
+ licensing: null,
351
+ loadUrl: null,
352
+ error: null,
353
+ wsEnv: "",
354
+ },
355
+ headers: { 'content-type': 'application/json' },
356
+ isActiveClient: false
357
+ });
210
358
 
211
- const expectedActions = [
212
- actions.REQUEST_SERVER_STATUS,
213
- actions.RECEIVE_SERVER_STATUS,
214
- ];
359
+ let modifiedStore = mockStore(modifiedState)
215
360
 
216
- return store.dispatch(actionCreators.fetchServerStatus()).then(() => {
217
- const received = store.getActions();
218
- expect(received.map((a) => a.type)).toEqual(expectedActions);
361
+ return modifiedStore.dispatch(actionCreators.fetchServerStatus()).then(() => {
362
+ const received = modifiedStore.getActions();
363
+ expect(fetchMock.lastUrl()).toBe(url)
364
+ expect(received.map((a) => a.type)).toEqual(expectedActions)
365
+ })
219
366
  });
220
- });
221
367
 
222
368
  it('dispatches REQUEST_ENV_CONFIG, RECEIVE_ENV_CONFIG when fetching environment configuration', () => {
223
369
  fetchMock.getOnce('/get_env_config', {
@@ -31,6 +31,8 @@ import {
31
31
  selectMatlabPending,
32
32
  selectIsConcurrencyEnabled,
33
33
  selectClientId,
34
+ selectAuthEnabled,
35
+ selectIsAuthenticated,
34
36
  } from '../selectors';
35
37
  import sha256 from 'crypto-js/sha256';
36
38
 
@@ -239,23 +241,26 @@ export async function fetchWithTimeout(dispatch, resource, options = {}, timeout
239
241
  export function fetchServerStatus(requestTransferSession = false) {
240
242
  return async function (dispatch, getState) {
241
243
  const isConcurrencyEnabled = selectIsConcurrencyEnabled(getState());
244
+ const isAuthEnabled = selectAuthEnabled(getState());
245
+ const isAuthenticated = selectIsAuthenticated(getState());
242
246
  const clientIdInState = selectClientId(getState());
243
247
  const clientId = clientIdInState ? clientIdInState : sessionStorage.getItem("MWI_CLIENT_ID");
244
248
 
245
249
  dispatch(requestServerStatus());
250
+ let url = './get_status';
246
251
 
247
- let url = './get_status?IS_DESKTOP=TRUE'
252
+ if ((!isAuthEnabled || isAuthenticated) && isConcurrencyEnabled) {
253
+ url = `${url}?IS_DESKTOP=TRUE`;
248
254
 
249
- if (isConcurrencyEnabled && clientId) {
250
- let params = new URLSearchParams();
251
- params.append("MWI_CLIENT_ID",encodeURIComponent(clientId))
255
+ if (clientId) {
256
+ let params = new URLSearchParams();
257
+ params.append("MWI_CLIENT_ID",encodeURIComponent(clientId));
252
258
 
253
- if (requestTransferSession){
254
- params.append("TRANSFER_SESSION",encodeURIComponent(requestTransferSession))
259
+ if (requestTransferSession){
260
+ params.append("TRANSFER_SESSION",encodeURIComponent(requestTransferSession));
261
+ }
262
+ url = url + '&' + params.toString();
255
263
  }
256
-
257
- url = url + '&' + params.toString();
258
-
259
264
  }
260
265
 
261
266
  const response = await fetchWithTimeout(dispatch, url, {}, 10000);
@@ -270,7 +275,7 @@ params.append("TRANSFER_SESSION",encodeURIComponent(requestTransferSession))
270
275
  if ("isActiveClient" in data) {
271
276
  dispatch(receiveSessionStatus(data))
272
277
  if (data["isActiveClient"] === true) {
273
- dispatch(wasEverActive())
278
+ dispatch(wasEverActive());
274
279
  }
275
280
  }
276
281
  }