foris 5.1.16-beta.347dda7e → 5.2.0-beta.01eeb06f

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.
package/api/hooks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
2
+ * Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
3
3
  *
4
4
  * This is free software, licensed under the GNU General Public License v3.
5
5
  * See /LICENSE for more information.
@@ -7,7 +7,6 @@
7
7
 
8
8
  import { useCallback, useEffect, useReducer, useState } from "react";
9
9
 
10
- import { ForisURLs } from "../utils/forisUrls";
11
10
  import {
12
11
  API_ACTIONS,
13
12
  API_METHODS,
@@ -84,8 +83,8 @@ function APIReducer(state, action) {
84
83
  data: action.payload,
85
84
  };
86
85
  case API_ACTIONS.FAILURE:
87
- if (action.status === 403) {
88
- window.location.assign(ForisURLs.login);
86
+ if (action.status === 401) {
87
+ window.location.reload();
89
88
  }
90
89
 
91
90
  // Not an API error - should be rethrown.
package/api/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
2
+ * Copyright (C) 2019-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
3
3
  *
4
4
  * This is free software, licensed under the GNU General Public License v3.
5
5
  * See /LICENSE for more information.
@@ -11,6 +11,7 @@ export const HEADERS = {
11
11
  Accept: "application/json",
12
12
  "Content-Type": "application/json",
13
13
  "X-CSRFToken": getCookie("_csrf_token"),
14
+ "X-Requested-With": "json",
14
15
  };
15
16
 
16
17
  export const TIMEOUT = 30500;
@@ -56,7 +57,7 @@ function getCookie(name) {
56
57
 
57
58
  export function getErrorPayload(error) {
58
59
  if (error.response) {
59
- if (error.response.status === 403) {
60
+ if (error.response.status === 401) {
60
61
  return _("The session is expired. Please log in again.");
61
62
  }
62
63
  return getJSONErrorMessage(error);
@@ -21,9 +21,14 @@ DownloadButton.defaultProps = {
21
21
  className: "btn-primary",
22
22
  };
23
23
 
24
- export function DownloadButton({ href, className, children }) {
24
+ export function DownloadButton({ href, className, children, ...props }) {
25
25
  return (
26
- <a href={href} className={`btn ${className}`.trim()} download>
26
+ <a
27
+ href={href}
28
+ className={`btn ${className}`.trim()}
29
+ {...props}
30
+ download
31
+ >
27
32
  {children}
28
33
  </a>
29
34
  );
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
2
+ * Copyright (C) 2019-2022 CZ.NIC z.s.p.o. (https://www.nic.cz/)
3
3
  *
4
4
  * This is free software, licensed under the GNU General Public License v3.
5
5
  * See /LICENSE for more information.
@@ -21,14 +21,17 @@ PasswordInput.propTypes = {
21
21
  helpText: PropTypes.string,
22
22
  /** Use show/hide password button. */
23
23
  withEye: PropTypes.bool,
24
+ /** Use new-password in autocomplete attribute. */
25
+ newPass: PropTypes.bool,
24
26
  };
25
27
 
26
- export function PasswordInput({ withEye, ...props }) {
28
+ export function PasswordInput({ withEye, newPass, ...props }) {
27
29
  const [isHidden, setHidden] = useState(true);
30
+
28
31
  return (
29
32
  <Input
30
33
  type={withEye && !isHidden ? "text" : "password"}
31
- autoComplete={isHidden ? "new-password" : null}
34
+ autoComplete={newPass ? "new-password" : "current-password"}
32
35
  {...props}
33
36
  >
34
37
  {withEye ? (
@@ -82,6 +82,10 @@ export function validator(formData) {
82
82
 
83
83
  if (device.password.length < 8)
84
84
  errors.password = _("Password must contain at least 8 symbols");
85
+ if (device.password.length >= 64)
86
+ errors.password = _(
87
+ "Password must not contain more than 63 symbols"
88
+ );
85
89
 
86
90
  if (!device.guest_wifi.enabled) return errors;
87
91
 
@@ -97,6 +101,10 @@ export function validator(formData) {
97
101
  guest_wifi_errors.password = _(
98
102
  "Password must contain at least 8 symbols"
99
103
  );
104
+ if (device.guest_wifi.password.length >= 64)
105
+ guest_wifi_errors.password = _(
106
+ "Password must not contain more than 63 symbols"
107
+ );
100
108
 
101
109
  if (guest_wifi_errors.SSID || guest_wifi_errors.password) {
102
110
  errors.guest_wifi = guest_wifi_errors;
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foris",
3
- "version": "5.1.16-beta.347dda7e",
3
+ "version": "5.2.0-beta.01eeb06f",
4
4
  "description": "Set of components and utils for Foris and its plugins.",
5
5
  "author": "CZ.NIC, z.s.p.o.",
6
6
  "repository": {
@@ -53,10 +53,10 @@
53
53
  "react": "16.9.0",
54
54
  "react-dom": "16.9.0",
55
55
  "react-router-dom": "^5.1.2",
56
- "react-styleguidist": "^7.3.11",
56
+ "react-styleguidist": "^11.2.0",
57
57
  "snapshot-diff": "^0.7.0",
58
58
  "style-loader": "^1.2.1",
59
- "webpack": "^5.15.0"
59
+ "webpack": "^5.68.0"
60
60
  },
61
61
  "scripts": {
62
62
  "lint": "eslint src",
@@ -9,8 +9,8 @@ export const REFORIS_URL_PREFIX = "/reforis";
9
9
  export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
10
10
 
11
11
  export const ForisURLs = {
12
- login: `${REFORIS_URL_PREFIX}/login`,
13
- logout: `${REFORIS_URL_PREFIX}/logout`,
12
+ login: `/login?${REFORIS_URL_PREFIX}/`,
13
+ logout: `/logout`,
14
14
 
15
15
  static: `${REFORIS_URL_PREFIX}/static/reforis`,
16
16
  wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`,
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2020 CZ.NIC z.s.p.o. (http://www.nic.cz/)
2
+ * Copyright (C) 2020-2021 CZ.NIC z.s.p.o. (http://www.nic.cz/)
3
3
  *
4
4
  * This is free software, licensed under the GNU General Public License v3.
5
5
  * See /LICENSE for more information.
@@ -7,8 +7,6 @@
7
7
 
8
8
  /* eslint no-console: "off" */
9
9
 
10
- import { ForisURLs } from "../utils/forisUrls";
11
-
12
10
  const PROTOCOL = window.location.protocol === "http:" ? "ws" : "wss";
13
11
 
14
12
  const URL = process.env.LIGHTTPD
@@ -21,12 +19,6 @@ export class WebSockets {
21
19
  constructor() {
22
20
  this.ws = new WebSocket(URL);
23
21
  this.ws.onerror = (e) => {
24
- if (!window.initialData.logged) {
25
- console.error(
26
- "WS: Error observed, you aren't logged probably."
27
- );
28
- window.location.replace(ForisURLs.login);
29
- }
30
22
  console.error("WS: Error:", e);
31
23
  };
32
24
  this.ws.onmessage = (e) => {
package/foris-5.1.16.tgz DELETED
Binary file