Compare commits

...

57 Commits

Author SHA1 Message Date
Agampreet Singh
4cc4f71535 Bump version to 2.0.0 2024-05-08 23:03:48 +05:30
Agampreet Singh
6f49a5554f Enable/Disable ad blocking in all windows when turned on/off from menu 2024-05-08 21:53:13 +05:30
Agampreet Singh
aaa862364e Add "Custom Home Page" option
This lets you choose the custom page to load when you start the app.
2024-05-08 21:32:17 +05:30
Agampreet Singh
0a3e4514a9 Update "Supported Platforms" list 2024-05-08 20:28:57 +05:30
Agampreet Singh
701d63c900 Update yarn.lock 2024-05-08 15:59:30 +05:30
renovate[bot]
8f24d0184a fix(deps): update dependency @cliqz/adblocker-electron to v1.27.3 (#224)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 12:29:50 +05:30
Agampreet Singh
34fdc82b50 Add custom scrollbar to web contents 2024-05-08 12:28:56 +05:30
Agampreet Singh
48bab03708 Refactor main window creation and configuration 2024-05-08 00:59:05 +05:30
Agampreet Singh
af448cac3d Override height and width of every new window created 2024-05-08 00:46:02 +05:30
Agampreet Singh
102126d6d3 Update useragent strings 2024-05-08 00:30:26 +05:30
Agampreet Singh
0b308b066f Remove about-window package 2024-05-08 00:29:06 +05:30
Agampreet Singh
e60ffc52c9 Remove unused require statement in openExternalLink function 2024-05-08 00:16:54 +05:30
Agampreet Singh
ed0e90c451 Add Aptabase 2024-05-07 19:26:01 +05:30
Agampreet Singh
3f67f7575f Revert "Add Google Analytics tracking code"
This reverts commit c094b28f74.
2024-05-07 16:23:29 +05:30
Agampreet Singh
9fac90d90b refactor: convert to ESM syntax 2024-05-07 15:43:33 +05:30
renovate[bot]
36e42e311b fix(deps): update dependency electron-context-menu to v4 (#221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:53:48 +05:30
renovate[bot]
bffa016eb9 chore(deps): update yarn to v4.2.1 (#220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:42:38 +05:30
renovate[bot]
c85ae12648 chore(deps): update dependency eslint to v9 (#213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:42:05 +05:30
renovate[bot]
bc7968978a chore(deps): update dependency electron to v30 (#215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:41:51 +05:30
renovate[bot]
058711af45 fix(deps): update dependency electron-dl to v4 (#222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:39:20 +05:30
renovate[bot]
179c52c28b chore(deps): update actions/checkout digest to 0ad4b8f (#217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:39:10 +05:30
renovate[bot]
acdae139d6 fix(deps): update dependency @cliqz/adblocker-electron to v1.27.2 (#212)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:37:36 +05:30
renovate[bot]
9a0bdc8fae fix(deps): update dependency electron-store to v9 (#223)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:36:31 +05:30
renovate[bot]
81fe8c3ec0 chore(deps): update dependency electron to v29.3.2 (#211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-06 15:36:01 +05:30
Agampreet Singh
8887d8a365 Add Void Linux installation instructions (#214) 2024-05-06 15:34:01 +05:30
Agampreet Singh
83ecdcd09b Update version to 1.2.0 2024-03-27 23:50:46 +05:30
Agampreet Singh
191876de3d Update useragent strings 2024-03-26 16:52:16 +05:30
renovate[bot]
56ab9b5007 fix(deps): update dependency node-gyp to v10.1.0 (#210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-26 11:12:13 +05:30
renovate[bot]
7de220f5c6 chore(deps): update dependency electron to v29.1.5 (#209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-21 18:18:27 +05:30
renovate[bot]
7c295c51e6 fix(deps): update dependency axios to v1.6.8 (#208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-17 18:39:01 +05:30
renovate[bot]
34fc4ede8d chore(deps): update dependency electron to v29.1.4 (#207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-14 22:27:38 +05:30
renovate[bot]
dc23b1a58d fix(deps): update dependency electron-updater to v6.1.8 (#196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:58:05 +05:30
renovate[bot]
664ddf81bf chore(deps): update dependency electron-builder to v24.13.3 (#195)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:41:25 +05:30
renovate[bot]
705f0447e7 chore(deps): update dependency electron to v29.1.2 (#206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:25:13 +05:30
renovate[bot]
69565c589a chore(deps): update dependency electron to v29 (#197)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:10:34 +05:30
renovate[bot]
75d032248f fix(deps): update dependency @cliqz/adblocker-electron to v1.26.16 (#198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:10:03 +05:30
renovate[bot]
7bd0ad2462 chore(deps): update dependency eslint to v8.57.0 (#199)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:09:12 +05:30
renovate[bot]
dc64f14fcb chore(deps): update yarn to v4.1.1 (#202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:08:57 +05:30
renovate[bot]
6e7a551d86 fix(deps): update dependency electron-store to v8.2.0 (#204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:08:49 +05:30
renovate[bot]
477f534049 fix(deps): update dependency electron-log to v5.1.2 (#205)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-13 15:08:40 +05:30
renovate[bot]
25ac26214b chore(deps): update dependency electron to v28.2.2 (#192)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 18:50:25 +05:30
renovate[bot]
e884d01cb1 chore(deps): update dependency electron-builder to v24.13.0 (#193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-13 18:50:09 +05:30
renovate[bot]
729e9e276d chore(deps): update dependency electron to v28.2.1 (#189)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 18:33:02 +05:30
renovate[bot]
df135f9578 fix(deps): update dependency electron-log to v5.1.1 (#190)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 18:32:44 +05:30
renovate[bot]
e333196dc2 fix(deps): update dependency electron-dl to v3.5.2 (#191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-04 18:32:35 +05:30
renovate[bot]
77c7cb08c0 chore(deps): update yarn to v4.1.0 (#188)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 22:49:44 +05:30
renovate[bot]
96a4020e1e chore(deps): update dependency electron to v28.2.0 (#185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 22:46:07 +05:30
renovate[bot]
cbe9194a35 fix(deps): update dependency axios to v1.6.7 (#186)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 22:45:36 +05:30
renovate[bot]
e238550568 chore(deps): update dependency electron-builder to v24.12.0 (#187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 22:45:11 +05:30
renovate[bot]
e942b06a10 fix(deps): update dependency electron-log to v5.1.0 (#184)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-31 22:45:02 +05:30
renovate[bot]
affc7bb676 chore(deps): update dependency electron to v28.1.4 (#180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 19:44:40 +05:30
renovate[bot]
4d0d742520 fix(deps): update dependency axios to v1.6.5 (#181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 19:44:32 +05:30
renovate[bot]
686d3ac491 fix(deps): update dependency @cliqz/adblocker-electron to v1.26.15 (#182)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 19:44:25 +05:30
renovate[bot]
6a706a96f4 chore(deps): update dependency electron-builder to v24.11.0 (#183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 19:44:17 +05:30
renovate[bot]
bcd15e05cd fix(deps): update dependency electron-log to v5.0.3 (#179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 12:31:02 +05:30
renovate[bot]
c9ea1d2d3b fix(deps): update dependency axios to v1.6.3 (#178)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-28 22:28:10 +05:30
Agampreet Singh
c094b28f74 Add Google Analytics tracking code 2023-12-26 13:04:44 +05:30
12 changed files with 1693 additions and 1928 deletions

View File

@@ -12,7 +12,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
- name: Install Node.js, NPM and Yarn - name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4 uses: actions/setup-node@v4

View File

@@ -12,7 +12,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
- name: Install Node.js, NPM and Yarn - name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4 uses: actions/setup-node@v4

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
nodeLinker: node-modules nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.0.2.cjs yarnPath: .yarn/releases/yarn-4.2.1.cjs

View File

@@ -40,6 +40,8 @@
- [Installation on Ubuntu/Debian based distributions](#installation-on-ubuntudebian-based-distributions) - [Installation on Ubuntu/Debian based distributions](#installation-on-ubuntudebian-based-distributions)
- [Installation on Red Hat/Fedora based distributions](#installation-on-red-hatfedora-based-distributions) - [Installation on Red Hat/Fedora based distributions](#installation-on-red-hatfedora-based-distributions)
- [Installation on Arch Linux based distributions](#installation-on-arch-linux-based-distributions) - [Installation on Arch Linux based distributions](#installation-on-arch-linux-based-distributions)
- [Installation on Void Linux](#installation-on-void-linux)
- [Maintained by: @xHyroM](#maintained-by-xhyrom)
- [Installation on Gentoo Linux (Unmaintained)](#installation-on-gentoo-linux-unmaintained) - [Installation on Gentoo Linux (Unmaintained)](#installation-on-gentoo-linux-unmaintained)
- [💻 Developing Locally](#-developing-locally) - [💻 Developing Locally](#-developing-locally)
- [📃 MIT License](#-mit-license) - [📃 MIT License](#-mit-license)
@@ -61,9 +63,10 @@ Supported Platforms
3. Ubuntu/Debian based distributions (DEB File) 3. Ubuntu/Debian based distributions (DEB File)
4. Red Hat Linux/Fedora based distributions (RPM File) 4. Red Hat Linux/Fedora based distributions (RPM File)
5. Arch Linux based distributions (Uploaded on AUR) 5. Arch Linux based distributions (Uploaded on AUR)
6. Gentoo Linux (Unofficial overlay) **[MAINTAINER NEEDED]** 6. Void Linux (Maintained by: [@xHyroM](https://github.com/xHyroM))
7. All Distributions supporting AppImage (AppImage File); and 7. Gentoo Linux (Unofficial overlay) **[MAINTAINER NEEDED]**
8. All Distributions supporting Snap (Uploaded on Snap Store) 8. All Distributions supporting AppImage (AppImage File); and
9. All Distributions supporting Snap (Uploaded on Snap Store)
# List of Features # List of Features
@@ -163,6 +166,29 @@ For Installing in Red Hat/Fedora based distribution :-
4. Wait for it to install and tada! The app is installed. 4. Wait for it to install and tada! The app is installed.
### Installation on Void Linux
#### Maintained by: [@xHyroM](https://github.com/xHyroM)
1. In order to install the package, create a new .conf file in the /etc/xbps.d directory containing the repository URL:
```bash
$ sudo nano /etc/xbps.d/99-xhyrom-dev.conf
repository=https://void-repo.xhyrom.dev
```
2. Synchronize the repository and import the RSA key:
```bash
sudo xbps-install -S
```
3. Install the package:
```bash
sudo xbps-install -S ms-365-electron
```
### Installation on Gentoo Linux (Unmaintained) ### Installation on Gentoo Linux (Unmaintained)
_Maintainer needed_ _Maintainer needed_

View File

@@ -1,74 +1,68 @@
const { app, Menu, BrowserWindow, dialog, nativeImage } = require("electron"); import { app, Menu, BrowserWindow, dialog, nativeImage } from "electron";
const { autoUpdater } = require("electron-updater"); import { clearActivity, setActivity, loginToRPC } from './rpc.js';
const checkInternetConnected = require("check-internet-connected"); import { initialize, trackEvent } from "@aptabase/electron/main";
const ElectronDl = require("electron-dl"); import { ElectronBlocker } from "@cliqz/adblocker-electron";
const contextMenu = require("electron-context-menu"); import { getValue } from './store.js';
const path = require("path"); import { fileURLToPath } from 'url';
const log = require("electron-log"); import { dirname } from 'path';
const { setActivity, loginToRPC, clearActivity } = require("./rpc"); import { join } from "path";
const useragents = require("./useragents.json");
const { ElectronBlocker } = require("@cliqz/adblocker-electron");
const { getValue } = require("./store");
const { menulayout } = require("./menu");
log.transports.file.level = "verbose"; import Windows from "./useragents.json" with { type: "json" };
console.log = log.log; import checkInternetConnected from "check-internet-connected";
Object.assign(console, log.functions); import contextMenu from "electron-context-menu";
import updaterpkg from "electron-updater";
import ElectronDl from "electron-dl";
import menulayout from './menu.js'
import logpkg from 'electron-log';
const { transports, log: _log, functions } = logpkg;
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const { autoUpdater } = updaterpkg;
transports.file.level = "verbose";
console.log = _log;
Object.assign(console, functions);
initialize("A-US-2528580917");
function createWindow() { function createWindow() {
if (getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=1") { const enterpriseOrNormal = getValue("enterprise-or-normal");
var win = new BrowserWindow({ const custompage = getValue("custompage");
width: 1181, const partition = enterpriseOrNormal === "?auth=1" ? "persist:personal" : "persist:work";
height: 670,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"), const win = new BrowserWindow({
show: false, width: 1181,
webPreferences: { height: 670,
nodeIntegration: true, icon: join(__dirname, "/assets/icons/png/1024x1024.png"),
devTools: true, show: false,
partition: "persist:personal", webPreferences: {
}, nodeIntegration: true,
}); devTools: true,
} else if ( partition: partition,
getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=2" },
) { });
var win = new BrowserWindow({
width: 1181, win.setAutoHideMenuBar(getValue("autohide-menubar") === "true");
height: 670,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"),
show: false,
webPreferences: {
nodeIntegration: true,
devTools: true,
partition: "persist:work",
},
});
}
if (getValue("autohide-menubar") === "true") {
win.setAutoHideMenuBar(true);
} else {
win.setAutoHideMenuBar(false);
}
const splash = new BrowserWindow({ const splash = new BrowserWindow({
width: 810, width: 810,
height: 610, height: 610,
transparent: true, transparent: true,
frame: false, frame: false,
icon: path.join(__dirname, "/assets/icons/png/1024x1024.png"), icon: join(__dirname, "/assets/icons/png/1024x1024.png"),
}); });
splash.loadURL(`https://agam778.github.io/MS-365-Electron/loading`); splash.loadURL(`https://agam778.github.io/MS-365-Electron/loading`);
win.loadURL(
`${getValue("enterprise-or-normal") || "https://microsoft365.com/?auth=1"}`, win.loadURL(`https://microsoft365.com/${custompage}/${enterpriseOrNormal}`, {
{ userAgent: getValue("useragentstring") || Windows,
userAgent: getValue("useragentstring") || useragents.Windows, });
}
);
win.webContents.on("did-finish-load", () => { win.webContents.on("did-finish-load", () => {
splash.destroy(); splash.destroy();
win.show(); win.show();
trackEvent("app_started");
if (getValue("discordrpcstatus") === "true") { if (getValue("discordrpcstatus") === "true") {
setActivity(`On "${win.webContents.getTitle()}"`); setActivity(`On "${win.webContents.getTitle()}"`);
} }
@@ -143,7 +137,7 @@ app.on("web-contents-created", (event, contents) => {
`On "${BrowserWindow.getFocusedWindow().webContents.getTitle()}"` `On "${BrowserWindow.getFocusedWindow().webContents.getTitle()}"`
); );
} }
return { action: "allow" }; return { action: "allow", overrideBrowserWindowOptions: { width: 1081, height: 610 } };
} }
}); });
contents.on("did-finish-load", () => { contents.on("did-finish-load", () => {
@@ -159,11 +153,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/powerpoint-mac.png") join(__dirname, "../assets/icons/apps/powerpoint-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/powerpoint.png") join(__dirname, "../assets/icons/apps/powerpoint.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "PowerPoint"); window.setOverlayIcon(nimage, "PowerPoint");
@@ -179,11 +173,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/word-mac.png") join(__dirname, "../assets/icons/apps/word-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/word.png") join(__dirname, "../assets/icons/apps/word.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Word"); window.setOverlayIcon(nimage, "Word");
@@ -199,11 +193,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/excel-mac.png") join(__dirname, "../assets/icons/apps/excel-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/excel.png") join(__dirname, "../assets/icons/apps/excel.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Excel"); window.setOverlayIcon(nimage, "Excel");
@@ -219,11 +213,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/outlook-mac.png") join(__dirname, "../assets/icons/apps/outlook-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/outlook.png") join(__dirname, "../assets/icons/apps/outlook.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Outlook"); window.setOverlayIcon(nimage, "Outlook");
@@ -239,11 +233,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/onedrive-mac.png") join(__dirname, "../assets/icons/apps/onedrive-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/onedrive.png") join(__dirname, "../assets/icons/apps/onedrive.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "OneDrive"); window.setOverlayIcon(nimage, "OneDrive");
@@ -256,11 +250,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/teams-mac.png") join(__dirname, "../assets/icons/apps/teams-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/teams.png") join(__dirname, "../assets/icons/apps/teams.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "Teams"); window.setOverlayIcon(nimage, "Teams");
@@ -273,11 +267,11 @@ app.on("web-contents-created", (event, contents) => {
) { ) {
if (process.platform === "darwin") { if (process.platform === "darwin") {
app.dock.setIcon( app.dock.setIcon(
path.join(__dirname, "../assets/icons/apps/onenote-mac.png") join(__dirname, "../assets/icons/apps/onenote-mac.png")
); );
} else if (process.platform === "win32") { } else if (process.platform === "win32") {
let nimage = nativeImage.createFromPath( let nimage = nativeImage.createFromPath(
path.join(__dirname, "../assets/icons/apps/onenote.png") join(__dirname, "../assets/icons/apps/onenote.png")
); );
BrowserWindow.getAllWindows().forEach((window) => { BrowserWindow.getAllWindows().forEach((window) => {
window.setOverlayIcon(nimage, "OneNote"); window.setOverlayIcon(nimage, "OneNote");
@@ -294,6 +288,27 @@ app.on("web-contents-created", (event, contents) => {
} }
} }
} }
contents.insertCSS(
`
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: transparent;
border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
`
);
}); });
}); });

View File

@@ -1,20 +1,21 @@
const useragents = require("./useragents.json"); import { app, dialog, BrowserWindow, ShareMenu, clipboard } from "electron";
const { import { getValue, setValue, getValueOrDefault } from './store.js';
app, import { ElectronBlocker } from "@cliqz/adblocker-electron";
dialog, import { clearActivity, setActivity } from './rpc.js';
BrowserWindow, import { fileURLToPath } from 'url';
ShareMenu, import { shell } from "electron";
clipboard, import { dirname } from 'path';
} = require("electron");
const axios = require("axios"); import useragents from "./useragents.json" with { type: "json" }
const { clearActivity, setActivity } = require("./rpc"); import updaterpkg from "electron-updater";
const { shell } = require("electron"); import fetch from "cross-fetch";
const { autoUpdater } = require("electron-updater"); import axios from "axios";
const { ElectronBlocker } = require("@cliqz/adblocker-electron"); import path from "path";
const fetch = require("cross-fetch");
const openAboutWindow = require("about-window").default; const __filename = fileURLToPath(import.meta.url);
const path = require("path"); const __dirname = dirname(__filename);
const { getValue, setValue, getValueOrDefault } = require("./store"); const { autoUpdater } = updaterpkg;
async function checkForUpdates() { async function checkForUpdates() {
try { try {
@@ -65,12 +66,10 @@ async function checkForUpdates() {
} }
async function openExternalLink(url) { async function openExternalLink(url) {
const { shell } = require("electron");
await shell.openExternal(url); await shell.openExternal(url);
} }
async function openLogsFolder() { async function openLogsFolder() {
const { shell } = require("electron");
if (process.platform === "win32") { if (process.platform === "win32") {
await shell.openPath( await shell.openPath(
"C:\\Users\\" + "C:\\Users\\" +
@@ -102,7 +101,7 @@ function setUserAgent(useragent) {
} }
} }
getValueOrDefault("enterprise-or-normal", "https://microsoft365.com/?auth=1"); getValueOrDefault("enterprise-or-normal", "?auth=1");
getValueOrDefault("websites-in-new-window", "true"); getValueOrDefault("websites-in-new-window", "true");
getValueOrDefault("autohide-menubar", "false"); getValueOrDefault("autohide-menubar", "false");
getValueOrDefault("useragentstring", useragents.Windows); getValueOrDefault("useragentstring", useragents.Windows);
@@ -110,6 +109,16 @@ getValueOrDefault("discordrpcstatus", "false");
getValueOrDefault("blockadsandtrackers", "false"); getValueOrDefault("blockadsandtrackers", "false");
getValueOrDefault("dynamicicons", "true"); getValueOrDefault("dynamicicons", "true");
getValueOrDefault("autoupdater", "true"); getValueOrDefault("autoupdater", "true");
getValueOrDefault("custompage", "home");
// temporary code to change the value of enterprise-or-normal to the new values for the update, will be removed in the next update.
if (getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=1") {
setValue("enterprise-or-normal", "?auth=1");
} else if (
getValue("enterprise-or-normal") === "https://microsoft365.com/?auth=2"
) {
setValue("enterprise-or-normal", "?auth=2");
}
const menulayout = [ const menulayout = [
...(process.platform === "darwin" ...(process.platform === "darwin"
@@ -119,19 +128,10 @@ const menulayout = [
submenu: [ submenu: [
{ {
label: "About MS-365-Electron", label: "About MS-365-Electron",
click: () => { click: async () => {
openAboutWindow({ await openExternalLink(
icon_path: path.join(__dirname, "../assets/about.png"), "https://github.com/agam778/MS-365-Electron"
product_name: "MS-365-Electron", );
copyright:
"Copyright (c) 2021-2023 Agampreet Singh\nMicrosoft 365, the name, website, images/icons\nare the intellectual properties of Microsoft.",
package_json_dir: __dirname + "/../",
bug_report_url:
"https://github.com/agam778/MS-365-Electron/issues/",
bug_link_text: "Report an issue",
adjust_window_size: "2",
show_close_button: "Close",
});
}, },
}, },
{ {
@@ -142,14 +142,6 @@ const menulayout = [
}, },
}, },
{ type: "separator" }, { type: "separator" },
{
label: "Learn More",
click: async () => {
await openExternalLink(
"https://github.com/agam778/MS-365-Electron"
);
},
},
{ {
label: "Open Logs Folder", label: "Open Logs Folder",
click: async () => { click: async () => {
@@ -166,7 +158,7 @@ const menulayout = [
click() { click() {
setValue( setValue(
"enterprise-or-normal", "enterprise-or-normal",
"https://microsoft365.com/?auth=1" "?auth=1"
); );
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
@@ -178,7 +170,7 @@ const menulayout = [
}, },
checked: checked:
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1", "?auth=1",
}, },
{ {
label: "Open MS 365 with Work/School Account", label: "Open MS 365 with Work/School Account",
@@ -186,7 +178,7 @@ const menulayout = [
click() { click() {
setValue( setValue(
"enterprise-or-normal", "enterprise-or-normal",
"https://microsoft365.com/?auth=2" "?auth=2"
); );
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
@@ -198,7 +190,7 @@ const menulayout = [
}, },
checked: checked:
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2", "?auth=2",
}, },
{ type: "separator" }, { type: "separator" },
{ {
@@ -232,6 +224,72 @@ const menulayout = [
checked: getValue("websites-in-new-window") === "false", checked: getValue("websites-in-new-window") === "false",
}, },
{ type: "separator" }, { type: "separator" },
{
label: "Custom Home Page",
submenu: [
{
label: "Home (Default)",
type: "radio",
click: () => {
setValue("custompage", "home");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the default home page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "home",
},
{
label: "Create",
type: "radio",
click: () => {
setValue("custompage", "create");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"Create\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "create",
},
{
label: "My Content",
type: "radio",
click: () => {
setValue("custompage", "mycontent");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"My Content\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "mycontent",
},
{
label: "Apps",
type: "radio",
click: () => {
setValue("custompage", "apps");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"Apps\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "apps",
},
],
},
{ type: "separator" },
{ {
label: "Enable Discord RPC", label: "Enable Discord RPC",
type: "checkbox", type: "checkbox",
@@ -336,13 +394,15 @@ const menulayout = [
message: "Ads and trackers will no longer be blocked.", message: "Ads and trackers will no longer be blocked.",
buttons: ["OK"], buttons: ["OK"],
}); });
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then( ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
(blocker) => { BrowserWindow.getAllWindows().forEach(window => {
blocker.disableBlockingInSession( blocker.disableBlockingInSession(window.webContents.session);
BrowserWindow.getFocusedWindow().webContents.session });
); }).catch((error) => {
if (error.message !== "Trying to disable blocking which was not enabled") {
console.error(error);
} }
); });
return; return;
} }
if ( if (
@@ -350,11 +410,10 @@ const menulayout = [
getValue("blockadsandtrackers") === undefined getValue("blockadsandtrackers") === undefined
) { ) {
setValue("blockadsandtrackers", "true"); setValue("blockadsandtrackers", "true");
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then( ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
(blocker) => { BrowserWindow.getAllWindows().forEach(window => {
blocker.enableBlockingInSession( blocker.enableBlockingInSession(window.webContents.session);
BrowserWindow.getFocusedWindow().webContents.session })
);
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
title: "Block Ads and Trackers", title: "Block Ads and Trackers",
@@ -429,19 +488,10 @@ const menulayout = [
submenu: [ submenu: [
{ {
label: "About MS-365-Electron", label: "About MS-365-Electron",
click: () => { click: async () => {
openAboutWindow({ await openExternalLink(
icon_path: path.join(__dirname, "../assets/about.png"), "https://github.com/agam778/MS-365-Electron"
product_name: "MS-365-Electron", );
copyright:
"Copyright (c) 2021-2023 Agampreet Singh\nMicrosoft 365, the name, website, images/icons\nare the intellectual properties of Microsoft.",
package_json_dir: __dirname + "/../",
bug_report_url:
"https://github.com/agam778/MS-365-Electron/issues/",
bug_link_text: "Report an issue",
adjust_window_size: "2",
show_close_button: "Close",
});
}, },
}, },
{ {
@@ -451,14 +501,6 @@ const menulayout = [
}, },
}, },
{ type: "separator" }, { type: "separator" },
{
label: "Learn More",
click: async () => {
await openExternalLink(
"https://github.com/agam778/MS-365-Electron"
);
},
},
{ {
label: "Open Logs Folder", label: "Open Logs Folder",
click: async () => { click: async () => {
@@ -472,7 +514,7 @@ const menulayout = [
click() { click() {
setValue( setValue(
"enterprise-or-normal", "enterprise-or-normal",
"https://microsoft365.com/?auth=1" "?auth=1"
); );
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
@@ -484,7 +526,7 @@ const menulayout = [
}, },
checked: checked:
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1", "?auth=1",
}, },
{ {
label: "Open MS 365 with Work/School Account", label: "Open MS 365 with Work/School Account",
@@ -492,7 +534,7 @@ const menulayout = [
click() { click() {
setValue( setValue(
"enterprise-or-normal", "enterprise-or-normal",
"https://microsoft365.com/?auth=2" "?auth=2"
); );
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
@@ -504,7 +546,7 @@ const menulayout = [
}, },
checked: checked:
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2", "?auth=2",
}, },
{ type: "separator" }, { type: "separator" },
{ {
@@ -538,6 +580,72 @@ const menulayout = [
checked: getValue("websites-in-new-window") === "false", checked: getValue("websites-in-new-window") === "false",
}, },
{ type: "separator" }, { type: "separator" },
{
label: "Custom Home Page",
submenu: [
{
label: "Home (Default)",
type: "radio",
click: () => {
setValue("custompage", "home");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the default home page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "home",
},
{
label: "Create",
type: "radio",
click: () => {
setValue("custompage", "create");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"Create\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "create",
},
{
label: "My Content",
type: "radio",
click: () => {
setValue("custompage", "mycontent");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"My Content\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "mycontent",
},
{
label: "Apps",
type: "radio",
click: () => {
setValue("custompage", "apps");
dialog.showMessageBoxSync({
type: "info",
title: "Custom Home Page",
message:
"You have set the home page to the \"Apps\" page. Please restart the app to apply the changes.",
buttons: ["OK"],
});
},
checked: getValue("custompage") === "apps",
},
],
},
{ type: "separator" },
{ {
label: "Enable Discord RPC", label: "Enable Discord RPC",
type: "checkbox", type: "checkbox",
@@ -642,13 +750,15 @@ const menulayout = [
message: "Ads and trackers will no longer be blocked.", message: "Ads and trackers will no longer be blocked.",
buttons: ["OK"], buttons: ["OK"],
}); });
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then( ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
(blocker) => { BrowserWindow.getAllWindows().forEach(window => {
blocker.disableBlockingInSession( blocker.disableBlockingInSession(window.webContents.session);
BrowserWindow.getFocusedWindow().webContents.session });
); }).catch((error) => {
if (error.message !== "Trying to disable blocking which was not enabled") {
console.error(error);
} }
); });
return; return;
} }
if ( if (
@@ -656,11 +766,10 @@ const menulayout = [
getValue("blockadsandtrackers") === undefined getValue("blockadsandtrackers") === undefined
) { ) {
setValue("blockadsandtrackers", "true"); setValue("blockadsandtrackers", "true");
ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then( ElectronBlocker.fromPrebuiltAdsAndTracking(fetch).then((blocker) => {
(blocker) => { BrowserWindow.getAllWindows().forEach(window => {
blocker.enableBlockingInSession( blocker.enableBlockingInSession(window.webContents.session);
BrowserWindow.getFocusedWindow().webContents.session })
);
dialog.showMessageBoxSync({ dialog.showMessageBoxSync({
type: "info", type: "info",
title: "Block Ads and Trackers", title: "Block Ads and Trackers",
@@ -735,7 +844,7 @@ const menulayout = [
partition: "persist:personal", partition: "persist:personal",
}, },
}); });
newWindow.loadURL("https://microsoft365.com/?auth=1"); newWindow.loadURL(`https://microsoft365.com/${getValue("custompage")}/?auth=1`);
}, },
}, },
{ {
@@ -751,7 +860,7 @@ const menulayout = [
partition: "persist:work", partition: "persist:work",
}, },
}); });
newWindow.loadURL("https://microsoft365.com/?auth=2"); newWindow.loadURL(`https://microsoft365.com/${getValue("custompage")}/?auth=2`);
}, },
}, },
{ type: "separator" }, { type: "separator" },
@@ -881,7 +990,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let wordwindow = new BrowserWindow({ let wordwindow = new BrowserWindow({
@@ -901,7 +1010,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let wordwindow = new BrowserWindow({ let wordwindow = new BrowserWindow({
@@ -927,7 +1036,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let excelwindow = new BrowserWindow({ let excelwindow = new BrowserWindow({
@@ -949,7 +1058,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let excelwindow = new BrowserWindow({ let excelwindow = new BrowserWindow({
@@ -977,7 +1086,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let powerpointwindow = new BrowserWindow({ let powerpointwindow = new BrowserWindow({
@@ -999,7 +1108,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let powerpointwindow = new BrowserWindow({ let powerpointwindow = new BrowserWindow({
@@ -1027,7 +1136,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let outlookwindow = new BrowserWindow({ let outlookwindow = new BrowserWindow({
@@ -1047,7 +1156,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let outlookwindow = new BrowserWindow({ let outlookwindow = new BrowserWindow({
@@ -1075,7 +1184,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let onedrivewindow = new BrowserWindow({ let onedrivewindow = new BrowserWindow({
@@ -1097,7 +1206,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let onedrivewindow = new BrowserWindow({ let onedrivewindow = new BrowserWindow({
@@ -1125,7 +1234,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let onenotewindow = new BrowserWindow({ let onenotewindow = new BrowserWindow({
@@ -1147,7 +1256,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let onenotewindow = new BrowserWindow({ let onenotewindow = new BrowserWindow({
@@ -1173,7 +1282,7 @@ const menulayout = [
click: () => { click: () => {
if ( if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=2" "?auth=2"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let allappswindow = new BrowserWindow({ let allappswindow = new BrowserWindow({
@@ -1193,7 +1302,7 @@ const menulayout = [
} }
} else if ( } else if (
getValue("enterprise-or-normal") === getValue("enterprise-or-normal") ===
"https://microsoft365.com/?auth=1" "?auth=1"
) { ) {
if (getValue("websites-in-new-window") === "true") { if (getValue("websites-in-new-window") === "true") {
let allappswindow = new BrowserWindow({ let allappswindow = new BrowserWindow({
@@ -1262,4 +1371,5 @@ const menulayout = [
], ],
}, },
]; ];
module.exports = { menulayout };
export default menulayout;

View File

@@ -1,12 +1,12 @@
const { Client } = require("@xhayper/discord-rpc"); import { dialog, BrowserWindow } from "electron";
const { dialog, BrowserWindow } = require("electron"); import { Client } from "@xhayper/discord-rpc";
const { setValue } = require("./store"); import { setValue } from "./store.js";
const client = new Client({ const client = new Client({
clientId: "942637872530460742", clientId: "942637872530460742",
}); });
async function rpcError(status) { export async function rpcError(status) {
const rpcerror = dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow(), { const rpcerror = dialog.showMessageBoxSync(BrowserWindow.getFocusedWindow(), {
type: "error", type: "error",
title: "Discord RPC Error", title: "Discord RPC Error",
@@ -19,14 +19,14 @@ async function rpcError(status) {
} }
} }
async function clearActivity() { export async function clearActivity() {
await client.user?.clearActivity().catch((err) => { await client.user?.clearActivity().catch((err) => {
rpcError("clearing"); rpcError("clearing");
console.error(err); console.error(err);
}); });
} }
async function setActivity(details) { export async function setActivity(details) {
if (!client.user) { if (!client.user) {
await loginToRPC(); await loginToRPC();
} }
@@ -43,15 +43,9 @@ async function setActivity(details) {
}); });
} }
async function loginToRPC() { export async function loginToRPC() {
await client.login().catch((err) => { await client.login().catch((err) => {
rpcError("logging into"); rpcError("logging into");
console.error(err); console.error(err);
}); });
} }
module.exports = {
clearActivity,
setActivity,
loginToRPC,
};

View File

@@ -1,15 +1,15 @@
const Store = require("electron-store"); import Store from "electron-store";
const store = new Store(); const store = new Store();
function getValue(key) { export function getValue(key) {
return store.get(key); return store.get(key);
} }
function setValue(key, value) { export function setValue(key, value) {
store.set(key, value); store.set(key, value);
} }
function getValueOrDefault(key, defaultValue) { export function getValueOrDefault(key, defaultValue) {
const value = store.get(key); const value = store.get(key);
if (value === undefined) { if (value === undefined) {
store.set(key, defaultValue); store.set(key, defaultValue);
@@ -17,5 +17,3 @@ function getValueOrDefault(key, defaultValue) {
} }
return value; return value;
} }
module.exports = { getValue, setValue, getValueOrDefault };

View File

@@ -1,5 +1,5 @@
{ {
"Windows": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "Windows": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"macOS": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36", "macOS": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
"Linux": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" "Linux": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
} }

View File

@@ -1,8 +1,9 @@
{ {
"name": "ms-365-electron", "name": "ms-365-electron",
"version": "1.1.0", "version": "2.0.0",
"type": "module",
"description": "Unofficial Microsoft 365 Web Desktop Wrapper made with Electron", "description": "Unofficial Microsoft 365 Web Desktop Wrapper made with Electron",
"main": "app/main.js", "main": "./app/main.js",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/agam778/MS-365-Electron.git" "url": "https://github.com/agam778/MS-365-Electron.git"
@@ -66,23 +67,23 @@
}, },
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"electron": "^28.0.0", "electron": "^30.0.0",
"electron-builder": "^24.6.3", "electron-builder": "^24.6.3",
"eslint": "^8.45.0" "eslint": "^9.0.0"
}, },
"dependencies": { "dependencies": {
"@aptabase/electron": "^0.3.1",
"@cliqz/adblocker-electron": "^1.26.6", "@cliqz/adblocker-electron": "^1.26.6",
"@xhayper/discord-rpc": "^1.0.21", "@xhayper/discord-rpc": "^1.0.21",
"about-window": "^1.15.2",
"axios": "^1.4.0", "axios": "^1.4.0",
"check-internet-connected": "^2.0.6", "check-internet-connected": "^2.0.6",
"cross-fetch": "^4.0.0", "cross-fetch": "^4.0.0",
"electron-context-menu": "^3.6.1", "electron-context-menu": "^4.0.0",
"electron-dl": "^3.5.0", "electron-dl": "^4.0.0",
"electron-log": "^5.0.0-beta.25", "electron-log": "^5.0.0-beta.25",
"electron-store": "^8.1.0", "electron-store": "^9.0.0",
"electron-updater": "^6.1.4", "electron-updater": "^6.1.4",
"node-gyp": "^10.0.0" "node-gyp": "^10.0.0"
}, },
"packageManager": "yarn@4.0.2" "packageManager": "yarn@4.2.1"
} }

2382
yarn.lock

File diff suppressed because it is too large Load Diff