diff --git a/core/src/data/defaultQapps.js b/core/src/data/defaultQapps.js index e75ce717..88695481 100644 --- a/core/src/data/defaultQapps.js +++ b/core/src/data/defaultQapps.js @@ -86,5 +86,16 @@ export const defaultQappsTabs = [ "pluginNumber": "plugin-GGHiHzW6pe", "menus": [], "parent": false + }, + { + "url": "myapp", + "domain": "core", + "page": "qdn/browser/index.html?name=Q-Mintership&service=APP", + "title": "Q-Mintership", + "icon": "vaadin:external-browser", + "mwcicon": "apps", + "pluginNumber": "plugin-GGJJPqW6pe", + "menus": [], + "parent": false } ] \ No newline at end of file diff --git a/crypto/api/transactions/chat/decryptChatMessage.js b/crypto/api/transactions/chat/decryptChatMessage.js index 0a88b697..a7497272 100644 --- a/crypto/api/transactions/chat/decryptChatMessage.js +++ b/crypto/api/transactions/chat/decryptChatMessage.js @@ -50,5 +50,13 @@ export const decryptChatMessageBase64 = (encryptedMessage, privateKey, recipient return _decryptedMessage } + let decrypted1 = new TextDecoder('utf-8').decode(_decryptedMessage) + + if (decrypted1.includes('messageText')) { + let decrypted2 = JSON.parse(decrypted1) + let decrypted3 = Object.assign(decrypted2, {isFrivate: true}) + return JSON.stringify(decrypted3) + } + return new TextDecoder('utf-8').decode(_decryptedMessage) } diff --git a/img/minter.png b/img/minter.png new file mode 100644 index 00000000..ffc89be4 Binary files /dev/null and b/img/minter.png differ diff --git a/package-lock.json b/package-lock.json index 5d306830..5dd0944c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "qortal-ui", - "version": "4.6.0", + "version": "4.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "qortal-ui", - "version": "4.6.0", + "version": "4.6.1", "license": "GPL-3.0", "dependencies": { "@hapi/hapi": "21.3.12", @@ -47,13 +47,13 @@ "prosemirror-schema-list": "1.5.0", "prosemirror-state": "1.4.3", "prosemirror-transform": "1.10.2", - "prosemirror-view": "1.37.2", + "prosemirror-view": "1.38.0", "sass": "1.77.6", "short-unique-id": "5.2.0", "xhr2": "0.2.1" }, "devDependencies": { - "@babel/core": "7.26.8", + "@babel/core": "7.26.9", "@electron/packager": "18.3.6", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", @@ -107,7 +107,7 @@ "@vaadin/tooltip": "24.2.9", "@zip.js/zip.js": "2.7.57", "axios": "1.7.9", - "electron": "34.1.1", + "electron": "34.2.0", "electron-builder": "25.1.8", "epml": "0.3.3", "file-saver": "2.0.5", @@ -119,7 +119,7 @@ "pwa-helpers": "0.9.1", "redux": "5.0.1", "redux-thunk": "3.1.0", - "rollup": "4.34.6", + "rollup": "4.34.7", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", @@ -169,23 +169,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", - "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", + "@babel/generator": "^7.26.9", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/traverse": "^7.26.8", - "@babel/types": "^7.26.8", - "@types/gensync": "^1.0.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -201,14 +200,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", - "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -297,27 +296,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", - "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.8" + "@babel/types": "^7.26.9" }, "bin": { "parser": "bin/babel-parser.js" @@ -327,32 +326,32 @@ } }, "node_modules/@babel/template": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", - "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.8", - "@babel/types": "^7.26.8" + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", - "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.8", - "@babel/parser": "^7.26.8", - "@babel/template": "^7.26.8", - "@babel/types": "^7.26.8", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -361,9 +360,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", - "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", "dev": true, "license": "MIT", "dependencies": { @@ -3070,9 +3069,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.6.tgz", - "integrity": "sha512-+GcCXtOQoWuC7hhX1P00LqjjIiS/iOouHXhMdiDSnq/1DGTox4SpUvO52Xm+div6+106r+TcvOeo/cxvyEyTgg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.7.tgz", + "integrity": "sha512-l6CtzHYo8D2TQ3J7qJNpp3Q1Iye56ssIAtqbM2H8axxCEEwvN7o8Ze9PuIapbxFL3OHrJU2JBX6FIIVnP/rYyw==", "cpu": [ "arm" ], @@ -3084,9 +3083,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.6.tgz", - "integrity": "sha512-E8+2qCIjciYUnCa1AiVF1BkRgqIGW9KzJeesQqVfyRITGQN+dFuoivO0hnro1DjT74wXLRZ7QF8MIbz+luGaJA==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.7.tgz", + "integrity": "sha512-KvyJpFUueUnSp53zhAa293QBYqwm94TgYTIfXyOTtidhm5V0LbLCJQRGkQClYiX3FXDQGSvPxOTD/6rPStMMDg==", "cpu": [ "arm64" ], @@ -3098,9 +3097,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.6.tgz", - "integrity": "sha512-z9Ib+OzqN3DZEjX7PDQMHEhtF+t6Mi2z/ueChQPLS/qUMKY7Ybn5A2ggFoKRNRh1q1T03YTQfBTQCJZiepESAg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.7.tgz", + "integrity": "sha512-jq87CjmgL9YIKvs8ybtIC98s/M3HdbqXhllcy9EdLV0yMg1DpxES2gr65nNy7ObNo/vZ/MrOTxt0bE5LinL6mA==", "cpu": [ "arm64" ], @@ -3112,9 +3111,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.6.tgz", - "integrity": "sha512-PShKVY4u0FDAR7jskyFIYVyHEPCPnIQY8s5OcXkdU8mz3Y7eXDJPdyM/ZWjkYdR2m0izD9HHWA8sGcXn+Qrsyg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.7.tgz", + "integrity": "sha512-rSI/m8OxBjsdnMMg0WEetu/w+LhLAcCDEiL66lmMX4R3oaml3eXz3Dxfvrxs1FbzPbJMaItQiksyMfv1hoIxnA==", "cpu": [ "x64" ], @@ -3126,9 +3125,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.6.tgz", - "integrity": "sha512-YSwyOqlDAdKqs0iKuqvRHLN4SrD2TiswfoLfvYXseKbL47ht1grQpq46MSiQAx6rQEN8o8URtpXARCpqabqxGQ==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.7.tgz", + "integrity": "sha512-oIoJRy3ZrdsXpFuWDtzsOOa/E/RbRWXVokpVrNnkS7npz8GEG++E1gYbzhYxhxHbO2om1T26BZjVmdIoyN2WtA==", "cpu": [ "arm64" ], @@ -3140,9 +3139,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.6.tgz", - "integrity": "sha512-HEP4CgPAY1RxXwwL5sPFv6BBM3tVeLnshF03HMhJYCNc6kvSqBgTMmsEjb72RkZBAWIqiPUyF1JpEBv5XT9wKQ==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.7.tgz", + "integrity": "sha512-X++QSLm4NZfZ3VXGVwyHdRf58IBbCu9ammgJxuWZYLX0du6kZvdNqPwrjvDfwmi6wFdvfZ/s6K7ia0E5kI7m8Q==", "cpu": [ "x64" ], @@ -3154,9 +3153,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.6.tgz", - "integrity": "sha512-88fSzjC5xeH9S2Vg3rPgXJULkHcLYMkh8faix8DX4h4TIAL65ekwuQMA/g2CXq8W+NJC43V6fUpYZNjaX3+IIg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.7.tgz", + "integrity": "sha512-Z0TzhrsNqukTz3ISzrvyshQpFnFRfLunYiXxlCRvcrb3nvC5rVKI+ZXPFG/Aa4jhQa1gHgH3A0exHaRRN4VmdQ==", "cpu": [ "arm" ], @@ -3168,9 +3167,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.6.tgz", - "integrity": "sha512-wM4ztnutBqYFyvNeR7Av+reWI/enK9tDOTKNF+6Kk2Q96k9bwhDDOlnCUNRPvromlVXo04riSliMBs/Z7RteEg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.7.tgz", + "integrity": "sha512-nkznpyXekFAbvFBKBy4nNppSgneB1wwG1yx/hujN3wRnhnkrYVugMTCBXED4+Ni6thoWfQuHNYbFjgGH0MBXtw==", "cpu": [ "arm" ], @@ -3182,9 +3181,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.6.tgz", - "integrity": "sha512-9RyprECbRa9zEjXLtvvshhw4CMrRa3K+0wcp3KME0zmBe1ILmvcVHnypZ/aIDXpRyfhSYSuN4EPdCCj5Du8FIA==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.7.tgz", + "integrity": "sha512-KCjlUkcKs6PjOcxolqrXglBDcfCuUCTVlX5BgzgoJHw+1rWH1MCkETLkLe5iLLS9dP5gKC7mp3y6x8c1oGBUtA==", "cpu": [ "arm64" ], @@ -3196,9 +3195,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.6.tgz", - "integrity": "sha512-qTmklhCTyaJSB05S+iSovfo++EwnIEZxHkzv5dep4qoszUMX5Ca4WM4zAVUMbfdviLgCSQOu5oU8YoGk1s6M9Q==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.7.tgz", + "integrity": "sha512-uFLJFz6+utmpbR313TTx+NpPuAXbPz4BhTQzgaP0tozlLnGnQ6rCo6tLwaSa6b7l6gRErjLicXQ1iPiXzYotjw==", "cpu": [ "arm64" ], @@ -3210,9 +3209,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.6.tgz", - "integrity": "sha512-4Qmkaps9yqmpjY5pvpkfOerYgKNUGzQpFxV6rnS7c/JfYbDSU0y6WpbbredB5cCpLFGJEqYX40WUmxMkwhWCjw==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.7.tgz", + "integrity": "sha512-ws8pc68UcJJqCpneDFepnwlsMUFoWvPbWXT/XUrJ7rWUL9vLoIN3GAasgG+nCvq8xrE3pIrd+qLX/jotcLy0Qw==", "cpu": [ "loong64" ], @@ -3224,9 +3223,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.6.tgz", - "integrity": "sha512-Zsrtux3PuaxuBTX/zHdLaFmcofWGzaWW1scwLU3ZbW/X+hSsFbz9wDIp6XvnT7pzYRl9MezWqEqKy7ssmDEnuQ==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.7.tgz", + "integrity": "sha512-vrDk9JDa/BFkxcS2PbWpr0C/LiiSLxFbNOBgfbW6P8TBe9PPHx9Wqbvx2xgNi1TOAyQHQJ7RZFqBiEohm79r0w==", "cpu": [ "ppc64" ], @@ -3238,9 +3237,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.6.tgz", - "integrity": "sha512-aK+Zp+CRM55iPrlyKiU3/zyhgzWBxLVrw2mwiQSYJRobCURb781+XstzvA8Gkjg/hbdQFuDw44aUOxVQFycrAg==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.7.tgz", + "integrity": "sha512-rB+ejFyjtmSo+g/a4eovDD1lHWHVqizN8P0Hm0RElkINpS0XOdpaXloqM4FBkF9ZWEzg6bezymbpLmeMldfLTw==", "cpu": [ "riscv64" ], @@ -3252,9 +3251,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.6.tgz", - "integrity": "sha512-WoKLVrY9ogmaYPXwTH326+ErlCIgMmsoRSx6bO+l68YgJnlOXhygDYSZe/qbUJCSiCiZAQ+tKm88NcWuUXqOzw==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.7.tgz", + "integrity": "sha512-nNXNjo4As6dNqRn7OrsnHzwTgtypfRA3u3AKr0B3sOOo+HkedIbn8ZtFnB+4XyKJojIfqDKmbIzO1QydQ8c+Pw==", "cpu": [ "s390x" ], @@ -3266,9 +3265,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.6.tgz", - "integrity": "sha512-Sht4aFvmA4ToHd2vFzwMFaQCiYm2lDFho5rPcvPBT5pCdC+GwHG6CMch4GQfmWTQ1SwRKS0dhDYb54khSrjDWw==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.7.tgz", + "integrity": "sha512-9kPVf9ahnpOMSGlCxXGv980wXD0zRR3wyk8+33/MXQIpQEOpaNe7dEHm5LMfyRZRNt9lMEQuH0jUKj15MkM7QA==", "cpu": [ "x64" ], @@ -3280,9 +3279,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.6.tgz", - "integrity": "sha512-zmmpOQh8vXc2QITsnCiODCDGXFC8LMi64+/oPpPx5qz3pqv0s6x46ps4xoycfUiVZps5PFn1gksZzo4RGTKT+A==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.7.tgz", + "integrity": "sha512-7wJPXRWTTPtTFDFezA8sle/1sdgxDjuMoRXEKtx97ViRxGGkVQYovem+Q8Pr/2HxiHp74SSRG+o6R0Yq0shPwQ==", "cpu": [ "x64" ], @@ -3294,9 +3293,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.6.tgz", - "integrity": "sha512-3/q1qUsO/tLqGBaD4uXsB6coVGB3usxw3qyeVb59aArCgedSF66MPdgRStUd7vbZOsko/CgVaY5fo2vkvPLWiA==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.7.tgz", + "integrity": "sha512-MN7aaBC7mAjsiMEZcsJvwNsQVNZShgES/9SzWp1HC9Yjqb5OpexYnRjF7RmE4itbeesHMYYQiAtUAQaSKs2Rfw==", "cpu": [ "arm64" ], @@ -3308,9 +3307,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.6.tgz", - "integrity": "sha512-oLHxuyywc6efdKVTxvc0135zPrRdtYVjtVD5GUm55I3ODxhU/PwkQFD97z16Xzxa1Fz0AEe4W/2hzRtd+IfpOA==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.7.tgz", + "integrity": "sha512-aeawEKYswsFu1LhDM9RIgToobquzdtSc4jSVqHV8uApz4FVvhFl/mKh92wc8WpFc6aYCothV/03UjY6y7yLgbg==", "cpu": [ "ia32" ], @@ -3322,9 +3321,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.6.tgz", - "integrity": "sha512-0PVwmgzZ8+TZ9oGBmdZoQVXflbvuwzN/HRclujpl4N/q3i+y0lqLw8n1bXA8ru3sApDjlmONaNAuYr38y1Kr9w==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.7.tgz", + "integrity": "sha512-4ZedScpxxIrVO7otcZ8kCX1mZArtH2Wfj3uFCxRJ9NO80gg1XV0U/b2f/MKaGwj2X3QopHfoWiDQ917FRpwY3w==", "cpu": [ "x64" ], @@ -3894,13 +3893,6 @@ "@types/node": "*" } }, - "node_modules/@types/gensync": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", - "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", - "dev": true, - "license": "MIT" - }, "node_modules/@types/http-cache-semantics": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", @@ -6193,9 +6185,9 @@ } }, "node_modules/electron": { - "version": "34.1.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-34.1.1.tgz", - "integrity": "sha512-1aDYk9Gsv1/fFeClMrxWGoVMl7uCUgl1pe26BiTnLXmAoqEXCa3f3sCKFWV+cuDzUjQGAZcpkWhGYTgWUSQrLA==", + "version": "34.2.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-34.2.0.tgz", + "integrity": "sha512-SYwBJNeXBTm1q/ErybQMUBZAYqEreBUqBwTrNkw1rV4YatDZk5Aittpcus3PPeC4UoI/tqmJ946uG8AKHTd6CA==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -9448,9 +9440,9 @@ } }, "node_modules/prosemirror-view": { - "version": "1.37.2", - "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.37.2.tgz", - "integrity": "sha512-ApcyrfV/cRcaL65on7TQcfWElwLyOgIjnIynfAuV+fIdlpbSvSWRwfuPaH7T5mo4AbO/FID29qOtjiDIKGWyog==", + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.38.0.tgz", + "integrity": "sha512-O45kxXQTaP9wPdXhp8TKqCR+/unS/gnfg9Q93svQcB3j0mlp2XSPAmsPefxHADwzC+fbNS404jqRxm3UQaGvgw==", "license": "MIT", "dependencies": { "prosemirror-model": "^1.20.0", @@ -9884,9 +9876,9 @@ } }, "node_modules/rollup": { - "version": "4.34.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.6.tgz", - "integrity": "sha512-wc2cBWqJgkU3Iz5oztRkQbfVkbxoz5EhnCGOrnJvnLnQ7O0WhQUYyv18qQI79O8L7DdHrrlJNeCHd4VGpnaXKQ==", + "version": "4.34.7", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.7.tgz", + "integrity": "sha512-8qhyN0oZ4x0H6wmBgfKxJtxM7qS98YJ0k0kNh5ECVtuchIJ7z9IVVvzpmtQyT10PXKMtBxYr1wQ5Apg8RS8kXQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9900,25 +9892,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.6", - "@rollup/rollup-android-arm64": "4.34.6", - "@rollup/rollup-darwin-arm64": "4.34.6", - "@rollup/rollup-darwin-x64": "4.34.6", - "@rollup/rollup-freebsd-arm64": "4.34.6", - "@rollup/rollup-freebsd-x64": "4.34.6", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.6", - "@rollup/rollup-linux-arm-musleabihf": "4.34.6", - "@rollup/rollup-linux-arm64-gnu": "4.34.6", - "@rollup/rollup-linux-arm64-musl": "4.34.6", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.6", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.6", - "@rollup/rollup-linux-riscv64-gnu": "4.34.6", - "@rollup/rollup-linux-s390x-gnu": "4.34.6", - "@rollup/rollup-linux-x64-gnu": "4.34.6", - "@rollup/rollup-linux-x64-musl": "4.34.6", - "@rollup/rollup-win32-arm64-msvc": "4.34.6", - "@rollup/rollup-win32-ia32-msvc": "4.34.6", - "@rollup/rollup-win32-x64-msvc": "4.34.6", + "@rollup/rollup-android-arm-eabi": "4.34.7", + "@rollup/rollup-android-arm64": "4.34.7", + "@rollup/rollup-darwin-arm64": "4.34.7", + "@rollup/rollup-darwin-x64": "4.34.7", + "@rollup/rollup-freebsd-arm64": "4.34.7", + "@rollup/rollup-freebsd-x64": "4.34.7", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.7", + "@rollup/rollup-linux-arm-musleabihf": "4.34.7", + "@rollup/rollup-linux-arm64-gnu": "4.34.7", + "@rollup/rollup-linux-arm64-musl": "4.34.7", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.7", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.7", + "@rollup/rollup-linux-riscv64-gnu": "4.34.7", + "@rollup/rollup-linux-s390x-gnu": "4.34.7", + "@rollup/rollup-linux-x64-gnu": "4.34.7", + "@rollup/rollup-linux-x64-musl": "4.34.7", + "@rollup/rollup-win32-arm64-msvc": "4.34.7", + "@rollup/rollup-win32-ia32-msvc": "4.34.7", + "@rollup/rollup-win32-x64-msvc": "4.34.7", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index a276870e..133fc6a7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "qortal-ui", - "version": "4.6.0", + "version": "4.6.1", "description": "Qortal Project - decentralize the world - Data storage, communications, web hosting, decentralized trading, complete infrastructure for the future blockchain-based Internet", "keywords": [ "QORT", @@ -68,13 +68,13 @@ "prosemirror-schema-list": "1.5.0", "prosemirror-state": "1.4.3", "prosemirror-transform": "1.10.2", - "prosemirror-view": "1.37.2", + "prosemirror-view": "1.38.0", "sass": "1.77.6", "short-unique-id": "5.2.0", "xhr2": "0.2.1" }, "devDependencies": { - "@babel/core": "7.26.8", + "@babel/core": "7.26.9", "@electron/packager": "18.3.6", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", @@ -128,7 +128,7 @@ "@vaadin/tooltip": "24.2.9", "@zip.js/zip.js": "2.7.57", "axios": "1.7.9", - "electron": "34.1.1", + "electron": "34.2.0", "electron-builder": "25.1.8", "epml": "0.3.3", "file-saver": "2.0.5", @@ -140,7 +140,7 @@ "pwa-helpers": "0.9.1", "redux": "5.0.1", "redux-thunk": "3.1.0", - "rollup": "4.34.6", + "rollup": "4.34.7", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", diff --git a/plugins/plugins/core/components/ChatHead.js b/plugins/plugins/core/components/ChatHead.js index 91bf56e7..a22f1eeb 100644 --- a/plugins/plugins/core/components/ChatHead.js +++ b/plugins/plugins/core/components/ChatHead.js @@ -5,7 +5,7 @@ import localForage from 'localforage' import '@material/mwc-icon' // Multi language support -import { translate } from '../../../../core/translate' +import { get, translate } from '../../../../core/translate' const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) @@ -66,6 +66,9 @@ class ChatHead extends LitElement { } else if (groupString === 'Group_1') { const avatarUrl = `/img/qdcgroup.png` this.avatarImg = this.createImage(avatarUrl) + } else if (groupString === 'Group_694') { + const avatarUrl = `/img/minter.png` + this.avatarImg = this.createImage(avatarUrl) } else if (this.chatInfo.name) { const avatarUrl = `${nodeUrl}/arbitrary/THUMBNAIL/${this.chatInfo.name}/qortal_avatar?async=true` this.avatarImg = this.createImage(avatarUrl) @@ -129,12 +132,24 @@ class ChatHead extends LitElement { > ${this.chatInfo.groupName ? this.chatInfo.groupName : this.chatInfo.name !== undefined ? this.chatInfo.name : this.chatInfo.address.substr(0, 15)} - ${this.chatInfo.groupId !== undefined ? 'lock_open' : 'lock'} + + ${ + this.chatInfo.groupId === undefined ? 'private_connectivity' : + this.chatInfo.isOpen === false ? 'lock_outline' : + this.chatInfo.isOpen === true ? 'lock_open' : + 'lock_open' + } +
- ${this.chatInfo.groupId !== undefined ? 'id: ' + this.chatInfo.groupId : ''} + ${this.chatInfo.groupId !== undefined ? 'id: ' + this.chatInfo.groupId : 'Private Chat'}
diff --git a/plugins/plugins/core/components/ChatPage.js b/plugins/plugins/core/components/ChatPage.js index fc84eeaa..36ed523c 100644 --- a/plugins/plugins/core/components/ChatPage.js +++ b/plugins/plugins/core/components/ChatPage.js @@ -3,7 +3,7 @@ import { ifDefined } from 'lit/directives/if-defined.js' import { unsafeHTML } from 'lit/directives/unsafe-html.js' import { animate } from '@lit-labs/motion' import { Epml } from '../../../epml' -import { Editor, Extension, generateHTML } from '@tiptap/core' +import { Editor, Extension, generateHTML, generateJSON } from '@tiptap/core' import { escape } from 'html-escaper' import { inputKeyCodes, replaceMessagesEdited, generateIdFromAddresses } from '../../utils/functions' import { publishData, modalHelper, RequestQueue } from '../../utils/classes' @@ -345,7 +345,12 @@ class ChatPage extends LitElement { } ${+this.repliedToMessageObj.version > 1 ? html` - ${unsafeHTML(generateHTML(this.repliedToMessageObj.message, [StarterKit, Underline, Highlight, Mention]))} + + ${this.repliedToMessageObj.decodedMessage.includes('specialId') ? + this.convertHubMessageToJson(this.repliedToMessageObj.message) : + unsafeHTML(generateHTML(this.repliedToMessageObj.message, [StarterKit, Underline, Highlight, Mention])) + } + ` : '' } @@ -362,7 +367,12 @@ class ChatPage extends LitElement {

${translate("chatpage.cchange25")}

- ${unsafeHTML(generateHTML(this.editedMessageObj.message, [StarterKit, Underline, Highlight, Mention]))} + + ${this.editedMessageObj.decodedMessage.includes('specialId') && !this.editedMessageObj.decodedMessage.includes('messageText') ? + this.convertHubMessageToJson(this.editedMessageObj.message) : + unsafeHTML(generateHTML(this.editedMessageObj.message, [StarterKit, Underline, Highlight, Mention])) + } +
this.closeEditMessageContainer()}>
@@ -845,7 +855,12 @@ class ChatPage extends LitElement { if (isEnabledChatEnter) { this.isEnabledChatEnter = isEnabledChatEnter === 'false' ? false : true } + } + convertHubMessageToJson(message) { + let newJson = generateJSON(`${message}`, [StarterKit, Underline, Highlight, Mention]) + + return unsafeHTML(generateHTML(newJson, [StarterKit, Underline, Highlight, Mention])) } getNodeUrl() { diff --git a/plugins/plugins/core/components/ChatScroller.js b/plugins/plugins/core/components/ChatScroller.js index 7438e0e3..47c4593a 100644 --- a/plugins/plugins/core/components/ChatScroller.js +++ b/plugins/plugins/core/components/ChatScroller.js @@ -3,7 +3,7 @@ import { repeat } from 'lit/directives/repeat.js' import { unsafeHTML } from 'lit/directives/unsafe-html.js' import { Epml } from '../../../epml' import { cropAddress, roundToNearestDecimal } from '../../utils/functions' -import { generateHTML } from '@tiptap/core' +import { generateHTML, generateJSON } from '@tiptap/core' import { chatLimit, totalMsgCount } from './ChatPage' import { chatStyles } from './plugins-css' import isElectron from 'is-electron' @@ -280,6 +280,7 @@ class ChatScroller extends LitElement { render() { let formattedMessages = this.messagesToRender + return html` ${this.isLoadingBefore ? html` @@ -1091,7 +1092,7 @@ class MessageTemplate extends LitElement { messageVersion2WithLink = processText(messageVersion2) } - if (parsedMessageObj.version > 1 && parsedMessageObj.message) { + if (parsedMessageObj.version > 1 && parsedMessageObj.message && !parsedMessageObj.messageText) { messageVersion2 = parsedMessageObj.message messageVersion2WithLink = processText(messageVersion2) } @@ -1106,7 +1107,7 @@ class MessageTemplate extends LitElement { version = parsedMessageObj.version isForwarded = parsedMessageObj.type === 'forward' isEdited = parsedMessageObj.isEdited && true - isEncrypted = parsedMessageObj.isFromHub || parsedMessageObj.message ? true : false + isEncrypted = parsedMessageObj.isFromHub || parsedMessageObj.isFrivate || parsedMessageObj.message ? true : false if (parsedMessageObj.images && Array.isArray(parsedMessageObj.images) && parsedMessageObj.images.length > 0) { image = parsedMessageObj.images[0] @@ -1271,6 +1272,10 @@ class MessageTemplate extends LitElement { try { repliedToMessageText = generateHTML(repliedToData.decodedMessage.messageText, [StarterKit, Underline, Highlight, Mention]) } catch (error) { /* empty */ } + } else if (repliedToData && repliedToData.decodedMessage && repliedToData.decodedMessage.message) { + try { + repliedToMessageText = this.convertHubMessageToJson(repliedToData.decodedMessage.message) + } catch (error) { /* empty */ } } let replacedMessage = '' @@ -2072,6 +2077,11 @@ class MessageTemplate extends LitElement { }, 60000) } + convertHubMessageToJson(message) { + let newJson = generateJSON(`${message}`, [StarterKit, Underline, Highlight, Mention]) + return generateHTML(newJson, [StarterKit, Underline, Highlight, Mention]) + } + async closeDownloadProgressDialog() { const closeDelay = ms => new Promise(res => setTimeout(res, ms)) this.shadowRoot.getElementById('downloadProgressDialog').close() @@ -2355,7 +2365,13 @@ class ChatMenu extends LitElement {
{if (this.version === '0') {this.versionErrorSnack(); return;} this.setEditedMessageObj(this.originalMessage);}} + @click=${() => { + if (this.version === '0') { + this.versionErrorSnack(); + return; + } + this.setEditedMessageObj(this.originalMessage); + }} >
diff --git a/plugins/plugins/core/components/plugins-css.js b/plugins/plugins/core/components/plugins-css.js index cc782eb5..f5454e97 100644 --- a/plugins/plugins/core/components/plugins-css.js +++ b/plugins/plugins/core/components/plugins-css.js @@ -1649,7 +1649,7 @@ export const chatStyles = css` position: absolute; top: 5px; left: 10px; - height: 75%; + height: 85%; width: 2.6px; background-color: var(--mdc-theme-primary); } @@ -1669,7 +1669,7 @@ export const chatStyles = css` overflow: hidden; text-overflow: ellipsis; max-width: 500px; - max-height: 40px; + max-height: 80px; margin: 0; padding: 0; } @@ -8524,7 +8524,7 @@ export const groupManagementStyles = css` position: absolute; top: 5px; left: 10px; - height: 75%; + height: 85%; width: 2.6px; background-color: var(--mdc-theme-primary); } @@ -8548,7 +8548,7 @@ export const groupManagementStyles = css` overflow: hidden; text-overflow: ellipsis; max-width: 500px; - max-height: 40px; + max-height: 80px; margin: 0; padding: 0; } diff --git a/plugins/plugins/core/components/webworkerDecodeMessages.js b/plugins/plugins/core/components/webworkerDecodeMessages.js index 91f20dbf..8f3d8c71 100644 --- a/plugins/plugins/core/components/webworkerDecodeMessages.js +++ b/plugins/plugins/core/components/webworkerDecodeMessages.js @@ -2893,6 +2893,14 @@ export const decryptChatMessageBase64 = (encryptedMessage, privateKey, recipient return _decryptedMessage } + let decrypted1 = new TextDecoder('utf-8').decode(_decryptedMessage) + + if (decrypted1.includes('messageText')) { + let decrypted2 = JSON.parse(decrypted1) + let decrypted3 = Object.assign(decrypted2, {isFrivate: true}) + return JSON.stringify(decrypted3) + } + return new TextDecoder('utf-8').decode(_decryptedMessage) } diff --git a/plugins/plugins/core/node-management/node-management.src.js b/plugins/plugins/core/node-management/node-management.src.js index 85eedf3b..dc493188 100644 --- a/plugins/plugins/core/node-management/node-management.src.js +++ b/plugins/plugins/core/node-management/node-management.src.js @@ -12,6 +12,7 @@ import '@vaadin/grid' // Multi language support import { get, registerTranslateConfig, translate, use } from '../../../../core/translate' + registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) @@ -427,7 +428,9 @@ class NodeManagement extends LitElement { async addPeer() { this.addPeerLoading = true + const addPeerAddress = this.shadowRoot.getElementById('addPeerAddress').value + await parentEpml.request('apiCall', { url: `/peers?apiKey=${this.getApiKey()}`, method: 'POST', @@ -456,7 +459,6 @@ class NodeManagement extends LitElement { addMintingAccount() { this.addMintingAccountLoading = true this.addMintingAccountMessage = 'Loading...' - this.addMintingAccountKey = this.shadowRoot.querySelector('#addMintingAccountKey').value parentEpml.request('apiCall', { @@ -479,6 +481,7 @@ class NodeManagement extends LitElement { updateMintingAccounts() { this.mintingAccounts = [] + parentEpml.request('apiCall', { url: `/admin/mintingaccounts?apiKey=${this.getApiKey()}`, method: 'GET' @@ -518,10 +521,6 @@ class NodeManagement extends LitElement { if (!arr) { return true } return arr.length === 0 } - - round(number) { - return (Math.round(parseFloat(number) * 1e8) / 1e8).toFixed(8) - } } window.customElements.define('node-management', NodeManagement) \ No newline at end of file diff --git a/plugins/plugins/core/overview-page/overview-page.src.js b/plugins/plugins/core/overview-page/overview-page.src.js index 1c8a266a..de3a1ed3 100644 --- a/plugins/plugins/core/overview-page/overview-page.src.js +++ b/plugins/plugins/core/overview-page/overview-page.src.js @@ -10,6 +10,7 @@ import '@vaadin/button' // Multi language support import { get, registerTranslateConfig, translate, use } from '../../../../core/translate' + registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) @@ -144,7 +145,6 @@ class OverviewPage extends LitElement { async firstUpdated() { this.changeTheme() this.changeLanguage() - this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig this.accountInfo = window.parent.reduxStore.getState().app.accountInfo @@ -199,11 +199,13 @@ class OverviewPage extends LitElement { changeTheme() { const checkTheme = localStorage.getItem('qortalTheme') + if (checkTheme === 'dark') { this.theme = 'dark' } else { this.theme = 'light' } + document.querySelector('html').setAttribute('theme', this.theme) } @@ -225,6 +227,7 @@ class OverviewPage extends LitElement { async refreshItems() { this.nodeConfig = window.parent.reduxStore.getState().app.nodeConfig this.accountInfo = window.parent.reduxStore.getState().app.accountInfo + await this.getNodeInfo() await this.getCoreInfo() await this.getBalanceInfo() @@ -234,12 +237,14 @@ class OverviewPage extends LitElement { async getMintingKeysList() { this.check1 = false this.check2 = false + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const nodeStatus = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const statusUrl = `${nodeStatus}/admin/mintingaccounts` + const statusUrl = `${nodeStatus}/admin/mintingaccounts?apiKey=${this.getApiKey()}` try { const res = await fetch(statusUrl) + this.listAccounts = await res.json() const addressInfo = window.parent.reduxStore.getState().app.accountInfo.addressInfo @@ -249,7 +254,6 @@ class OverviewPage extends LitElement { const findRemovedSponsorsKey = this.listAccounts.filter((my) => my.address) this.check1 = findMyMintingAccount !== undefined - this.check2 = findMyMintingRecipient !== undefined if (findRemovedSponsorsKey.length > 0) { @@ -285,8 +289,7 @@ class OverviewPage extends LitElement { this.cssStatus = '' return html`${translate("walletprofile.wp1")}` } else if (this.nodeInfo.isMintingPossible === true && this.nodeInfo.isSynchronizing === false && this.check1 === false && this.check2 === true && addressInfo.level == 0 && addressInfo.blocksMinted < 7200) { - this.cssStatus = '' - return html`${translate("becomeMinterPage.bchange12")}` + return html`` } else if (this.check1 === false && this.check2 === false && myMintingKey === true) { return html`` } else if (myMintingKey === false) { @@ -319,6 +322,7 @@ class OverviewPage extends LitElement { const infoNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const infoNodeUrl = infoNode.protocol + '://' + infoNode.domain + ':' + infoNode.port const nodeUrl = `${infoNodeUrl}/admin/status` + await fetch(nodeUrl).then(response => { return response.json() }).then(data => { @@ -332,6 +336,7 @@ class OverviewPage extends LitElement { const infoCore = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const infoCoreUrl = infoCore.protocol + '://' + infoCore.domain + ':' + infoCore.port const coreUrl = `${infoCoreUrl}/admin/info` + await fetch(coreUrl).then(response => { return response.json() }).then(data => { @@ -344,6 +349,7 @@ class OverviewPage extends LitElement { const infoBalance = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const infoBalanceUrl = infoBalance.protocol + '://' + infoBalance.domain + ':' + infoBalance.port const balanceUrl = `${infoBalanceUrl}/addresses/balance/${this.accountInfo.addressInfo.address}` + await fetch(balanceUrl).then(response => { return response.json() }).then(data => { @@ -422,7 +428,7 @@ class StartMintingNow extends LitElement { async getMintingAcccounts() { const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port - const url = `${nodeUrl}/admin/mintingaccounts` + const url = `${nodeUrl}/admin/mintingaccounts?apiKey=${this.getApiKey()}` try { const res = await fetch(url) this.mintingAccountData = await res.json() @@ -484,7 +490,9 @@ class StartMintingNow extends LitElement { let interval = null let stop = false + this.status = 2 + const getAnswer = async () => { const rewardShares = async (minterAddr) => { const url = `${nodeUrl}/addresses/rewardshares?minters=${minterAddr}&recipients=${minterAddr}` @@ -508,6 +516,7 @@ class StartMintingNow extends LitElement { stop = false } } + interval = setInterval(getAnswer, 5000) } diff --git a/plugins/plugins/core/q-chat/q-chat.src.js b/plugins/plugins/core/q-chat/q-chat.src.js index bb99d469..04b80174 100644 --- a/plugins/plugins/core/q-chat/q-chat.src.js +++ b/plugins/plugins/core/q-chat/q-chat.src.js @@ -1207,6 +1207,20 @@ class Chat extends LitElement { } } + async getGroupType(newGroupId) { + try { + const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port + const response = await fetch(`${nodeUrl}/groups/${newGroupId}`) + const data = await response.json() + + return data.isOpen + } catch (error) { + console.error('Error fetching group type', error) + throw error + } + } + async setChatHeads(chatObj) { const chatObjGroups = Array.isArray(chatObj.groups) ? chatObj.groups : [] const chatObjDirect = Array.isArray(chatObj.direct) ? chatObj.direct : [] @@ -1216,12 +1230,14 @@ class Chat extends LitElement { url: `group/${group.groupId}`, groupName: 'Qortal General Chat', timestamp: group.timestamp === undefined ? 2 : group.timestamp, - sender: group.sender + sender: group.sender, + isOpen: true } : { ...group, timestamp: group.timestamp === undefined ? 1 : group.timestamp, url: `group/${group.groupId}`, - ownerName: group.ownerName === undefined ? await this.getOwnerName(group.groupId) : 'undefined' + ownerName: group.ownerName === undefined ? await this.getOwnerName(group.groupId) : 'undefined', + isOpen: group.isOpen === undefined ? await this.getGroupType(group.groupId) : true })) let directList = chatObjDirect.map(dc => { diff --git a/plugins/plugins/core/reward-share/reward-share.src.js b/plugins/plugins/core/reward-share/reward-share.src.js index b7f39a60..93c347ef 100644 --- a/plugins/plugins/core/reward-share/reward-share.src.js +++ b/plugins/plugins/core/reward-share/reward-share.src.js @@ -13,6 +13,7 @@ import '@vaadin/grid' // Multi language support import { get, registerTranslateConfig, translate, use } from '../../../../core/translate' + registerTranslateConfig({ loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) }) @@ -361,7 +362,6 @@ class RewardShare extends LitElement { getTxnRequestResponse(myTransaction) } } else if (accountDetails.level >= 5) { - this.error = false this.message = '' let myTransaction = await makeTransactionRequest(lastRef) @@ -519,7 +519,6 @@ class RewardShare extends LitElement { getTxnRequestResponse(myTransaction) } } else if (accountDetails.level >= 5) { - this.error = false this.message = '' let myTransaction = await makeTransactionRequest(lastRef)