Issue #12: the networks now carry their own marks, taken from each network's own site and bundled rather than fetched - an IRC network is not a CDN, a rail of tiles should not be a rail of requests, and half of these sites are plain HTTP. Libera, OFTC, Rizon, QuakeNet, Undernet, hackint, DALnet and CoreIRC have one; EFnet, Snoonet and Abjects publish none and keep their initials, which is a better answer than a wrong-looking copy of somebody's artwork. The marks belong to the networks that own them and identify those networks here and nothing else. CoreIRC and Abjects are in the list now - the two this client's own users are on. A network being small is exactly why nobody else's client offers it ready-made, and typing "irc.coreirc.net" correctly is the step the list exists to remove. The form itself: the network is picked from those marks rather than from a dropdown of names, and the server and port fields appear only for "Other" - a chosen network has its address already, and a field showing it invites editing something that is right. Sign-in is asked here now, as SASL or NickServ, because a registered nick that never identifies is a nick lost to the ghost of the last session, and that happens on the first connection rather than after anybody visits a settings pane. Autojoin left the form entirely. Which channels an account rejoins is a property of the channels, so it is set on one: right-click a channel, "Join automatically". It was a comma-separated field typed once and never seen again. And Sneedchat's rooms moved out of the account pane into the join panel, now that the list comes from the site. That page is for joining things; a room being ticked is exactly that. The account pane is for what an account is.
99 lines
2.6 KiB
JSON
99 lines
2.6 KiB
JSON
{
|
|
"name": "moho",
|
|
"version": "0.1.0",
|
|
"description": "Unified desktop chat client for IRC, Discord, Sneedchat and Matrix",
|
|
"author": "Salastil",
|
|
"license": "GPL-3.0-or-later",
|
|
"homepage": "https://git.salastil.com/Salastil/moho",
|
|
"main": "./out/main/index.js",
|
|
"scripts": {
|
|
"dev": "electron-vite dev",
|
|
"build": "npm run typecheck && electron-vite build",
|
|
"start": "electron-vite preview",
|
|
"typecheck": "tsc --noEmit -p tsconfig.node.json && tsc --noEmit -p tsconfig.web.json",
|
|
"pack": "npm run daemon && npm run build && electron-builder --linux AppImage",
|
|
"pack:dir": "npm run daemon && npm run build && electron-builder --linux dir",
|
|
"daemon": "./scripts/build-daemon.sh",
|
|
"deploy": "npm run pack && ./scripts/install-desktop.sh",
|
|
"daemon:win": "./scripts/build-daemon-win.sh",
|
|
"pack:win": "npm run daemon:win && npm run build && electron-builder --win nsis"
|
|
},
|
|
"dependencies": {
|
|
"@electron-toolkit/preload": "^3.0.1",
|
|
"@electron-toolkit/utils": "^3.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.2",
|
|
"@types/react": "^18.3.17",
|
|
"@types/react-dom": "^18.3.5",
|
|
"@vitejs/plugin-react": "^4.3.4",
|
|
"electron": "^33.2.1",
|
|
"electron-builder": "^25.1.8",
|
|
"electron-vite": "^2.3.0",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"typescript": "^5.7.2",
|
|
"vite": "^5.4.11"
|
|
},
|
|
"build": {
|
|
"appId": "com.salastil.moho",
|
|
"productName": "moho",
|
|
"files": [
|
|
"out/**/*"
|
|
],
|
|
"extraResources": [
|
|
{
|
|
"from": "nobilis/resources/sneedchat-smilies",
|
|
"to": "sneedchat-smilies"
|
|
},
|
|
{
|
|
"from": "resources/icons",
|
|
"to": "icons"
|
|
}
|
|
],
|
|
"linux": {
|
|
"target": [
|
|
"AppImage"
|
|
],
|
|
"category": "Network",
|
|
"icon": "resources/icons/moho.png",
|
|
"desktop": {
|
|
"Name": "moho",
|
|
"Comment": "Unified chat client for IRC, Discord, Sneedchat and Matrix"
|
|
},
|
|
"extraResources": [
|
|
{
|
|
"from": "nobilis/target/release/nobilis",
|
|
"to": "nobilis"
|
|
}
|
|
]
|
|
},
|
|
"win": {
|
|
"target": [
|
|
{
|
|
"target": "nsis",
|
|
"arch": [
|
|
"x64"
|
|
]
|
|
}
|
|
],
|
|
"icon": "resources/icons/moho.png",
|
|
"extraResources": [
|
|
{
|
|
"from": "nobilis/target/release/nobilis.exe",
|
|
"to": "nobilis.exe"
|
|
}
|
|
]
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"perMachine": false
|
|
}
|
|
},
|
|
"allowScripts": {
|
|
"[email protected]": true,
|
|
"[email protected]": true
|
|
}
|
|
}
|