Compare commits

...

4 commits

Author SHA1 Message Date
smartfridge
4f4ec74fcd
Add Scoop package to README 2022-09-27 13:31:04 +00:00
sitiom
bf87cc6cda
Add Winget Releaser workflow (#202)
* Add Winget Releaser workflow

* Add Winget instructions in the readme
2022-09-27 13:27:49 +00:00
smartfrigde
7b25fc70c9 Move away from using webpack for gettign lang 2022-09-27 13:04:18 +00:00
smartfrigde
4613f77f30 Remove EOL mods 2022-09-27 11:11:56 +00:00
12 changed files with 42 additions and 46 deletions

13
.github/workflows/winget.yml vendored Normal file
View file

@ -0,0 +1,13 @@
name: Publish to WinGet
on:
release:
types: [released]
jobs:
publish:
runs-on: windows-latest # Action can only be run on windows
steps:
- uses: vedantmgoyal2009/winget-releaser@latest
with:
identifier: ArmCord.ArmCord
token: ${{ secrets.WINGET_TOKEN }}

View file

@ -34,6 +34,19 @@
### Recommended:
Check releases tab for precompiled packages for Linux, Windows and Mac OS. Alternatively use our Sourceforge mirror.
<a href="https://sourceforge.net/projects/armcord/files/latest/download"><img alt="Download ArmCord" src="https://a.fsdn.com/con/app/sf-download-button" width=276 height=48 srcset="https://a.fsdn.com/con/app/sf-download-button?button_size=2x 2x"></a>
### Winget Package
ArmCord is also available on the [winget-pkgs](https://github.com/microsoft/winget-pkgs) repository:
```
winget install ArmCord.ArmCord
```
### Scoop package
ArmCord is also available on [Scoop extras](https://github.com/ScoopInstaller/Extras) repo:
```
scoop bucket add extras
```
```
scoop install armcord
```
### AUR Package
ArmCord is also available on the Arch User Repository (AUR) [here](https://aur.archlinux.org/packages/armcord-bin/).

View file

@ -7,6 +7,7 @@
"build": "tsc && copyfiles -u 1 src/**/*.html src/**/**/*.css ts-out/ && copyfiles package.json ts-out/ && copyfiles assets/**/** ts-out/",
"watch": "tsc -w",
"start": "npm run build && electron ./ts-out/main.js",
"startNoSandbox": "npm run build && electron ./ts-out/main.js --no-sandbox",
"package": "npm run build && electron-builder",
"packageQuick": "npm run build && electron-builder --dir",
"format": "prettier --write src/**/*",

View file

@ -111,7 +111,6 @@ div {
width: 292px;
}
[armcord-platform="win32"] .titlebar #window-controls-container #maximize,
[armcord-platform="linux"] .titlebar #window-controls-container #maximize {
display: none;

View file

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/ico" href="./favicon.ico">
<link rel="icon" type="image/ico" href="./favicon.ico" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ArmCord Setup</title>
@ -53,9 +53,7 @@
<p class="text-center setup-ask" id="setup_question4">Select a client mod you want to install:</p>
<div class="center">
<select name="mod" id="mod" class="dropdown-button">
<option value="cumcord">Cumcord</option>
<option value="goosemod">GooseMod</option>
<option value="flicker">Flicker (Heavily WIP)</option>
<option value="none">None (check Discord)</option>
</select>
</div>
<p class="text-center" id="setup_question4_clientmodnotice">
@ -120,7 +118,7 @@
minimizeToTray: true,
alternativePaste: false,
automaticPatches: false,
mods: "cumcord",
mods: "none",
inviteWebsocket: true,
mobileMode: false,
trayIcon: "default",

View file

@ -2,7 +2,7 @@
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/ico" href="./favicon.ico">
<link rel="icon" type="image/ico" href="./favicon.ico" />
<title>ArmCord</title>
<style>
@import url("css/splash.css");

View file

@ -21,15 +21,7 @@ const unstrictCSP = () => {
const cspAllowAll = ["connect-src", "style-src", "img-src", "font-src"];
const corsAllowUrls = [
"https://github.com/GooseMod/GooseMod/releases/download/dev/index.js",
"https://github-releases.githubusercontent.com/",
"https://api.goosemod.com/inject.js",
"https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
"https://raw.githubusercontent.com/Cumcord/Cumcord/master/dist/build.js",
"https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
"https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
];
const corsAllowUrls = ["https://raw.githubusercontent.com/Cordwood/builds/master/index.js"];
electron.session.defaultSession.webRequest.onHeadersReceived(({responseHeaders, url}, done) => {
let csp = responseHeaders!["content-security-policy"];

View file

@ -15,7 +15,6 @@ contextBridge.exposeInMainWorld("armcord", {
},
electron: process.versions.electron,
channel: ipcRenderer.sendSync("channel"),
setLang: (lang: string) => ipcRenderer.send("setLang", lang),
setPingCount: (pingCount: number) => ipcRenderer.send("setPing", pingCount),
setTrayIcon: (favicon: string) => ipcRenderer.send("sendTrayIcon", favicon),
getLang: (toGet: string) =>

View file

@ -4,7 +4,7 @@ import "./patch";
import * as fs from "fs";
import * as path from "path";
import {injectHummusTitlebar, injectTitlebar} from "./titlebar";
import {sleep, addStyle, injectJS, addScript} from "../utils";
import {sleep, addStyle, injectJS} from "../utils";
import {ipcRenderer} from "electron";
import {injectMobileStuff} from "./mobile";
var version = ipcRenderer.sendSync("displayVersion");
@ -13,9 +13,9 @@ async function updateLang() {
if (window.location.href.indexOf("setup.html") > -1) {
console.log("Setup, skipping lang update");
} else {
addScript(`function getDiscordLang() {
{const _w=webpackChunkdiscord_app;let lang;_w.push([[Symbol()],{},e=>{for(const k in e.c){const m=e.c[k].exports;const mDef=m?.default&&m.__esModule?m.default:m;if(mDef?._chosenLocale&&!lang)lang=mDef}}]);_w.pop();window.armcord.setLang(lang._chosenLocale);return lang._chosenLocale;void 0}}
getDiscordLang();`);
const value = `; ${document.cookie}`;
const parts: any = value.split(`; locale=`);
if (parts.length === 2) ipcRenderer.send("setLang", parts.pop().split(";").shift());
}
}
declare global {
@ -25,8 +25,6 @@ declare global {
}
const clientMods = {
goosemod: "https://api.goosemod.com/inject.js",
cumcord: "https://raw.githubusercontent.com/Cumcord/Cumcord/stable/dist/build.js",
flicker: "https://raw.githubusercontent.com/FlickerMod/dist/main/build.js",
cordwood: "https://raw.githubusercontent.com/Cordwood/builds/master/index.js"
};
@ -57,16 +55,6 @@ if (window.location.href.indexOf("splash.html") > -1) {
console.log("Loading GooseMod...");
await updateLang();
break;
case "cumcord":
injectJS(clientMods.cumcord);
console.log("Loading Cumcord...");
await updateLang();
break;
case "flicker":
injectJS(clientMods.flicker);
console.log("Loading FlickerMod...");
await updateLang();
break;
case "cordwood":
injectJS(clientMods.cordwood);
console.log("Loading Cordwood...");

View file

@ -143,8 +143,8 @@
<br />
<div class="switch acAdvSettings">
<h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1>
<br>
<br>
<br />
<br />
<label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label>
<input class="tgl tgl-light left" id="skipSplash" type="checkbox" />
<label class="tgl-btn left" for="skipSplash"></label>
@ -210,7 +210,7 @@
doneSetup: true
});
alert(`Your settings have been saved!
Some changes may require the app to restart before taking effect.`)
Some changes may require the app to restart before taking effect.`);
});
document.getElementById("settings-restart").addEventListener("click", function () {
settings.restart();

View file

@ -123,9 +123,7 @@
<br />
<div class="switch acClientMod">
<select name="mod" id="mod" class="left dropdown">
<option value="cumcord">Cumcord</option>
<option value="goosemod">GooseMod</option>
<option value="flicker">Flicker</option>
<option value="none">None</option>
</select>
<p class="header" id="settings-mod">Client mod</p>
@ -133,13 +131,8 @@
Client mods are programs that allow you customize your Discord experience. They can change appearance of
the client, modify behaviours or add new features!
<br />
<b>Cumcord</b> - focuses on making the Discord plugin development experience easier. Minimal and
lightweight.
<br />
<b>GooseMod</b> - light, secure, and easy to use, with out of the box experience. Features a built-in
store for plugins.
<br />
<b>Flicker</b> - heavily work in progress, doesn't have a working UI.
</p>
</div>
<br />
@ -178,8 +171,8 @@
<br />
<div class="switch acAdvSettings">
<h1 class="center advancedText">⚠️ Advanced User Zone ⚠️</h1>
<br>
<br>
<br />
<br />
<label class="header" id="settings-skipSplash">Skip Splash Screen (Experimental)</label>
<input class="tgl tgl-light left" id="skipSplash" type="checkbox" />
<label class="tgl-btn left" for="skipSplash"></label>

View file

@ -40,7 +40,7 @@ export function setup() {
minimizeToTray: true,
automaticPatches: false,
alternativePaste: false,
mods: "cumcord",
mods: "none",
performanceMode: "none",
skipSplash: false,
inviteWebsocket: true,