Merge pull request #271 from AlphaX-Projects/master

Rollback electron to v27 ( mac compatibility ), cleanup code
This commit is contained in:
AlphaX-Projects 2024-03-26 08:40:24 +01:00 committed by GitHub
commit 4a1f8c8e4e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 1838 additions and 2286 deletions

View File

@ -1 +0,0 @@
/node_modules

View File

@ -1,15 +0,0 @@
{
"env": {
"browser": true,
"es2021": true
},
"plugins": ["lit", "wc"],
"extends": ["eslint:recommended", "plugin:lit/recommended", "plugin:wc/recommended"],
"parserOptions": {
"ecmaVersion": 12,
"sourceType": "module"
},
"rules": {
"no-mixed-spaces-and-tabs": 0
}
}

View File

@ -1,71 +0,0 @@
branches:
except:
- master
language: node_js
node_js: "14.17.0"
cache:
yarn: true
directories:
- node_modules
# - qortal-ui-core/node_modules
# - qortal-ui-plugins/node_modules
# - qortal-ui-crypto/node_modules
- $HOME/.cache/electron
- $HOME/.cache/electron-builder
install:
- sh install-dependencies.sh
env:
global:
- ELECTRON_CACHE=$HOME/.cache/electron
- ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder
- ELECTRON_ENABLE_LOGGING=true
jobs:
include:
- stage: Deploy Linux
if: tag IS present
os: linux
dist: bionic
sudo: required
addons:
apt:
packages:
# default Electron dependencies
- build-essential
- gconf2
- gconf-service
- libgtk-3-0
- libnotify4
- libxss-dev
- libxss1
- xdg-utils
- libatspi2.0-0
- libappindicator1
- libxext-dev
- libxtst6
- libxtst-dev
- libnss3
script:
- newVersion=$(git describe --abbrev=0)
- yarn version --new-version $newVersion
- sh set-up-snap.sh
- yarn run release
- stage: Deploy Windows & Mac
if: tag IS present
os: osx
osx_image: xcode12.5.1
script:
- newVersion=$(git describe --abbrev=0)
- yarn version --new-version $newVersion
- yarn run release -- --mac --win
before_cache:
- rm -rf $HOME/.cache/electron-builder/wine
# - stage: Update GitHub with Builds
# if: tag IS present
# script:
# - sh push-updates-with-travis-build.sh

View File

@ -26,7 +26,7 @@ Easiest way to install the lastest required packages on Linux is via nvm.
``` source ~/.profile ``` (For Debian based distro) <br/> ``` source ~/.profile ``` (For Debian based distro) <br/>
``` source ~/.bashrc ``` (For Fedora / CentOS) <br/> ``` source ~/.bashrc ``` (For Fedora / CentOS) <br/>
``` nvm ls-remote ``` (Fetch list of available versions) <br/> ``` nvm ls-remote ``` (Fetch list of available versions) <br/>
``` nvm install v20.9.0 ``` (LTS: Iron supported by Electron) <br/> ``` nvm install v18.17.1 ``` (LTS: Hydrogen supported by Electron V27) <br/>
``` npm --location=global install npm@10.5.0 ``` <br/> ``` npm --location=global install npm@10.5.0 ``` <br/>
Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method. Adding via binary package mirror will only work if you have set the package path. You can do a node or java build via ports instead by downloading ports with portsnap fetch method.

View File

@ -1,23 +0,0 @@
{
"name": "Q-Blog",
"defaultFeedIndex": 0,
"feed": [
{
"id": "post-creation",
"version": 1,
"updated": 1696646223261,
"title": "Q-Blog Post creations",
"description": "Get your friends Q-Blog posts on your feed",
"search": {
"query": "-post-",
"identifier": "q-blog-",
"service": "BLOG_POST",
"exactmatchnames": true
},
"click": "qortal://APP/Q-Blog/$${resource.name}$$/blog/$${resource.identifier}$$",
"display": {
"title": "$${rawdata.title}$$"
}
}
]
}

View File

@ -1 +0,0 @@
/node_modules

View File

@ -1,22 +0,0 @@
{
"extends" : "standard",
"rules": {
"indent": [
"error",
4,
{
"SwitchCase": 1
}
]
},
"env": {
"es6": true,
"browser": true,
"worker": true
},
"parser": "babel-eslint",
"parserOptions": {
"sourceType": "module",
"allowImportExportEverywhere": true
}
}

View File

@ -1,67 +1,36 @@
import {css, html, LitElement} from 'lit' import {css, html, LitElement} from 'lit'
import {connect} from 'pwa-helpers' import {connect} from 'pwa-helpers'
import {store} from '../store.js' import {store} from '../store.js'
import {doPageUrl} from '../redux/app/app-actions.js' import {translate} from '../../translate'
import {translate} from '../../translate/index.js'
import WebWorker from 'web-worker:./computePowWorker.js';
import {routes} from '../plugins/routes.js';
import '@material/mwc-icon'
import '@material/mwc-button'
class AppInfo extends connect(store)(LitElement) { class AppInfo extends connect(store)(LitElement) {
static get properties() { static get properties() {
return { return {
blockInfo: { type: Object },
nodeStatus: { type: Object },
nodeInfo: { type: Array }, nodeInfo: { type: Array },
coreInfo: { type: Array }, coreInfo: { type: Array },
nodeConfig: { type: Object }, nodeConfig: { type: Object },
pageUrl: { type: String },
publicizeAddress: { type: String },
theme: { type: String, reflect: true } theme: { type: String, reflect: true }
} }
} }
static get styles() { static get styles() {
return [ return css`
css`
* { * {
--mdc-theme-primary: rgb(3, 169, 244); --mdc-theme-primary: rgb(3, 169, 244);
--paper-input-container-focus-color: var(--mdc-theme-primary); --paper-input-container-focus-color: var(--mdc-theme-primary);
} }
.normal { .normal {
--mdc-theme-primary: rgb(3, 169, 244); --mdc-theme-primary: rgb(3, 169, 244);
} }
.normal-button {
--mdc-theme-primary: rgb(3, 169, 244);
--mdc-theme-on-primary: white;
}
mwc-button.normal-button {
--mdc-theme-primary: rgb(3, 169, 244);
--mdc-theme-on-primary: white;
}
.test-net {
--mdc-theme-primary: black;
}
.test-net-button {
--mdc-theme-primary: black;
--mdc-theme-on-primary: white;
}
mwc-button.test-net-button {
--mdc-theme-primary: black;
--mdc-theme-on-primary: white;
}
#profileInMenu { #profileInMenu {
flex: 0 0 100px; flex: 0 0 100px;
padding:12px; padding:12px;
border-top: 1px solid var(--border); border-top: 1px solid var(--border);
background: var(--sidetopbar); background: var(--sidetopbar);
} }
.info { .info {
margin: 0; margin: 0;
font-size: 14px; font-size: 14px;
@ -71,6 +40,7 @@ class AppInfo extends connect(store)(LitElement) {
padding-bottom: 8px; padding-bottom: 8px;
color: var(--black); color: var(--black);
} }
.blue { .blue {
color: #03a9f4; color: #03a9f4;
margin: 0; margin: 0;
@ -78,6 +48,7 @@ class AppInfo extends connect(store)(LitElement) {
font-weight: 200; font-weight: 200;
display: inline; display: inline;
} }
.black { .black {
color: var(--black); color: var(--black);
margin: 0; margin: 0;
@ -86,20 +57,14 @@ class AppInfo extends connect(store)(LitElement) {
display: inline; display: inline;
} }
` `
]
} }
constructor() { constructor() {
super() super()
this.blockInfo = {}
this.nodeInfo = [] this.nodeInfo = []
this.coreInfo = [] this.coreInfo = []
this.nodeStatus = {} this.nodeStatus = {}
this.pageUrl = ''
this.publicizeAddress = ''
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
this.publicKeyisOnChainConfirmation = false
this.interval
} }
render() { render() {
@ -115,133 +80,25 @@ class AppInfo extends connect(store)(LitElement) {
} }
firstUpdated() { firstUpdated() {
this.publicizeAddress = store.getState().app.selectedAddress.address + '_publicize'
this.setStorage()
this.getNodeInfo() this.getNodeInfo()
this.getCoreInfo() this.getCoreInfo()
// try {
// this.confirmPublicKeyOnChain(store.getState().app.selectedAddress.address)
// } catch (error) {
// console.error(error)
// }
setInterval(() => { setInterval(() => {
this.getNodeInfo() this.getNodeInfo()
this.getCoreInfo() this.getCoreInfo()
}, 30000) }, 60000)
}
setStorage() {
if (localStorage.getItem(this.publicizeAddress) === null) {
localStorage.setItem(this.publicizeAddress, 'false')
}
}
async confirmPublicKeyOnChain(address) {
const _computePow2 = async (chatBytes) => {
const difficulty = 14
const path = window.parent.location.origin + '/memory-pow/memory-pow.wasm.full'
const worker = new WebWorker();
let nonce = null
let chatBytesArray = null
await new Promise((res, rej) => {
worker.postMessage({chatBytes, path, difficulty})
worker.onmessage = e => {
worker.terminate()
chatBytesArray = e.data.chatBytesArray
nonce = e.data.nonce
res()
}
})
let _response = await routes.sign_chat({
data: {
nonce: store.getState().app.selectedAddress.nonce,
chatBytesArray: chatBytesArray,
chatNonce: nonce
},
})
return _response
}
let stop = false
const checkPublicKey = async () => {
if (!stop) {
stop = true
try {
if(localStorage.getItem(this.publicizeAddress) === 'true') {
clearInterval(this.interval)
return
}
const myNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port
const url = `${nodeUrl}/addresses/publickey/${address}`
const res = await fetch(url)
let data = ''
try {
data = await res.text()
} catch (error) {
data = {
error: 'error'
}
}
if(data === 'false' && this.nodeInfo.isSynchronizing !== true) {
let _reference = new Uint8Array(64)
window.crypto.getRandomValues(_reference)
let reference = window.parent.Base58.encode(_reference)
const chatRes = await routes.chat({
data: {
type: 19,
nonce: store.getState().app.selectedAddress.nonce,
params: {
lastReference: reference,
proofOfWorkNonce: 0,
fee: 0,
timestamp: Date.now(),
},
disableModal: true
},
disableModal: true,
});
try {
const powRes = await _computePow2(chatRes)
if(powRes === true) {
clearInterval(this.interval)
localStorage.removeItem(this.publicizeAddress)
localStorage.setItem(this.publicizeAddress, 'true')
}
} catch (error) {
console.error(error)
}
}
if (!data.error && data !== 'false' && data) {
clearInterval(this.interval)
localStorage.removeItem(this.publicizeAddress)
localStorage.setItem(this.publicizeAddress, 'true')
}
} catch (error) {
}
stop = false
}
}
this.interval = setInterval(checkPublicKey, 5000);
} }
async getNodeInfo() { async getNodeInfo() {
const appinfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] const appinfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
const appinfoUrl = appinfoNode.protocol + '://' + appinfoNode.domain + ':' + appinfoNode.port const appinfoUrl = appinfoNode.protocol + '://' + appinfoNode.domain + ':' + appinfoNode.port
const url = `${appinfoUrl}/admin/status` const url = `${appinfoUrl}/admin/status`
await fetch(url).then(response => { await fetch(url).then(response => {
return response.json() return response.json()
}) }).then(data => {
.then(data => {
this.nodeInfo = data this.nodeInfo = data
}) }).catch(err => {
.catch(err => {
console.error('Request failed', err) console.error('Request failed', err)
}) })
} }
@ -250,13 +107,12 @@ class AppInfo extends connect(store)(LitElement) {
const appinfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] const appinfoNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
const appinfoUrl = appinfoNode.protocol + '://' + appinfoNode.domain + ':' + appinfoNode.port const appinfoUrl = appinfoNode.protocol + '://' + appinfoNode.domain + ':' + appinfoNode.port
const url = `${appinfoUrl}/admin/info` const url = `${appinfoUrl}/admin/info`
await fetch(url).then(response => { await fetch(url).then(response => {
return response.json() return response.json()
}) }).then(data => {
.then(data => {
this.coreInfo = data this.coreInfo = data
}) }).catch(err => {
.catch(err => {
console.error('Request failed', err) console.error('Request failed', err)
}) })
} }
@ -283,21 +139,8 @@ class AppInfo extends connect(store)(LitElement) {
return html`<span class="info">${translate("appinfo.coreversion")}: ${this.coreInfo.buildVersion ? this.coreInfo.buildVersion : ''}</span>` return html`<span class="info">${translate("appinfo.coreversion")}: ${this.coreInfo.buildVersion ? this.coreInfo.buildVersion : ''}</span>`
} }
gotoPage(url) {
const myLink = this.shadowRoot.querySelector('#pageLink')
myLink.href = url
myLink.click()
store.dispatch(doPageUrl(''))
}
stateChanged(state) { stateChanged(state) {
this.blockInfo = state.app.blockInfo
this.nodeStatus = state.app.nodeStatus
this.nodeConfig = state.app.nodeConfig this.nodeConfig = state.app.nodeConfig
this.pageUrl = state.app.pageUrl
if (this.pageUrl.length > 5) {
this.gotoPage(this.pageUrl)
}
} }
} }

