aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vnext/.eslintrc14
-rw-r--r--vnext/jest.config.js1
-rw-r--r--vnext/package-lock.json192
-rw-r--r--vnext/package.json2
-rw-r--r--vnext/src/ui/Chat.js2
-rw-r--r--vnext/src/ui/Contacts.js2
-rw-r--r--vnext/src/ui/Icon.js1
-rw-r--r--vnext/src/ui/MessageInput.js24
-rw-r--r--vnext/src/ui/Settings.js10
-rw-r--r--vnext/src/ui/UserInfo.js3
10 files changed, 130 insertions, 121 deletions
diff --git a/vnext/.eslintrc b/vnext/.eslintrc
index 110060b5..dcab422f 100644
--- a/vnext/.eslintrc
+++ b/vnext/.eslintrc
@@ -4,7 +4,9 @@
"plugin:jsdoc/recommended",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
- "plugin:jest/recommended"
+ "plugin:jest/recommended",
+ "plugin:@typescript-eslint/eslint-recommended",
+ "plugin:@typescript-eslint/recommended"
],
"env": {
"browser": true,
@@ -20,7 +22,7 @@
"jest",
"jest-dom",
"jsdoc",
- "no-floating-promise"
+ "@typescript-eslint"
],
"settings": {
"react": {
@@ -37,7 +39,11 @@
"extends": ["plugin:testing-library/react"]
}
],
+ "parser": "@typescript-eslint/parser",
"parserOptions": {
+ "project": [
+ "jsconfig.json"
+ ],
"sourceType": "module",
"ecmaFeatures": {
"jsx": true
@@ -57,8 +63,8 @@
"jsdoc/require-returns-type": "off",
"jsdoc/require-property-description": "off",
"jsdoc/require-param-description": "off",
- "no-floating-promise/no-floating-promise": "error",
"semi": ["error", "always"],
- "semi-style": ["error", "last"]
+ "semi-style": ["error", "last"],
+ "@typescript-eslint/no-floating-promises": "error"
}
}
diff --git a/vnext/jest.config.js b/vnext/jest.config.js
index c2e48dc1..ffc58e1d 100644
--- a/vnext/jest.config.js
+++ b/vnext/jest.config.js
@@ -1,3 +1,4 @@
+/** @type {import('jest').Config} */
module.exports = {
'moduleNameMapper': {
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir>/__mocks__/fileMock.js',
diff --git a/vnext/package-lock.json b/vnext/package-lock.json
index 36d141f2..2e080aea 100644
--- a/vnext/package-lock.json
+++ b/vnext/package-lock.json
@@ -43,6 +43,8 @@
"@swc/jest": "^0.2.23",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
+ "@typescript-eslint/eslint-plugin": "^5.42.1",
+ "@typescript-eslint/parser": "^5.42.1",
"concurrently": "^7.5.0",
"cross-env": "^7.0.3",
"cssnano": "^5.1.14",
@@ -2711,18 +2713,17 @@
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz",
- "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz",
+ "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/type-utils": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/type-utils": "5.42.1",
+ "@typescript-eslint/utils": "5.42.1",
"debug": "^4.3.4",
"ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
"regexpp": "^3.2.0",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
@@ -2749,8 +2750,6 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -2762,16 +2761,14 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz",
- "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz",
+ "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/typescript-estree": "5.42.1",
"debug": "^4.3.4"
},
"engines": {
@@ -2791,13 +2788,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz",
- "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz",
+ "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0"
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/visitor-keys": "5.42.1"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2808,15 +2805,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz",
- "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz",
+ "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==",
"dev": true,
- "optional": true,
- "peer": true,
"dependencies": {
- "@typescript-eslint/typescript-estree": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/typescript-estree": "5.42.1",
+ "@typescript-eslint/utils": "5.42.1",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
},
@@ -2837,9 +2832,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz",
- "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz",
+ "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2850,13 +2845,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz",
- "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz",
+ "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/visitor-keys": "5.42.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -2892,16 +2887,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz",
- "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz",
+ "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/typescript-estree": "5.42.1",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
@@ -2933,12 +2928,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz",
- "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz",
+ "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==",
"dev": true,
"dependencies": {
- "@typescript-eslint/types": "5.41.0",
+ "@typescript-eslint/types": "5.42.1",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
@@ -10383,6 +10378,12 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
"node_modules/nearley": {
"version": "2.20.1",
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
@@ -16644,18 +16645,17 @@
"dev": true
},
"@typescript-eslint/eslint-plugin": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.41.0.tgz",
- "integrity": "sha512-DXUS22Y57/LAFSg3x7Vi6RNAuLpTXwxB9S2nIA7msBb/Zt8p7XqMwdpdc1IU7CkOQUPgAqR5fWvxuKCbneKGmA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz",
+ "integrity": "sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/type-utils": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/type-utils": "5.42.1",
+ "@typescript-eslint/utils": "5.42.1",
"debug": "^4.3.4",
"ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
"regexpp": "^3.2.0",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
@@ -16666,8 +16666,6 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
"integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
"lru-cache": "^6.0.0"
}
@@ -16675,57 +16673,53 @@
}
},
"@typescript-eslint/parser": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.41.0.tgz",
- "integrity": "sha512-HQVfix4+RL5YRWZboMD1pUfFN8MpRH4laziWkkAzyO1fvNOY/uinZcvo3QiFJVS/siNHupV8E5+xSwQZrl6PZA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.42.1.tgz",
+ "integrity": "sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/typescript-estree": "5.42.1",
"debug": "^4.3.4"
}
},
"@typescript-eslint/scope-manager": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.41.0.tgz",
- "integrity": "sha512-xOxPJCnuktUkY2xoEZBKXO5DBCugFzjrVndKdUnyQr3+9aDWZReKq9MhaoVnbL+maVwWJu/N0SEtrtEUNb62QQ==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz",
+ "integrity": "sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0"
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/visitor-keys": "5.42.1"
}
},
"@typescript-eslint/type-utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.41.0.tgz",
- "integrity": "sha512-L30HNvIG6A1Q0R58e4hu4h+fZqaO909UcnnPbwKiN6Rc3BUEx6ez2wgN7aC0cBfcAjZfwkzE+E2PQQ9nEuoqfA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz",
+ "integrity": "sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==",
"dev": true,
- "optional": true,
- "peer": true,
"requires": {
- "@typescript-eslint/typescript-estree": "5.41.0",
- "@typescript-eslint/utils": "5.41.0",
+ "@typescript-eslint/typescript-estree": "5.42.1",
+ "@typescript-eslint/utils": "5.42.1",
"debug": "^4.3.4",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/types": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.41.0.tgz",
- "integrity": "sha512-5BejraMXMC+2UjefDvrH0Fo/eLwZRV6859SXRg+FgbhA0R0l6lDqDGAQYhKbXhPN2ofk2kY5sgGyLNL907UXpA==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.42.1.tgz",
+ "integrity": "sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.41.0.tgz",
- "integrity": "sha512-SlzFYRwFSvswzDSQ/zPkIWcHv8O5y42YUskko9c4ki+fV6HATsTODUPbRbcGDFYP86gaJL5xohUEytvyNNcXWg==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz",
+ "integrity": "sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/visitor-keys": "5.41.0",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/visitor-keys": "5.42.1",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -16745,16 +16739,16 @@
}
},
"@typescript-eslint/utils": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.41.0.tgz",
- "integrity": "sha512-QlvfwaN9jaMga9EBazQ+5DDx/4sAdqDkcs05AsQHMaopluVCUyu1bTRUVKzXbgjDlrRAQrYVoi/sXJ9fmG+KLQ==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.42.1.tgz",
+ "integrity": "sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
- "@typescript-eslint/scope-manager": "5.41.0",
- "@typescript-eslint/types": "5.41.0",
- "@typescript-eslint/typescript-estree": "5.41.0",
+ "@typescript-eslint/scope-manager": "5.42.1",
+ "@typescript-eslint/types": "5.42.1",
+ "@typescript-eslint/typescript-estree": "5.42.1",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0",
"semver": "^7.3.7"
@@ -16772,12 +16766,12 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "5.41.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.41.0.tgz",
- "integrity": "sha512-vilqeHj267v8uzzakbm13HkPMl7cbYpKVjgFWZPIOHIJHZtinvypUhJ5xBXfWYg4eFKqztbMMpOgFpT9Gfx4fw==",
+ "version": "5.42.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz",
+ "integrity": "sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "5.41.0",
+ "@typescript-eslint/types": "5.42.1",
"eslint-visitor-keys": "^3.3.0"
},
"dependencies": {
@@ -22218,6 +22212,12 @@
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
"dev": true
},
+ "natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
"nearley": {
"version": "2.20.1",
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz",
diff --git a/vnext/package.json b/vnext/package.json
index 88841532..6a7b6252 100644
--- a/vnext/package.json
+++ b/vnext/package.json
@@ -20,6 +20,8 @@
"@swc/jest": "^0.2.23",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^13.4.0",
+ "@typescript-eslint/eslint-plugin": "^5.42.1",
+ "@typescript-eslint/parser": "^5.42.1",
"concurrently": "^7.5.0",
"cross-env": "^7.0.3",
"cssnano": "^5.1.14",
diff --git a/vnext/src/ui/Chat.js b/vnext/src/ui/Chat.js
index 0f8f53ba..f7113aaa 100644
--- a/vnext/src/ui/Chat.js
+++ b/vnext/src/ui/Chat.js
@@ -34,7 +34,7 @@ export default function Chat(props) {
getChat(uname)
.then(response => {
setChats(response.data);
- });
+ }).catch(console.log);
}
}, []);
diff --git a/vnext/src/ui/Contacts.js b/vnext/src/ui/Contacts.js
index 07e4dfc4..b1f87723 100644
--- a/vnext/src/ui/Contacts.js
+++ b/vnext/src/ui/Contacts.js
@@ -16,7 +16,7 @@ export default function Contacts() {
getChats()
.then(response => {
setPms(response.data.pms);
- });
+ }).catch(console.log);
}, []);
return (
<div className="msg-cont">
diff --git a/vnext/src/ui/Icon.js b/vnext/src/ui/Icon.js
index acf7bccf..a9cd8a95 100644
--- a/vnext/src/ui/Icon.js
+++ b/vnext/src/ui/Icon.js
@@ -1,7 +1,6 @@
import { createElement, memo } from 'react';
import PropTypes from 'prop-types';
-// @ts-ignore
import evilIcons from 'evil-icons/assets/sprite.svg';
/**
diff --git a/vnext/src/ui/MessageInput.js b/vnext/src/ui/MessageInput.js
index aa4454a1..de4edc7f 100644
--- a/vnext/src/ui/MessageInput.js
+++ b/vnext/src/ui/MessageInput.js
@@ -89,25 +89,27 @@ export default function MessageInput({ text, rows, placeholder, onSend }) {
let uploadValueChanged = (attach) => {
setAttach(attach);
};
- let onSubmit = async (event) => {
+ let onSubmit = (event) => {
if (event.preventDefault) {
event.preventDefault();
}
const input = fileinput.current;
if (input && input.files) {
- if (await onSend({
+ onSend({
body: body,
attach: attach ? input.files[0] : ''
- })) {
- setAttach('');
- setBody('');
- if (textareaRef.current) {
- textareaRef.current.style.height = '';
+ }).then((success) => {
+ if (success) {
+ setAttach('');
+ setBody('');
+ if (textareaRef.current) {
+ textareaRef.current.style.height = '';
+ }
+ updateFocus();
+ } else {
+ toast('Can not update this message');
}
- updateFocus();
- } else {
- toast('Can not update this message');
- }
+ }).catch(console.log);
}
};
return (
diff --git a/vnext/src/ui/Settings.js b/vnext/src/ui/Settings.js
index 82fbcc9e..6e9d4f36 100644
--- a/vnext/src/ui/Settings.js
+++ b/vnext/src/ui/Settings.js
@@ -40,8 +40,8 @@ function ChangeAvatarForm({ onChange }) {
avatarChanged('');
me().then(visitor => {
onChange(visitor);
- });
- });
+ }).catch(console.error);
+ }).catch(console.error);
};
return (
<form>
@@ -93,13 +93,13 @@ export default function Settings({ onChange }) {
console.log('twitter disable');
};
let deleteJid = () => {
-
+ // TODO
};
let addEmail = () => {
-
+ // TODO
};
let deleteEmail = () => {
-
+ // TODO
};
return (
<div className="msg-cont">
diff --git a/vnext/src/ui/UserInfo.js b/vnext/src/ui/UserInfo.js
index 6a394b86..5bcc2507 100644
--- a/vnext/src/ui/UserInfo.js
+++ b/vnext/src/ui/UserInfo.js
@@ -26,7 +26,7 @@ export default function UserInfo({ uname, onUpdate, children }) {
onUpdate && onUpdate(response.data);
setUser(response.data);
}
- });
+ }).catch(console.log);
return () => {
isMounted = false;
};
@@ -79,7 +79,6 @@ function Summary({ user }) {
return (
<div className="msg-summary">
{presentItems.length > 0 && presentItems.reduce((prev, curr) =>
- // @ts-ignore
[prev, ' ', curr])}
</div>
);