Files
moho/package.json
T
Salastil 4f6cd9c794 IRC networks by their own logos, and an account form that asks less
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.
2026-09-03 12:36:36 -04:00

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
}
}