View File

@ -1,10 +1,7 @@
import {css, html, LitElement} from 'lit' import {css, html, LitElement} from 'lit'
import {connect} from 'pwa-helpers' import {connect} from 'pwa-helpers'
import {store} from '../store.js' import {store} from '../store.js'
import {translate} from '../../translate/index.js' import {translate} from '../../translate'
import '@polymer/paper-toast'
import '@material/mwc-icon-button'
class WalletProfile extends connect(store)(LitElement) { class WalletProfile extends connect(store)(LitElement) {
static get properties() { static get properties() {
@ -12,45 +9,19 @@ class WalletProfile extends connect(store)(LitElement) {
wallet: { type: Object }, wallet: { type: Object },
nodeConfig: { type: Object }, nodeConfig: { type: Object },
accountInfo: { type: Object }, accountInfo: { type: Object },
imageUrl: { type: String },
theme: { type: String, reflect: true } theme: { type: String, reflect: true }
} }
} }
static get styles() { static get styles() {
return [ return css`
css`
`
]
}
constructor() {
super()
this.nodeConfig = {}
this.accountInfo = {
names: [],
addressInfo: {}
}
this.imageUrl = ''
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
}
render() {
return html`
<style>
#profileInMenu { #profileInMenu {
padding: 12px; padding: 12px;
border-top: var(--border); border-top: var(--border);
background: var(--sidetopbar); background: var(--sidetopbar);
color: var(--black); color: var(--black);
} }
#profileInMenu:hover {
}
#accountIcon {
font-size:48px;
color: var(--mdc-theme-primary);
display: inline-block;
}
#accountName { #accountName {
margin: 0; margin: 0;
font-size: 18px; font-size: 18px;
@ -59,12 +30,14 @@ class WalletProfile extends connect(store)(LitElement) {
padding-bottom: 8px; padding-bottom: 8px;
display: flex; display: flex;
} }
#blocksMinted { #blocksMinted {
margin:0; margin:0;
margin-top: 0; margin-top: 0;
font-size: 12px; font-size: 12px;
color: #03a9f4; color: #03a9f4;
} }
#address { #address {
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
@ -73,21 +46,39 @@ class WalletProfile extends connect(store)(LitElement) {
margin-top: 8px; margin-top: 8px;
font-size: 11px; font-size: 11px;
} }
.round-fullinfo { .round-fullinfo {
position: relative; position: relative;
width: 68px; width: 68px;
height: 68px; height: 68px;
border-radius: 50%; border-radius: 50%;
} }
.full-info-logo { .full-info-logo {
width: 68px; width: 68px;
height: 68px; height: 68px;
border-radius: 50%; border-radius: 50%;
} }
.inline-block-child { .inline-block-child {
flex: 1; flex: 1;
} }
</style> `
}
constructor() {
super()
this.wallet = {}
this.nodeConfig = {}
this.accountInfo = {
names: [],
addressInfo: {}
}
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
}
render() {
return html`
<div id="profileInMenu"> <div id="profileInMenu">
<div style="padding: 8px 0;"> <div style="padding: 8px 0;">
<div id="accountName"> <div id="accountName">
@ -102,26 +93,10 @@ class WalletProfile extends connect(store)(LitElement) {
<p id="address">${this.wallet.addresses[0].address}</p> <p id="address">${this.wallet.addresses[0].address}</p>
</div> </div>
</div> </div>
<paper-toast id="toast" horizontal-align="right" vertical-align="top" vertical-offset="64"></paper-toast>
` `
} }
firstUpdated() { firstUpdated() {}
const container = document.body.querySelector('main-app').shadowRoot.querySelector('app-view').shadowRoot;
const toast = this.shadowRoot.getElementById('toast')
const isMobile = window.matchMedia(`(max-width: ${getComputedStyle(document.body).getPropertyValue('--layout-breakpoint-tablet')})`).matches
if (isMobile) {
toast.verticalAlign = 'bottom'
toast.verticalOffset = 0
}
this.toast = container.appendChild(toast)
}
async getAllWithAddress(myAddress) {
await this.getAddressUserAvatar(myAddress)
}
getAvatar() { getAvatar() {
if (this.accountInfo.names.length === 0) { if (this.accountInfo.names.length === 0) {
@ -135,9 +110,9 @@ class WalletProfile extends connect(store)(LitElement) {
} }
getApiKey() { getApiKey() {
const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]; const apiNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node]
let apiKey = apiNode.apiKey; let apiKey = apiNode.apiKey
return apiKey; return apiKey
} }
stateChanged(state) { stateChanged(state) {

View File

@ -2,16 +2,12 @@ const {
app, app,
BrowserWindow, BrowserWindow,
ipcMain, ipcMain,
ipcRenderer,
Menu, Menu,
Notification, Notification,
Tray, Tray,
nativeImage,
dialog, dialog,
webContents,
nativeTheme, nativeTheme,
crashReporter, crashReporter
webFrame
} = require('electron') } = require('electron')
const { autoUpdater } = require('electron-updater') const { autoUpdater } = require('electron-updater')
@ -42,16 +38,16 @@ crashReporter.start({
}) })
if (myMemory > 16000000000) { if (myMemory > 16000000000) {
app.commandLine.appendSwitch('js-flags', '--max-executable-size=192', '--max-old-space-size=8192', '--max-semi-space-size=2') app.commandLine.appendSwitch('js-flags', '--max-executable-size=192 --max-old-space-size=8192 --max-semi-space-size=2')
log.info("Memory Size Is 16GB Using JS Memory Heap Size 8GB") log.info("Memory Size Is 16GB Using JS Memory Heap Size 8GB")
} else if (myMemory > 12000000000) { } else if (myMemory > 12000000000) {
app.commandLine.appendSwitch('js-flags', '--max-executable-size=192', '--max-old-space-size=6144', '--max-semi-space-size=2') app.commandLine.appendSwitch('js-flags', '--max-executable-size=192 --max-old-space-size=6144 --max-semi-space-size=2')
log.info("Memory Size Is 12GB Using JS Memory Heap Size 6GB") log.info("Memory Size Is 12GB Using JS Memory Heap Size 6GB")
} else if (myMemory > 7000000000) { } else if (myMemory > 7000000000) {
app.commandLine.appendSwitch('js-flags', '--max-executable-size=192', '--max-old-space-size=4096', '--max-semi-space-size=2') app.commandLine.appendSwitch('js-flags', '--max-executable-size=192 --max-old-space-size=4096 --max-semi-space-size=2')
log.info("Memory Size Is 8GB Using JS Memory Heap Size 4GB") log.info("Memory Size Is 8GB Using JS Memory Heap Size 4GB")
} else { } else {
app.commandLine.appendSwitch('js-flags', '--max-executable-size=192', '--max-old-space-size=2048', '--max-semi-space-size=2') app.commandLine.appendSwitch('js-flags', '--max-executable-size=192 --max-old-space-size=2048 --max-semi-space-size=2')
log.info("Memory Size Is 4GB Using JS Memory Heap Size 2GB") log.info("Memory Size Is 4GB Using JS Memory Heap Size 2GB")
} }
@ -168,7 +164,7 @@ const isRunning = (query, cb) => {
} }
function doesFileExist(urlToJavaFile) { function doesFileExist(urlToJavaFile) {
var xhr = new XMLHttpRequest() const xhr = new XMLHttpRequest();
xhr.open('HEAD', urlToJavaFile, true) xhr.open('HEAD', urlToJavaFile, true)
xhr.send() xhr.send()
@ -227,7 +223,7 @@ async function checkWin() {
async function checkOsPlatform() { async function checkOsPlatform() {
if (process.platform === 'win32') { if (process.platform === 'win32') {
startElectronWin() await startElectronWin()
} else if (process.platform === 'linux' || process.platform === 'darwin') { } else if (process.platform === 'linux' || process.platform === 'darwin') {
startElectronUnix() startElectronUnix()
} else { } else {
@ -298,7 +294,7 @@ async function downloadWindows() {
alwaysOnTop: true, alwaysOnTop: true,
show: false show: false
}) })
winLoader.loadFile(path.join(__dirname + '/splash/download.html')) await winLoader.loadFile(path.join(__dirname + '/splash/download.html'))
winLoader.show() winLoader.show()
await electronDl.download(myWindow, winurl, { await electronDl.download(myWindow, winurl, {
@ -329,7 +325,7 @@ async function removeQortalExe() {
log.info('renove error', err) log.info('renove error', err)
} }
checkWin() await checkWin()
} }
async function checkPort() { async function checkPort() {
@ -353,7 +349,7 @@ async function checkResponseStatus(res) {
} }
async function javaversion() { async function javaversion() {
var stderrChunks = [] let stderrChunks = [];
let checkJava = await spawn('java', ['-version'], { shell: true }) let checkJava = await spawn('java', ['-version'], { shell: true })
if (process.platform === 'linux') { if (process.platform === 'linux') {
if (process.arch === 'x64') { if (process.arch === 'x64') {
@ -387,7 +383,7 @@ async function javaversion() {
checkJava.stderr.on('end', () => { checkJava.stderr.on('end', () => {
datres = Buffer.concat(stderrChunks).toString().split('\n')[0] datres = Buffer.concat(stderrChunks).toString().split('\n')[0]
var javaVersion = new RegExp('(java|openjdk) version').test(datres) ? datres.split(' ')[2].replace(/"/g, '') : false const javaVersion = new RegExp('(java|openjdk) version').test(datres) ? datres.split(' ')[2].replace(/"/g, '') : false;
log.info("Java Version", javaVersion) log.info("Java Version", javaVersion)
if (javaVersion != false) { if (javaVersion != false) {
checkQortal() checkQortal()
@ -419,7 +415,7 @@ async function installJava() {
alwaysOnTop: true, alwaysOnTop: true,
show: false show: false
}) })
splashLoader.loadFile(path.join(__dirname + '/splash/download.html')) await splashLoader.loadFile(path.join(__dirname + '/splash/download.html'))
if (process.platform === 'linux') { if (process.platform === 'linux') {
if (process.arch === 'x64') { if (process.arch === 'x64') {
@ -435,7 +431,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaX64Linux() await unzipJavaX64Linux()
} else { } else {
try { try {
splashLoader.show() splashLoader.show()
@ -448,7 +444,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaX64Linux() await unzipJavaX64Linux()
} }
} else if (process.arch === 'arm64') { } else if (process.arch === 'arm64') {
if (doesFileExist(linjavaarm64url) == true) { if (doesFileExist(linjavaarm64url) == true) {
@ -463,7 +459,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaArm64Linux() await unzipJavaArm64Linux()
} else { } else {
try { try {
splashLoader.show() splashLoader.show()
@ -476,7 +472,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaArm64Linux() await unzipJavaArm64Linux()
} }
} else if (process.arch === 'arm') { } else if (process.arch === 'arm') {
if (doesFileExist(linjavaarmurl) == true) { if (doesFileExist(linjavaarmurl) == true) {
@ -491,7 +487,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaArmLinux() await unzipJavaArmLinux()
} else { } else {
try { try {
splashLoader.show() splashLoader.show()
@ -504,7 +500,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaArmLinux() await unzipJavaArmLinux()
} }
} }
} else if (process.platform === 'darwin') { } else if (process.platform === 'darwin') {
@ -521,7 +517,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaX64Mac() await unzipJavaX64Mac()
} else { } else {
try { try {
splashLoader.show() splashLoader.show()
@ -534,7 +530,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaX64Mac() await unzipJavaX64Mac()
} }
} else { } else {
if (doesFileExist(macjavaaarch64url) == true) { if (doesFileExist(macjavaaarch64url) == true) {
@ -549,7 +545,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaAarch64Mac() await unzipJavaAarch64Mac()
} else { } else {
try { try {
splashLoader.show() splashLoader.show()
@ -562,7 +558,7 @@ async function installJava() {
log.info('Download JAVA error', err) log.info('Download JAVA error', err)
} }
splashLoader.destroy() splashLoader.destroy()
unzipJavaAarch64Mac() await unzipJavaAarch64Mac()
} }
} }
} }
@ -575,7 +571,7 @@ async function unzipJavaX64Linux() {
} catch (err) { } catch (err) {
log.info('Unzip Java error', err) log.info('Unzip Java error', err)
} }
chmodJava() await chmodJava()
} }
async function unzipJavaArm64Linux() { async function unzipJavaArm64Linux() {
@ -585,7 +581,7 @@ async function unzipJavaArm64Linux() {
} catch (err) { } catch (err) {
log.info('Unzip Java error', err) log.info('Unzip Java error', err)
} }
chmodJava() await chmodJava()
} }
async function unzipJavaArmLinux() { async function unzipJavaArmLinux() {
@ -595,7 +591,7 @@ async function unzipJavaArmLinux() {
} catch (err) { } catch (err) {
log.info('Unzip Java error', err) log.info('Unzip Java error', err)
} }
chmodJava() await chmodJava()
} }
async function unzipJavaX64Mac() { async function unzipJavaX64Mac() {
@ -605,7 +601,7 @@ async function unzipJavaX64Mac() {
} catch (err) { } catch (err) {
log.info('Unzip Java error', err) log.info('Unzip Java error', err)
} }
chmodJava() await chmodJava()
} }
async function unzipJavaAarch64Mac() { async function unzipJavaAarch64Mac() {
@ -615,7 +611,7 @@ async function unzipJavaAarch64Mac() {
} catch (err) { } catch (err) {
log.info('Unzip Java error', err) log.info('Unzip Java error', err)
} }
chmodJava() await chmodJava()
} }
async function chmodJava() { async function chmodJava() {
@ -627,7 +623,7 @@ async function chmodJava() {
} catch (err) { } catch (err) {
log.info('chmod error', err) log.info('chmod error', err)
} }
removeJavaZip() await removeJavaZip()
} }
async function removeJavaZip() { async function removeJavaZip() {
@ -743,7 +739,7 @@ async function downloadQortal() {
alwaysOnTop: true, alwaysOnTop: true,
show: false show: false
}) })
qortalLoader.loadFile(path.join(__dirname + '/splash/download.html')) await qortalLoader.loadFile(path.join(__dirname + '/splash/download.html'))
try { try {
qortalLoader.show() qortalLoader.show()
@ -756,7 +752,7 @@ async function downloadQortal() {
log.info('Download Qortal error', err) log.info('Download Qortal error', err)
} }
qortalLoader.destroy() qortalLoader.destroy()
unzipQortal() await unzipQortal()
} }
async function unzipQortal() { async function unzipQortal() {
@ -766,7 +762,7 @@ async function unzipQortal() {
} catch (err) { } catch (err) {
log.info('Unzip Qortal error', err) log.info('Unzip Qortal error', err)
} }
chmodQortal() await chmodQortal()
} }
async function chmodQortal() { async function chmodQortal() {
@ -778,7 +774,7 @@ async function chmodQortal() {
} catch (err) { } catch (err) {
log.info('chmod error', err) log.info('chmod error', err)
} }
removeQortalZip() await removeQortalZip()
} }
async function removeQortalZip() { async function removeQortalZip() {
@ -790,7 +786,7 @@ async function removeQortalZip() {
} catch (err) { } catch (err) {
log.info('rm error', err) log.info('rm error', err)
} }
checkAndStart() await checkAndStart()
} }
async function checkAndStart() { async function checkAndStart() {
@ -1208,8 +1204,10 @@ if (!isLock) {
app.whenReady().then(async () => { app.whenReady().then(async () => {
createWindow() createWindow()
createTray() createTray()
if (!store.get('askingCore')) {
await checkAll() await checkAll()
autoUpdater.checkForUpdatesAndNotify() }
await autoUpdater.checkForUpdatesAndNotify()
setInterval(() => { setInterval(() => {
autoUpdater.checkForUpdatesAndNotify() autoUpdater.checkForUpdatesAndNotify()
}, 1000 * 60 * 720) }, 1000 * 60 * 720)

View File

@ -1,71 +0,0 @@
#!/bin/sh
# Qortal Blockchain Project - 2021
# Travis Script to install dependencies...
set -ev
# install every repository needed, install dependencies, clone git repos, do yarn linking and building, and build and run final UI
install_dependencies()
{
echo -e '---INSTALLING DEPENDENCIES!---'
echo -e '---INSTALLING ALL UI REPOSITORIES---'
cd ../
cd qortal-ui-core
yarn install --pure-lockfile
cd ../
mkdir qortal-ui/qortal-ui-core
rsync -a qortal-ui-core/ qortal-ui/qortal-ui-core --exclude .git
cd qortal-ui/qortal-ui-core
yarn link
cd ../../
cd qortal-ui-plugins
yarn install --pure-lockfile
cd ../
mkdir qortal-ui/qortal-ui-plugins
rsync -a qortal-ui-plugins/ qortal-ui/qortal-ui-plugins --exclude .git
cd qortal-ui/qortal-ui-plugins
yarn link
cd ../../
cd qortal-ui-crypto
yarn install --pure-lockfile
cd ../
mkdir qortal-ui/qortal-ui-crypto
rsync -a qortal-ui-crypto/ qortal-ui/qortal-ui-crypto --exclude .git
cd qortal-ui/qortal-ui-crypto
yarn link
cd ../
echo -e '---INSTALL ALL DEPENDENCIES---'
yarn install --pure-lockfile
echo -e '---LINKING UI FOLDERS ---'
yarn link qortal-ui-core
yarn link qortal-ui-crypto
yarn link qortal-ui-plugins
echo -e '---BUILDING UI DEPENDENCIES!---'
yarn build
echo -e '---UPDATE PACKAGE-JSON UI DEPENDENCIES!---'
yarn update-package-json
echo -e '---REMOVE MODULES AND UNUSED DEPENDENCIES!---'
cd qortal-ui-core
yarn install --production --ignore-scripts --prefer-offline
cd ../
cd qortal-ui-plugins
rm -R node_modules
cd ../
cd qortal-ui-crypto
rm -R node_modules
cd ../
rm -R qortal-ui-crypto
}
install_dependencies

489
package-lock.json generated
View File

@ -9,7 +9,7 @@
"version": "4.5.1", "version": "4.5.1",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@hapi/hapi": "21.3.3", "@hapi/hapi": "21.3.6",
"@hapi/inert": "7.1.0", "@hapi/inert": "7.1.0",
"@lit-labs/motion": "1.0.6", "@lit-labs/motion": "1.0.6",
"@popperjs/core": "2.11.8", "@popperjs/core": "2.11.8",
@ -47,7 +47,7 @@
"prosemirror-state": "1.4.3", "prosemirror-state": "1.4.3",
"prosemirror-transform": "1.8.0", "prosemirror-transform": "1.8.0",
"prosemirror-view": "1.33.1", "prosemirror-view": "1.33.1",
"sass": "1.71.1", "sass": "1.72.0",
"short-unique-id": "5.0.3", "short-unique-id": "5.0.3",
"xhr2": "0.2.1" "xhr2": "0.2.1"
}, },
@ -96,15 +96,15 @@
"@rollup/plugin-node-resolve": "15.2.3", "@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-replace": "5.0.5", "@rollup/plugin-replace": "5.0.5",
"@rollup/plugin-terser": "0.4.4", "@rollup/plugin-terser": "0.4.4",
"@vaadin/avatar": "24.2.8", "@vaadin/avatar": "24.2.9",
"@vaadin/button": "24.2.8", "@vaadin/button": "24.2.9",
"@vaadin/grid": "24.2.8", "@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.8", "@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.8", "@vaadin/password-field": "24.2.9",
"@vaadin/tooltip": "24.2.8", "@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.40", "@zip.js/zip.js": "2.7.40",
"axios": "1.6.7", "axios": "1.6.8",
"electron": "29.1.1", "electron": "27.3.6",
"electron-builder": "24.13.3", "electron-builder": "24.13.3",
"epml": "0.3.3", "epml": "0.3.3",
"eslint": "8.57.0", "eslint": "8.57.0",
@ -119,14 +119,14 @@
"pwa-helpers": "0.9.1", "pwa-helpers": "0.9.1",
"redux": "5.0.1", "redux": "5.0.1",
"redux-thunk": "3.1.0", "redux-thunk": "3.1.0",
"rollup": "4.12.1", "rollup": "4.13.0",
"rollup-plugin-node-globals": "1.4.0", "rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2", "rollup-plugin-progress": "1.1.2",
"rollup-plugin-scss": "3.0.0", "rollup-plugin-scss": "3.0.0",
"shelljs": "0.8.5" "shelljs": "0.8.5"
}, },
"engines": { "engines": {
"node": ">=20.9.0" "node": ">=18.17.1"
} }
}, },
"node_modules/@aashutoshrathi/word-wrap": { "node_modules/@aashutoshrathi/word-wrap": {
@ -950,9 +950,9 @@
"integrity": "sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q==" "integrity": "sha512-w+lKW+yRrLhJu620jT3y+5g2mHqnKfepreykvdOcl9/6up8GrQQn+l3FRTsjHTKbkbfQFkuksHpdv2EcpKcJ4Q=="
}, },
"node_modules/@hapi/hapi": { "node_modules/@hapi/hapi": {
"version": "21.3.3", "version": "21.3.6",
"resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.3.tgz", "resolved": "https://registry.npmjs.org/@hapi/hapi/-/hapi-21.3.6.tgz",
"integrity": "sha512-6pgwWVl/aSKSNVn86n+mWa06jRqCAKi2adZp/Hti19A0u5x3/6eiKz8UTBPMzfrdGf9WcrYbFBYzWr/qd2s28g==", "integrity": "sha512-fbJ7QYQZl7Ixe6fmKjJbVO3zUrDa5aY+4xn7xBvJFXw6be76B4d28qknrD2la1aXo6GIhTUsJnqzU2awqmG0Sg==",
"dependencies": { "dependencies": {
"@hapi/accept": "^6.0.1", "@hapi/accept": "^6.0.1",
"@hapi/ammo": "^6.0.1", "@hapi/ammo": "^6.0.1",
@ -1319,13 +1319,13 @@
} }
}, },
"node_modules/@jridgewell/source-map": { "node_modules/@jridgewell/source-map": {
"version": "0.3.5", "version": "0.3.6",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
"integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.9" "@jridgewell/trace-mapping": "^0.3.25"
} }
}, },
"node_modules/@jridgewell/sourcemap-codec": { "node_modules/@jridgewell/sourcemap-codec": {
@ -3039,9 +3039,9 @@
} }
}, },
"node_modules/@rollup/rollup-android-arm-eabi": { "node_modules/@rollup/rollup-android-arm-eabi": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz",
"integrity": "sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==", "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -3052,9 +3052,9 @@
] ]
}, },
"node_modules/@rollup/rollup-android-arm64": { "node_modules/@rollup/rollup-android-arm64": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz",
"integrity": "sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==", "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3065,9 +3065,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-arm64": { "node_modules/@rollup/rollup-darwin-arm64": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz",
"integrity": "sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==", "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3078,9 +3078,9 @@
] ]
}, },
"node_modules/@rollup/rollup-darwin-x64": { "node_modules/@rollup/rollup-darwin-x64": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz",
"integrity": "sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==", "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3091,9 +3091,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm-gnueabihf": { "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz",
"integrity": "sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==", "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@ -3104,9 +3104,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-gnu": { "node_modules/@rollup/rollup-linux-arm64-gnu": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz",
"integrity": "sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==", "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3117,9 +3117,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-arm64-musl": { "node_modules/@rollup/rollup-linux-arm64-musl": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz",
"integrity": "sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==", "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3130,9 +3130,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-riscv64-gnu": { "node_modules/@rollup/rollup-linux-riscv64-gnu": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz",
"integrity": "sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==", "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@ -3143,9 +3143,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-gnu": { "node_modules/@rollup/rollup-linux-x64-gnu": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz",
"integrity": "sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==", "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3156,9 +3156,9 @@
] ]
}, },
"node_modules/@rollup/rollup-linux-x64-musl": { "node_modules/@rollup/rollup-linux-x64-musl": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz",
"integrity": "sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==", "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3169,9 +3169,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-arm64-msvc": { "node_modules/@rollup/rollup-win32-arm64-msvc": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz",
"integrity": "sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==", "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -3182,9 +3182,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-ia32-msvc": { "node_modules/@rollup/rollup-win32-ia32-msvc": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz",
"integrity": "sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==", "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@ -3195,9 +3195,9 @@
] ]
}, },
"node_modules/@rollup/rollup-win32-x64-msvc": { "node_modules/@rollup/rollup-win32-x64-msvc": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.1.tgz", "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz",
"integrity": "sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==", "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3658,9 +3658,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "20.11.25", "version": "18.19.24",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.24.tgz",
"integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", "integrity": "sha512-eghAz3gnbQbvnHqB+mgB2ZR3aH6RhdEmHGS48BnV75KceQPHqabkxKI0BbUSsqhqy2Ddhc2xD/VAR9ySZd57Lw==",
"devOptional": true, "devOptional": true,
"dependencies": { "dependencies": {
"undici-types": "~5.26.4" "undici-types": "~5.26.4"
@ -3720,72 +3720,72 @@
"dev": true "dev": true
}, },
"node_modules/@vaadin/a11y-base": { "node_modules/@vaadin/a11y-base": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.2.9.tgz",
"integrity": "sha512-fImkvOP1ctdOJViFX+2af1JgrO5LS5SZTs6+fb6E8PeXC3C0xnoCuP/Q62ANILLTk9OCpxM1x9H2zfPF7Tl2Tw==", "integrity": "sha512-8YR6HS+U49UOOinVm60i1SGfWobZWQHhQv+5irvQqCUVCLwYYDAjsgRtXXW83M3MQXJMvBaisGHzCKQdzuKCpw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/avatar": { "node_modules/@vaadin/avatar": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.2.9.tgz",
"integrity": "sha512-GILsjiXsYGxjkRqt1RfT06uOe3OHbb0FtCz2qA44bIASLJc8xFcOcqeb7ibbgQYnI0cxxlrbrhJ+Fjb9kolQyQ==", "integrity": "sha512-J1JHcEmrUyX2a/VM9Xa702GXC18SoCfzj1dTxxOtWI3XE+A2sEvBp4/3PDnRasjIPTzG4DBtapeXVkjzdaPL1g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/item": "~24.2.8", "@vaadin/item": "~24.2.9",
"@vaadin/list-box": "~24.2.8", "@vaadin/list-box": "~24.2.9",
"@vaadin/overlay": "~24.2.8", "@vaadin/overlay": "~24.2.9",
"@vaadin/tooltip": "~24.2.8", "@vaadin/tooltip": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/button": { "node_modules/@vaadin/button": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.2.9.tgz",
"integrity": "sha512-LK/hh+AU4lj1BKuTWGhiBgWru0p75fP0iY5od3RAGoe/ds08lEt0kbq45ZWGtBdVdi0ia10I1uRXUQ/pWJoflQ==", "integrity": "sha512-qCWTBXVNklcKO8fY0r9zK4AtMLdyUvkFacfoP6qPVw2hEmM2SZkzZQ7zlMO2S842bqCQuKB9aMgUDbX0rqgcPw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8", "@vaadin/vaadin-themable-mixin": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/checkbox": { "node_modules/@vaadin/checkbox": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.2.9.tgz",
"integrity": "sha512-APMQHOCqS5eYKCurVCPGEBCPYUX/H56Y+apGInFa6qI2ms6nuetVhwplzRsTi8GDjGphP4Ayd6ibQOZtuM43ig==", "integrity": "sha512-IXwqepF/mVb/x11VPE7dmUe1+yZXYwg+yATkMZl9BUnyeZNmXhkSw5vyj9ueDUq5v9FYJYJF8IhWoP0R2apMvw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/field-base": "~24.2.8", "@vaadin/field-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8", "@vaadin/vaadin-themable-mixin": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/component-base": { "node_modules/@vaadin/component-base": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.2.9.tgz",
"integrity": "sha512-j/4wW+GtEtZYSEO+CDhmHqNgsSD1QWOYKaVzvE7pXJ8nflY4eEelaCO45sEo5L2H2YKgZpZePiaPbcG4gcZi5w==", "integrity": "sha512-REyjFlNa84vNfus/xxq+KtRR6Ijsjx3BknwPXDB9ks4YpSO125TkNluLa/otVtrJkK1YS4Vty1VLwTspcIzYxg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
@ -3796,173 +3796,173 @@
} }
}, },
"node_modules/@vaadin/field-base": { "node_modules/@vaadin/field-base": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.2.9.tgz",
"integrity": "sha512-/t5VWgfVRkanIFbGrLP1ZJh1z67E/Pdyuiv81byGAdBoqxOQeI5qC9tXyP4svcHd3BJuaQoxS2qChyOTxTv/ww==", "integrity": "sha512-WPcJaQakjVtTYnGS0jv7FUz60PCqF3HNpp+QzmAoJIe1ezBEX173niU8B0L0pe64IcBs2BD8H5gkO+iIGHzMPA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/grid": { "node_modules/@vaadin/grid": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.2.9.tgz",
"integrity": "sha512-gRCd6nsvHz8crRjXnxhh9xclH5/CB+kUbfCK+6+vO2j5FQaH9nDugwJLSuixsX98KtlYCo6nuJc7QG19guCKZA==", "integrity": "sha512-/OiUgO/GTLDsXxyhlt13mGTBbC9DwJQt1Y6FrJz+M+te5EjHG2X3ZGot2KPpLeesDUuvrw+WGx/siie0Jm0NVg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/checkbox": "~24.2.8", "@vaadin/checkbox": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/lit-renderer": "~24.2.8", "@vaadin/lit-renderer": "~24.2.9",
"@vaadin/text-field": "~24.2.8", "@vaadin/text-field": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/icon": { "node_modules/@vaadin/icon": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.2.9.tgz",
"integrity": "sha512-Lh7V+ZgLOIFBKDo3R9k7C61rP4lWe+pVqfglEbR1pghPyEvsX5WswnOEy7uvCJXDc1XkQ5AU1QTLSpbh2KkE3w==", "integrity": "sha512-wuGOB9wAaZrHx15k6pNKszUjiDb+6OJFd6YPLTT5OigkjRU3gfL/RowmV4jdIr4z7bQmsF5/811FMDG+fz1qJA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8", "@vaadin/vaadin-themable-mixin": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/icons": { "node_modules/@vaadin/icons": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.2.9.tgz",
"integrity": "sha512-aByOEPyJis5HX8Y8dYCAfsGeCBis9RvuAgTu7J3MQY53xJ6S2fLl9aG9+CznEBCn5He8svZcDNR80y3K9T0uaA==", "integrity": "sha512-6N0eR5j6uEaPtmS4WajRhFvAqVx8P201mOY1xg7U/GXDI2sH+aGySnW2ivZXLXDbZNbqzZP5G0kQ11oEdbjfxw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/icon": "~24.2.8" "@vaadin/icon": "~24.2.9"
} }
}, },
"node_modules/@vaadin/input-container": { "node_modules/@vaadin/input-container": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.2.9.tgz",
"integrity": "sha512-CsmIuztWoUEHUj4GkE3GSu0q3qWYxgOTZ+PtwMi2Ecw4N3Udw9v6hNywANEmxnqXtXlvrKdWKW84KrSEFOgpgQ==", "integrity": "sha512-eFr6M2ns5YyuErYNX2IHpnUa2SeG8BfM7/79RGcbEQlhZa0VKFJ2UATFN2bRZXZDSCG5WTVnkjxFWxeSo3m0Uw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/item": { "node_modules/@vaadin/item": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.2.9.tgz",
"integrity": "sha512-gu2lemQGAuBN/E+NpnuGe2cfKcOnU4Fs3q99Ki5Mq47dF2y7ABu6MHakXrhRixOC5lCH+EoBxoAVyLlHNKem/A==", "integrity": "sha512-xH5okZ4QDdGAeIe9/JUiUvgYF30DXnt2M0ZxhDfgHzmybyAXthcVgauqa42Rgs+jpVF0jI0gQN4eq5vpaUyz2Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/list-box": { "node_modules/@vaadin/list-box": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.2.9.tgz",
"integrity": "sha512-GVNuXCb92VfuyEDmg0Ee73OFswVCJuizS4MJqWEXhnaPLWcVKmlmftG4fIm4UFWNqVbdk7Wukz3dIN226IH11g==", "integrity": "sha512-GlxdaNt51iQE445SfoihW/izUVdsFaYS6d0nka81jkCn86BOqjEqfXKlWDliDq72WksQHNAHrU5ipj8CIx3udA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/item": "~24.2.8", "@vaadin/item": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/lit-renderer": { "node_modules/@vaadin/lit-renderer": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.2.9.tgz",
"integrity": "sha512-Fvcsl2yYiVrwLwZHCucuP2Kiz1ispOVeydlY97P4Vjs4irtJz5kF9Vl9esdK15spnfDXOdfiggEmjlSqDrRhhg==", "integrity": "sha512-A5VWnRRwrMHE/e20pIYwYNBeO7/bZUacCCdNLMsAML3Mgz8WXvj9iGK3gCoQc7fMwfMdBKRq8mkOSDUXyEEIWA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/overlay": { "node_modules/@vaadin/overlay": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.2.9.tgz",
"integrity": "sha512-o8+oJuxwBDRN5xo2BYOUi8kcB6ZrAxiR8mkxxXa//ucCPn5IzePvPqDeTpNe0+By5zjfB663aGKPXe0ArTJfFQ==", "integrity": "sha512-0gF9C2JGrP5neZHvoE6/uc4qF5izbPldEqNIL5t91D+AVKRNwIxUNqlarbA+aV1G4G+EBZaYrpLxj/APd1lcxw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/password-field": { "node_modules/@vaadin/password-field": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.2.9.tgz",
"integrity": "sha512-nxQ9Gd/eRwloVYvvHO9Yc4VeyJ8SJVh0RiGjZetNugyKdYhVy0S4eQYr6GWXhHLJoMUD4xMuH+0uEbJMror4EQ==", "integrity": "sha512-drXbEbfGBEHzu8qUXVeioYUjvnnSP9wY22Hy5Pz6OS8gi5S66BADCNe4mZxWBTIs4tsiOQqslM90jpsxVcC8ug==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/button": "~24.2.8", "@vaadin/button": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/text-field": "~24.2.8", "@vaadin/text-field": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/text-field": { "node_modules/@vaadin/text-field": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.2.9.tgz",
"integrity": "sha512-7srn01dF9YlCGxcDzcQ4Il4ey2MIsP2icsXdVUn+oJ+scPmU/5hnBMa834nSGXWJmt5DCM2zK4UYkmKsReNBcg==", "integrity": "sha512-CE/Gk1h+Y+u2bVceF8bhjfCVapTcWWe9kkSbvsdOXdKqFi7+tRq14obWeHbPQ2l2lhwTJygw3GEB6WXZ96NEvA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/field-base": "~24.2.8", "@vaadin/field-base": "~24.2.9",
"@vaadin/input-container": "~24.2.8", "@vaadin/input-container": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8", "@vaadin/vaadin-themable-mixin": "~24.2.9",
"lit": "^2.0.0" "lit": "^2.0.0"
} }
}, },
"node_modules/@vaadin/tooltip": { "node_modules/@vaadin/tooltip": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.2.9.tgz",
"integrity": "sha512-3f0qu4IPyDaaPnaDjK6E9s61sTK2ddzLUc6Fbo4orha+b9KxmCvFy66GzvXgQFGfy3Zy9r+NSUU70cNAAl7T4g==", "integrity": "sha512-yyQ50hR1In5SXkh+uNRwmhFiSQpZ/3sVZZAh3z8VJsLS5PDtrNEAJ2S3IwwDKe5GpawN/LrjzmJTRZBANzTbEQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/a11y-base": "~24.2.8", "@vaadin/a11y-base": "~24.2.9",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/overlay": "~24.2.8", "@vaadin/overlay": "~24.2.9",
"@vaadin/vaadin-lumo-styles": "~24.2.8", "@vaadin/vaadin-lumo-styles": "~24.2.9",
"@vaadin/vaadin-material-styles": "~24.2.8", "@vaadin/vaadin-material-styles": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/vaadin-development-mode-detector": { "node_modules/@vaadin/vaadin-development-mode-detector": {
@ -3972,32 +3972,32 @@
"dev": true "dev": true
}, },
"node_modules/@vaadin/vaadin-lumo-styles": { "node_modules/@vaadin/vaadin-lumo-styles": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.2.9.tgz",
"integrity": "sha512-Yo2eEGbdUAUO4ZPc5KRjzeh/+/ZdrSuzoedhNKrwYZ6zftDAODZCacoomUHUIKEOpIKwRxtiEHs3l7Im9YKjAg==", "integrity": "sha512-buBnferJEBWolUT1hLPDwcdUI/iMvxzHGxvDy6gpZi6RLEGnsBZJzvB8F6B8LTifmZTuDVfF1BWUOW8HStPH1Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/icon": "~24.2.8", "@vaadin/icon": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/vaadin-material-styles": { "node_modules/@vaadin/vaadin-material-styles": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.2.9.tgz",
"integrity": "sha512-rqHzycAjvU8PwVfYQ1FYP282EIw8tteRA6MljXari3Sd1xrEoJkjk6/nAAvXKbRjJtqSFPuYIKS2esQ35Nju3A==", "integrity": "sha512-l8lY05AND39jdnn6d6A7MJJjDg57UAr9nrYLHPymQUm+Q8KO4sg95R14cLR9No3d1o4sCgJCCIrM3JH4xRrW/g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@polymer/polymer": "^3.0.0", "@polymer/polymer": "^3.0.0",
"@vaadin/component-base": "~24.2.8", "@vaadin/component-base": "~24.2.9",
"@vaadin/vaadin-themable-mixin": "~24.2.8" "@vaadin/vaadin-themable-mixin": "~24.2.9"
} }
}, },
"node_modules/@vaadin/vaadin-themable-mixin": { "node_modules/@vaadin/vaadin-themable-mixin": {
"version": "24.2.8", "version": "24.2.9",
"resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.2.8.tgz", "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.2.9.tgz",
"integrity": "sha512-3y3CYMglwb/2UoQU7fovI2L53IKG50A2n7Jgc1lsVj6vAOUWi8ra8SifhFRNFjm0yxoD6xbaMo9V+VJwdEiCfw==", "integrity": "sha512-aL89R7Pkg+KKEVL/taEd+1a2tcxDgXNw5r7Govp9MRKwtHZCV8mnGt8wRp2Vwd5CYu7mX5pBFHkPMJwGTuNNyQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@open-wc/dedupe-mixin": "^1.3.0", "@open-wc/dedupe-mixin": "^1.3.0",
@ -4574,12 +4574,12 @@
} }
}, },
"node_modules/axios": { "node_modules/axios": {
"version": "1.6.7", "version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"follow-redirects": "^1.15.4", "follow-redirects": "^1.15.6",
"form-data": "^4.0.0", "form-data": "^4.0.0",
"proxy-from-env": "^1.1.0" "proxy-from-env": "^1.1.0"
} }
@ -4615,11 +4615,14 @@
"integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ=="
}, },
"node_modules/binary-extensions": { "node_modules/binary-extensions": {
"version": "2.2.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"engines": { "engines": {
"node": ">=8" "node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/bl": { "node_modules/bl": {
@ -4970,9 +4973,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001597", "version": "1.0.30001598",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001598.tgz",
"integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", "integrity": "sha512-j8mQRDziG94uoBfeFuqsJUNECW37DXpnvhcMJMdlH2u3MRkq1sAI0LJcXP1i/Py0KbSIC4UDj8YHPrTn5YsL+Q==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -5749,14 +5752,14 @@
} }
}, },
"node_modules/electron": { "node_modules/electron": {
"version": "29.1.1", "version": "27.3.6",
"resolved": "https://registry.npmjs.org/electron/-/electron-29.1.1.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-27.3.6.tgz",
"integrity": "sha512-cXN15NgCi7MkzGo5/23ZQbii+0UfhmUiDjACunmzcUofYCjF42XhFbL7JZnwgI0qtBCCeJU8qZNZt9lU91gUFw==", "integrity": "sha512-oLk99Euqa9EQKWJsPxi4rYV32OYmlbasHUZdvLGNzTn5S3U+jLlfhvca/9Tg1xUyIv2U/gyRnwjR37Ne9n4orA==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@electron/get": "^2.0.0", "@electron/get": "^2.0.0",
"@types/node": "^20.9.0", "@types/node": "^18.11.18",
"extract-zip": "^2.0.1" "extract-zip": "^2.0.1"
}, },
"bin": { "bin": {
@ -6040,9 +6043,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.699", "version": "1.4.708",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.699.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.708.tgz",
"integrity": "sha512-I7q3BbQi6e4tJJN5CRcyvxhK0iJb34TV8eJQcgh+fR2fQ8miMgZcEInckCo1U9exDHbfz7DLDnFn8oqH/VcRKw==", "integrity": "sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA==",
"dev": true "dev": true
}, },
"node_modules/electron-updater": { "node_modules/electron-updater": {
@ -6845,9 +6848,9 @@
} }
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.15.5", "version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
"integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -9589,9 +9592,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "4.12.1", "version": "4.13.0",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.1.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz",
"integrity": "sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==", "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/estree": "1.0.5" "@types/estree": "1.0.5"
@ -9604,19 +9607,19 @@
"npm": ">=8.0.0" "npm": ">=8.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@rollup/rollup-android-arm-eabi": "4.12.1", "@rollup/rollup-android-arm-eabi": "4.13.0",
"@rollup/rollup-android-arm64": "4.12.1", "@rollup/rollup-android-arm64": "4.13.0",
"@rollup/rollup-darwin-arm64": "4.12.1", "@rollup/rollup-darwin-arm64": "4.13.0",
"@rollup/rollup-darwin-x64": "4.12.1", "@rollup/rollup-darwin-x64": "4.13.0",
"@rollup/rollup-linux-arm-gnueabihf": "4.12.1", "@rollup/rollup-linux-arm-gnueabihf": "4.13.0",
"@rollup/rollup-linux-arm64-gnu": "4.12.1", "@rollup/rollup-linux-arm64-gnu": "4.13.0",
"@rollup/rollup-linux-arm64-musl": "4.12.1", "@rollup/rollup-linux-arm64-musl": "4.13.0",
"@rollup/rollup-linux-riscv64-gnu": "4.12.1", "@rollup/rollup-linux-riscv64-gnu": "4.13.0",
"@rollup/rollup-linux-x64-gnu": "4.12.1", "@rollup/rollup-linux-x64-gnu": "4.13.0",
"@rollup/rollup-linux-x64-musl": "4.12.1", "@rollup/rollup-linux-x64-musl": "4.13.0",
"@rollup/rollup-win32-arm64-msvc": "4.12.1", "@rollup/rollup-win32-arm64-msvc": "4.13.0",
"@rollup/rollup-win32-ia32-msvc": "4.12.1", "@rollup/rollup-win32-ia32-msvc": "4.13.0",
"@rollup/rollup-win32-x64-msvc": "4.12.1", "@rollup/rollup-win32-x64-msvc": "4.13.0",
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
} }
}, },
@ -9758,9 +9761,9 @@
} }
}, },
"node_modules/sass": { "node_modules/sass": {
"version": "1.71.1", "version": "1.72.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.72.0.tgz",
"integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==", "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==",
"dependencies": { "dependencies": {
"chokidar": ">=3.0.0 <4.0.0", "chokidar": ">=3.0.0 <4.0.0",
"immutable": "^4.0.0", "immutable": "^4.0.0",
@ -10315,9 +10318,9 @@
} }
}, },
"node_modules/terser": { "node_modules/terser": {
"version": "5.29.1", "version": "5.29.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.2.tgz",
"integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@jridgewell/source-map": "^0.3.3", "@jridgewell/source-map": "^0.3.3",

View File

@ -31,7 +31,7 @@
"lint": "eslint './**/*.{js,mjs}'" "lint": "eslint './**/*.{js,mjs}'"
}, },
"dependencies": { "dependencies": {
"@hapi/hapi": "21.3.3", "@hapi/hapi": "21.3.6",
"@hapi/inert": "7.1.0", "@hapi/inert": "7.1.0",
"@lit-labs/motion": "1.0.6", "@lit-labs/motion": "1.0.6",
"@popperjs/core": "2.11.8", "@popperjs/core": "2.11.8",
@ -69,7 +69,7 @@
"prosemirror-state": "1.4.3", "prosemirror-state": "1.4.3",
"prosemirror-transform": "1.8.0", "prosemirror-transform": "1.8.0",
"prosemirror-view": "1.33.1", "prosemirror-view": "1.33.1",
"sass": "1.71.1", "sass": "1.72.0",
"short-unique-id": "5.0.3", "short-unique-id": "5.0.3",
"xhr2": "0.2.1" "xhr2": "0.2.1"
}, },
@ -118,15 +118,15 @@
"@rollup/plugin-node-resolve": "15.2.3", "@rollup/plugin-node-resolve": "15.2.3",
"@rollup/plugin-replace": "5.0.5", "@rollup/plugin-replace": "5.0.5",
"@rollup/plugin-terser": "0.4.4", "@rollup/plugin-terser": "0.4.4",
"@vaadin/avatar": "24.2.8", "@vaadin/avatar": "24.2.9",
"@vaadin/button": "24.2.8", "@vaadin/button": "24.2.9",
"@vaadin/grid": "24.2.8", "@vaadin/grid": "24.2.9",
"@vaadin/icons": "24.2.8", "@vaadin/icons": "24.2.9",
"@vaadin/password-field": "24.2.8", "@vaadin/password-field": "24.2.9",
"@vaadin/tooltip": "24.2.8", "@vaadin/tooltip": "24.2.9",
"@zip.js/zip.js": "2.7.40", "@zip.js/zip.js": "2.7.40",
"axios": "1.6.7", "axios": "1.6.8",
"electron": "29.1.1", "electron": "27.3.6",
"electron-builder": "24.13.3", "electron-builder": "24.13.3",
"epml": "0.3.3", "epml": "0.3.3",
"eslint": "8.57.0", "eslint": "8.57.0",
@ -141,13 +141,13 @@
"pwa-helpers": "0.9.1", "pwa-helpers": "0.9.1",
"redux": "5.0.1", "redux": "5.0.1",
"redux-thunk": "3.1.0", "redux-thunk": "3.1.0",
"rollup": "4.12.1", "rollup": "4.13.0",
"rollup-plugin-node-globals": "1.4.0", "rollup-plugin-node-globals": "1.4.0",
"rollup-plugin-progress": "1.1.2", "rollup-plugin-progress": "1.1.2",
"rollup-plugin-scss": "3.0.0", "rollup-plugin-scss": "3.0.0",
"shelljs": "0.8.5" "shelljs": "0.8.5"
}, },
"engines": { "engines": {
"node": ">=20.9.0" "node": ">=18.17.1"
} }
} }

