Compare commits

..

No commits in common. "c76cf4f6cf964f962484577a1aefa24df8fa246e" and "3f7cade6f21165fcc96f194a3ebb33d117652921" have entirely different histories.

8 changed files with 97 additions and 11 deletions

4
build.sh Executable file → Normal file
View file

@ -1,2 +1,2 @@
npm run package
./dist/linux-unpacked/armcord
npm i
npm run make

View file

@ -4,7 +4,7 @@ const path = require("path");
const contextMenu = require("electron-context-menu");
const os = require("os");
require("v8-compile-cache");
require("./utils/updater");
if (os.type() == 'Linux'){
var iconformat = __dirname + "/discord.png"

5
package-lock.json generated
View file

@ -1,12 +1,13 @@
{
"name": "armcord",
"name": "ArmCord",
"version": "2.5.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ArmCord",
"version": "2.5.0",
"license": "OSL-3.0",
"license": "MIT",
"dependencies": {
"custom-electron-titlebar": "3.2.7",
"electron-context-menu": "^3.0.0",

View file

@ -1,6 +1,6 @@
{
"name": "armcord",
"version": "2.5.0",
"name": "ArmCord",
"version": "2.5.0-TESTING",
"description": "ArmCord is a Discord client made for ARM Linux that allows you to customize your experience.",
"main": "main.js",
"scripts": {
@ -12,7 +12,7 @@
"windows-build": "electron-builder --windows nsis portable zip appx"
},
"author": "smartfrigde <smartfridge1337@protonmail.com>",
"license": "OSL-3.0",
"license": "MIT",
"dependencies": {
"custom-electron-titlebar": "3.2.7",
"electron-context-menu": "^3.0.0",
@ -46,8 +46,7 @@
"deb",
"tar.gz",
"rpm",
"AppImage"
]
"AppImage"]
}
},
"bugs": {

15
utils/csp.js Normal file
View file

@ -0,0 +1,15 @@
const { session } = require("electron");
session.defaultSession.webRequest.onHeadersReceived.addListener(
(h) => {
h.responseHeaders.forEach((e, i) => {
if (e.name.toLowerCase() === "content-security-policy") {
e.value = "";
}
});
return { responseHeaders: h.responseHeaders };
},
{ urls: ["*://*.discord.com/*"] },
["blocking", "responseHeaders"]
);
//csp thingz

View file

@ -37,7 +37,7 @@ if (!fs.existsSync(pluginFolder)) {
electron.dialog.showMessageBox({
title: "ArmCord",
type: "warning",
message: "ArmCord has installed GooseMod onto your client.",
message: "ArmCord installed GooseMod onto your client.",
detail:
"If you wish to use it restart your ArmCord completely using tray icon. It should appear in next session. GooseMod is reccomended to every user of ArmCord due to various improvements and bugfixes it ships with.",
});
@ -49,12 +49,14 @@ if (!fs.existsSync(pluginFolder)) {
}
app.whenReady().then(() => {
fs.readdirSync(pluginFolder).forEach((file) => {
console.log(file);
try {
const manifest = fs.readFileSync(
`${userDataPath}/plugins/${file}/manifest.json`,
"utf8"
);
var pluginFile = JSON.parse(manifest);
console.log(pluginFile);
session.defaultSession.loadExtension(`${userDataPath}/plugins/${file}`);
console.log(
`%cLoaded ${pluginFile.name} made by ${pluginFile.author}`,

View file

@ -11,9 +11,12 @@ if (!fs.existsSync(themeFolder)) {
window.addEventListener("DOMContentLoaded", () => {
console.log("Theme Module Loaded");
fs.readdirSync(themeFolder).forEach((file) => {
console.log(file);
try {
const manifest = fs.readFileSync(`${userDataPath}/themes/${file}/manifest.json`, "utf8");
var themeFile = JSON.parse(manifest);
console.log(themeFile.theme);
console.log(themeFile)
const theme = fs.readFileSync(`${userDataPath}/themes/${file}/${themeFile.theme}`, "utf8");
if (themeFile.theme.endsWith(".scss")) {
console.log(

66
utils/updater.js Normal file
View file

@ -0,0 +1,66 @@
const electron = require("electron");
const APP_VERSION = require("../package.json").version;
/* IMPORTANT!
This url will need to be modified for yours */
// The url that the application is going to query for new release
const AUTO_UPDATE_URL =
'https://api.update.rocks/update/github.com/smartfrigde/armcord/stable/' + process.platform + '/' + APP_VERSION
function init() {
if (process.platform === "linux") {
/* There is no auto update for linux however you can still
notify the user that a new update has been released
our service will return an answer with the latest version. */
console.log("Auto updates not available on linux");
} else {
initDarwinWin32();
}
}
function initDarwinWin32() {
electron.autoUpdater.on("error", (err) =>
console.error(`Update error: ${err.message}`)
);
electron.autoUpdater.on("checking-for-update", () =>
console.log("Checking for update")
);
electron.autoUpdater.on("update-available", () =>
console.log("Update available")
);
electron.autoUpdater.on("update-not-available", () =>
console.log("No update available")
);
// Ask the user if he wants to update if update is available
electron.autoUpdater.on(
"update-downloaded",
(event, releaseNotes, releaseName) => {
dialog.showMessageBox(
window,
{
type: "question",
buttons: ["Update", "Cancel"],
defaultId: 0,
message: `Version ${releaseName} is available, do you want to install it now?`,
title: "Update available",
},
(response) => {
if (response === 0) {
electron.autoUpdater.quitAndInstall();
}
}
);
}
);
electron.autoUpdater.setFeedURL(AUTO_UPDATE_URL);
electron.autoUpdater.checkForUpdates();
}
module.exports = {
init,
};