View File

@ -1,7 +1,8 @@
import {css, html, LitElement} from 'lit' import {css, html, LitElement} from 'lit'
import {Epml} from '../../../epml.js' import {Epml} from '../../../epml.js'
import localForage from "localforage" import localForage from "localforage"
import {translate} from '../../../../core/translate/index.js' import {translate} from '../../../../core/translate'
import '@material/mwc-icon' import '@material/mwc-icon'
const parentEpml = new Epml({ type: 'WINDOW', source: window.parent }) const parentEpml = new Epml({ type: 'WINDOW', source: window.parent })
@ -28,15 +29,12 @@ class ChatHead extends LitElement {
static get styles() { static get styles() {
return css` return css`
li { li {
width: 100%; width: 100%;
padding: 10px 5px 10px 5px; padding: 10px 5px 10px 5px;
cursor: pointer; cursor: pointer;
width: 100%;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
} }
li:hover { li:hover {
@ -59,7 +57,7 @@ class ChatHead extends LitElement {
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
margin: 0px; margin: 0;
} }
.inner-container { .inner-container {
display: flex; display: flex;
@ -135,7 +133,6 @@ class ChatHead extends LitElement {
render() { render() {
let avatarImg = '' let avatarImg = ''
let backupAvatarImg = ''
let isUnread = false let isUnread = false
if(this.chatInfo.name){ if(this.chatInfo.name){
@ -178,7 +175,6 @@ class ChatHead extends LitElement {
</div> </div>
</div> </div>
</div> </div>
</li> </li>
` `
} }

View File

@ -16,6 +16,8 @@ export const qchatStyles = css`
--_lumo-grid-border-color: var(--border); --_lumo-grid-border-color: var(--border);
--_lumo-grid-secondary-border-color: var(--border2); --_lumo-grid-secondary-border-color: var(--border2);
--mdc-dialog-min-width: 750px; --mdc-dialog-min-width: 750px;
scrollbar-width: thin;
scrollbar-color: #6a6c75 #a1a1a1;
} }
paper-spinner-lite { paper-spinner-lite {
@ -74,7 +76,7 @@ export const qchatStyles = css`
border: none; border: none;
color: white; color: white;
font-weight: bold; font-weight: bold;
font-family: 'Roboto'; font-family: Roboto, sans-serif;
letter-spacing: 0.8px; letter-spacing: 0.8px;
height: 100%; height: 100%;
display: flex; display: flex;
@ -99,7 +101,6 @@ export const qchatStyles = css`
justify-content: center; justify-content: center;
font-family: Montserrat, sans-serif; font-family: Montserrat, sans-serif;
font-size: 16px; font-size: 16px;
font-weight: bold;
color: black; color: black;
background-color: rgb(51, 213, 0); background-color: rgb(51, 213, 0);
user-select: none; user-select: none;
@ -108,7 +109,7 @@ export const qchatStyles = css`
.groups-button-notif:hover { .groups-button-notif:hover {
cursor: auto; cursor: auto;
box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
} }
.groups-button-notif:hover + .groups-button-notif-number { .groups-button-notif:hover + .groups-button-notif-number {
@ -145,7 +146,7 @@ export const qchatStyles = css`
display: none; display: none;
opacity: 0; opacity: 0;
top: -60px; top: -60px;
box-shadow: rgb(216 216 216 / 25%) 0px 6px 12px -2px, rgb(0 0 0 / 30%) 0px 3px 7px -3px; box-shadow: rgb(216 216 216 / 25%) 0 6px 12px -2px, rgb(0 0 0 / 30%) 0 3px 7px -3px;
} }
.groups-button:hover { .groups-button:hover {
@ -175,7 +176,6 @@ export const qchatStyles = css`
.people-list .create-chat { .people-list .create-chat {
border-radius: 5px; border-radius: 5px;
border: none; border: none;
display: inline-block;
color: #fff; color: #fff;
width: 100%; width: 100%;
font-size: 15px; font-size: 15px;
@ -191,27 +191,24 @@ export const qchatStyles = css`
} }
.people-list ul { .people-list ul {
padding: 0px 0px 60px 0px; padding: 0 0 60px 0;
height: 85vh; height: 85vh;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
.people-list ul::-webkit-scrollbar-track { .people-list ul::-webkit-scrollbar-track {
background-color: whitesmoke; background: #a1a1a1;
border-radius: 7px;
} }
.people-list ul::-webkit-scrollbar { .people-list ul::-webkit-scrollbar {
width: 6px; width: 11px;
border-radius: 7px;
background-color: whitesmoke;
} }
.people-list ul::-webkit-scrollbar-thumb { .people-list ul::-webkit-scrollbar-thumb {
background-color: rgb(180, 176, 176); background-color: #6a6c75;
border-radius: 7px; border-radius: 6px;
transition: all 0.3s ease-in-out; border: 3px solid #a1a1a1;
} }
.chat { .chat {
@ -230,7 +227,7 @@ export const qchatStyles = css`
flex: 0 1 auto; flex: 0 1 auto;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
padding: 0px 25px; padding: 0 25px;
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
top: 0; top: 0;
@ -469,7 +466,6 @@ export const qchatStyles = css`
top: 25px; top: 25px;
right: 25px; right: 25px;
} }
.user-verified { .user-verified {
position: absolute; position: absolute;
top: 0; top: 0;

View File

@ -2,7 +2,7 @@ import {html, LitElement} from 'lit'
import {render} from 'lit/html.js' import {render} from 'lit/html.js'
import {passiveSupport} from 'passive-events-support/src/utils' import {passiveSupport} from 'passive-events-support/src/utils'
import {Epml} from '../../../../epml.js' import {Epml} from '../../../../epml.js'
import {get, translate} from '../../../../../core/translate/index.js' import {get, translate} from '../../../../../core/translate'
import {qchatStyles} from './q-chat-css.src.js' import {qchatStyles} from './q-chat-css.src.js'
import {Editor, Extension} from '@tiptap/core' import {Editor, Extension} from '@tiptap/core'
import isElectron from 'is-electron' import isElectron from 'is-electron'
@ -12,7 +12,7 @@ import Underline from '@tiptap/extension-underline';
import Placeholder from '@tiptap/extension-placeholder' import Placeholder from '@tiptap/extension-placeholder'
import Highlight from '@tiptap/extension-highlight' import Highlight from '@tiptap/extension-highlight'
import snackbar from '../../components/snackbar.js' import snackbar from '../../components/snackbar.js'
import ShortUniqueId from 'short-unique-id'; import ShortUniqueId from 'short-unique-id'
import '../../components/ChatWelcomePage.js' import '../../components/ChatWelcomePage.js'
import '../../components/ChatHead.js' import '../../components/ChatHead.js'
@ -26,8 +26,7 @@ import '@material/mwc-icon'
import '@material/mwc-snackbar' import '@material/mwc-snackbar'
import '@polymer/paper-spinner/paper-spinner-lite.js' import '@polymer/paper-spinner/paper-spinner-lite.js'
import '@vaadin/grid' import '@vaadin/grid'
import '@vaadin/tooltip'; import '@vaadin/tooltip'
passiveSupport({ events: ['touchstart'] }) passiveSupport({ events: ['touchstart'] })
@ -101,7 +100,7 @@ class Chat extends LitElement {
this.groupInvites = [] this.groupInvites = []
this.loggedInUserName = "" this.loggedInUserName = ""
this.openDialogGroupsModal = false this.openDialogGroupsModal = false
this.uid = new ShortUniqueId(); this.uid = new ShortUniqueId()
} }
@ -150,13 +149,14 @@ class Chat extends LitElement {
return true return true
} }
} }
}}) }
})
] ]
}) })
this.unsubscribeStore = window.parent.reduxStore.subscribe(() => { this.unsubscribeStore = window.parent.reduxStore.subscribe(() => {
try { try {
const currentState = window.parent.reduxStore.getState(); const currentState = window.parent.reduxStore.getState()
if(window.parent.location && window.parent.location.search) { if(window.parent.location && window.parent.location.search) {
const queryString = window.parent.location.search const queryString = window.parent.location.search
@ -232,11 +232,11 @@ class Chat extends LitElement {
position="top" position="top"
hover-delay=${200} hover-delay=${200}
hide-delay=${1} hide-delay=${1}
text=${get('chatpage.cchange1')}> text=${get('chatpage.cchange1')}
>
</vaadin-tooltip> </vaadin-tooltip>
</div> </div>
<div style="display:flex; align-items:center;gap:10px"> <div style="display:flex; align-items:center;gap:10px">
<div id="goToGroup" class="create-chat" @click=${() => { this.openTabToGroupManagement() }}> <div id="goToGroup" class="create-chat" @click=${() => { this.openTabToGroupManagement() }}>
<mwc-icon style="color: var(--black);">group_add</mwc-icon> <mwc-icon style="color: var(--black);">group_add</mwc-icon>
<vaadin-tooltip <vaadin-tooltip
@ -244,7 +244,8 @@ class Chat extends LitElement {
position="top" position="top"
hover-delay=${200} hover-delay=${200}
hide-delay=${1} hide-delay=${1}
text=${get('chatpage.cchange96')}> text=${get('chatpage.cchange96')}
>
</vaadin-tooltip> </vaadin-tooltip>
</div> </div>
<div id="blockedUsers" class="create-chat" @click=${() => { this.shadowRoot.querySelector('#blockedUserDialog').show() }}> <div id="blockedUsers" class="create-chat" @click=${() => { this.shadowRoot.querySelector('#blockedUserDialog').show() }}>
@ -254,15 +255,15 @@ class Chat extends LitElement {
position="top" position="top"
hover-delay=${200} hover-delay=${200}
hide-delay=${1} hide-delay=${1}
text=${get('chatpage.cchange3')}> text=${get('chatpage.cchange3')}
>
</vaadin-tooltip> </vaadin-tooltip>
</div> </div>
</div> </div>
</div> </div>
<ul class="list"> <ul>
${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)} ${this.isEmptyArray(this.chatHeads) ? this.renderLoadingText() : this.renderChatHead(this.chatHeads)}
</ul> </ul>
</div> </div>
<div class="chat"> <div class="chat">
<div id="newMessageBar" class="new-message-bar hide-new-message-bar clearfix" @click=${() => this.scrollToBottom()}> <div id="newMessageBar" class="new-message-bar hide-new-message-bar clearfix" @click=${() => this.scrollToBottom()}>
@ -270,7 +271,6 @@ class Chat extends LitElement {
<span>${translate("chatpage.cchange5")} <mwc-icon style="font-size: 16px; vertical-align: bottom;">keyboard_arrow_down</mwc-icon></span> <span>${translate("chatpage.cchange5")} <mwc-icon style="font-size: 16px; vertical-align: bottom;">keyboard_arrow_down</mwc-icon></span>
</div> </div>
<div class="chat-history"> <div class="chat-history">
${this.activeChatHeadUrl ? html`${this.renderChatPage()}` : html`${this.renderChatWelcomePage()}`} ${this.activeChatHeadUrl ? html`${this.renderChatPage()}` : html`${this.renderChatWelcomePage()}`}
</div> </div>
</div> </div>
@ -317,7 +317,8 @@ class Chat extends LitElement {
@click=${this.userSearch} @click=${this.userSearch}
slot="icon" slot="icon"
icon="vaadin:open-book" icon="vaadin:open-book"
class="search-icon"> class="search-icon"
>
</vaadin-icon> </vaadin-icon>
` `
)} )}
@ -337,6 +338,7 @@ class Chat extends LitElement {
.updatePlaceholder=${(editor, value)=> this.updatePlaceholder(editor, value)} .updatePlaceholder=${(editor, value)=> this.updatePlaceholder(editor, value)}
> >
</chat-text-editor> </chat-text-editor>
<div class="modal-button-row"> <div class="modal-button-row">
<button <button
class="modal-button-red" class="modal-button-red"
@ -356,28 +358,25 @@ class Chat extends LitElement {
}) })
}} }}
?disabled="${this.isLoading}"> ?disabled="${this.isLoading}">
${this.isLoading === false ${this.isLoading === false ? this.renderSendText() : html`<paper-spinner-lite active></paper-spinner-lite>`}
? this.renderSendText()
: html`
<paper-spinner-lite active></paper-spinner-lite>
`}
</button> </button>
</div> </div>
</div> </div>
<div class="search-results-div"> <div class="search-results-div">
<chat-search-results <chat-search-results
.onClickFunc=${(result) => { .onClickFunc=${(result) => {
this.userSelected = result; this.userSelected = result
this.userFound = []; this.userFound = [];
this.userFoundModalOpen = false; this.userFoundModalOpen = false
}} }}
.closeFunc=${() => { .closeFunc=${() => {
this.userFoundModalOpen = false; this.userFoundModalOpen = false
this.userFound = []; this.userFound = []
}} }}
.searchResults=${this.userFound} .searchResults=${this.userFound}
?isOpen=${this.userFoundModalOpen} ?isOpen=${this.userFoundModalOpen}
?loading=${this.isLoading}> ?loading=${this.isLoading}
>
</chat-search-results> </chat-search-results>
</div> </div>
</div> </div>
@ -401,7 +400,7 @@ class Chat extends LitElement {
</vaadin-grid-column> </vaadin-grid-column>
<vaadin-grid-column auto-width header="${translate("chatpage.cchange12")}" path="owner"></vaadin-grid-column> <vaadin-grid-column auto-width header="${translate("chatpage.cchange12")}" path="owner"></vaadin-grid-column>
<vaadin-grid-column width="10rem" flex-grow="0" header="${translate("chatpage.cchange13")}" .renderer=${(root, column, data) => { <vaadin-grid-column width="10rem" flex-grow="0" header="${translate("chatpage.cchange13")}" .renderer=${(root, column, data) => {
render(html`${this.renderUnblockButton(data.item)}`, root); render(html`${this.renderUnblockButton(data.item)}`, root)
}}> }}>
</vaadin-grid-column> </vaadin-grid-column>
</vaadin-grid> </vaadin-grid>
@ -417,7 +416,6 @@ class Chat extends LitElement {
</mwc-button> </mwc-button>
</mwc-dialog> </mwc-dialog>
</div> </div>
` `
} }
@ -425,7 +423,6 @@ class Chat extends LitElement {
this.changeTheme() this.changeTheme()
this.getChatBlockedList() this.getChatBlockedList()
this.getLocalBlockedList() this.getLocalBlockedList()
// await this.getPendingGroupInvites()
const getBlockedUsers = async () => { const getBlockedUsers = async () => {
let blockedUsers = await parentEpml.request('apiCall', { let blockedUsers = await parentEpml.request('apiCall', {
@ -462,7 +459,6 @@ class Chat extends LitElement {
// Clear Interval... // Clear Interval...
if (this.selectedAddress.address !== undefined) { if (this.selectedAddress.address !== undefined) {
clearInterval(runFunctionsAfterPageLoadInterval) clearInterval(runFunctionsAfterPageLoadInterval)
return
} }
} }
@ -482,23 +478,20 @@ class Chat extends LitElement {
if (!isElectron()) { /* empty */ } else { if (!isElectron()) { /* empty */ } else {
window.addEventListener('contextmenu', (event) => { window.addEventListener('contextmenu', (event) => {
// Check if the clicked element has the class // Check if the clicked element has the class
let target = event.target; let target = event.target
while (target !== null) { while (target !== null) {
if (target.classList && target.classList.contains('customContextMenuDiv')) { if (target.classList && target.classList.contains('customContextMenuDiv')) {
// Your custom context menu logic // Your custom context menu logic
this.showContextMenu(event); this.showContextMenu(event)
return; return
} }
target = target.parentNode; target = target.parentNode
} }
// If it doesn't, show the default Electron context menu // If it doesn't, show the default Electron context menu
event.preventDefault(); event.preventDefault()
window.parent.electronAPI.showMyMenu(); window.parent.electronAPI.showMyMenu()
}); })
} }
let configLoaded = false let configLoaded = false
@ -551,8 +544,6 @@ class Chat extends LitElement {
}, 60000) }, 60000)
} }
clearConsole() { clearConsole() {
if (!isElectron()) { /* empty */ } else { if (!isElectron()) { /* empty */ } else {
console.clear() console.clear()
@ -570,7 +561,7 @@ class Chat extends LitElement {
if(!nameValue) { if(!nameValue) {
this.userFound = [] this.userFound = []
this.userFoundModalOpen = true this.userFoundModalOpen = true
return; return
} }
try { try {
const result = await parentEpml.request('apiCall', { const result = await parentEpml.request('apiCall', {
@ -637,7 +628,7 @@ class Chat extends LitElement {
} catch (error) { } catch (error) {
return "" return ""
} }
}; }
const myNameRes = await validateName(_recipient) const myNameRes = await validateName(_recipient)
if (!myNameRes) { if (!myNameRes) {
@ -669,7 +660,7 @@ class Chat extends LitElement {
parentEpml.request('showSnackBar', `${err4string}`) parentEpml.request('showSnackBar', `${err4string}`)
this.isLoading = false this.isLoading = false
} }
}; }
let _reference = new Uint8Array(64) let _reference = new Uint8Array(64)
window.crypto.getRandomValues(_reference); window.crypto.getRandomValues(_reference);
let reference = window.parent.Base58.encode(_reference) let reference = window.parent.Base58.encode(_reference)
@ -689,16 +680,15 @@ class Chat extends LitElement {
isText: 1 isText: 1
} }
}) })
_computePow(chatResponse)
_computePow(chatResponse); }
};
const _computePow = async (chatBytes) => { const _computePow = async (chatBytes) => {
const difficulty = this.balance < 4 ? 18 : 8 const difficulty = this.balance < 4 ? 18 : 8
const path = window.parent.location.origin + '/memory-pow/memory-pow.wasm.full' const path = window.parent.location.origin + '/memory-pow/memory-pow.wasm.full'
const worker = new WebWorker() const worker = new WebWorker()
let nonce = null let nonce = null
let chatBytesArray = null; let chatBytesArray = null
await new Promise((res) => { await new Promise((res) => {
worker.postMessage({chatBytes, path, difficulty}) worker.postMessage({chatBytes, path, difficulty})
worker.onmessage = e => { worker.onmessage = e => {
@ -713,10 +703,9 @@ class Chat extends LitElement {
nonce: this.selectedAddress.nonce, nonce: this.selectedAddress.nonce,
chatBytesArray: chatBytesArray, chatBytesArray: chatBytesArray,
chatNonce: nonce chatNonce: nonce
}); })
getSendChatResponse(_response) getSendChatResponse(_response)
}; }
const getSendChatResponse = (response) => { const getSendChatResponse = (response) => {
if (response === true) { if (response === true) {
@ -733,10 +722,8 @@ class Chat extends LitElement {
this.isLoading = false this.isLoading = false
} }
// Exec.. // Exec..
getAddressPublicKey() getAddressPublicKey()
} }
insertImage(file) { insertImage(file) {

View File

@ -1,42 +0,0 @@
#!/bin/sh
set -x
setup_git() {
git config --global user.email "travis@travis-ci.org"
git config --global user.name "Travis CI"
}
commit_version_push() {
# Add New Remote
git remote add ci https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git > /dev/null 2>&1
# Show Remotes
git remote -v
# Create Version variable
newVersion=$(git describe --abbrev=0)
# Checkout and Switch to master branch
# git checkout master
# Disable yarn version-git-tag
yarn config set version-git-tag false
# Update package.json version
yarn version --new-version $newVersion
# Stage file for commit
git add package.json
# Create a new commit with a build version
git commit --message "Build Version: $newVersion"
# PUSH TO GITHUB
git push ci master
}
setup_git
commit_version_push
# # Attempt to commit to git only if "git commit" succeeded
# if [ $? -eq 0 ]; then
# echo "Commit the new version. Built and Pushing to GitHub"
# push_build
# else
# echo "Cannot commit new version"
# fi