From e63828b8c143500a3aadc71f1fd0b72294fb0b9a Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Sat, 16 Sep 2023 21:20:21 +0200 Subject: [PATCH 01/18] fix: #230 update class names for missing notifications --- public/unread-number-observer.js | 184 ++++++++++--------------------- 1 file changed, 58 insertions(+), 126 deletions(-) diff --git a/public/unread-number-observer.js b/public/unread-number-observer.js index bb4ab7b..219989e 100644 --- a/public/unread-number-observer.js +++ b/public/unread-number-observer.js @@ -1,82 +1,78 @@ let owa_timer; const observeUnreadHandlers = { - consumer: () => { - // Notification DOM elements in the top right - const unreadSpan = document.querySelector("._19RqVuyYJ8MMsIOLN6_XRh"); + owa: () => { + // Check the number of unread messages for Inbox Folder + const unreadSpan = document.querySelector(".C2IG3.LPIso.oTkSL.iDEcr .o03Ce .BptzE.e0wpX.WIYG1 .WIYG1.Mt2TB"); if (!unreadSpan) { - console.log(`No notification found for consumer`); + console.log(`No notification found for owa`); return false; } + let lastcheck; + const checkOwa = (checkonlyzerounread) => { + if (unreadSpan) { + let unread = parseInt(unreadSpan.textContent, 10); + console.log(unread); + } else { + console.log("Not a valid number for unread messages."); + return false; + } + unread = parseInt(unreadSpan.textContent, 10); + if (unread > 0 || !checkonlyzerounread) { + require("electron").ipcRenderer.send("updateUnread", unread); - //Default standard outlook url-site - require("electron").ipcRenderer.send( - "updateUnread", - unreadSpan.hasChildNodes() - ); - let observer = new MutationObserver((mutations) => { - mutations.forEach((mutation) => { - console.log("Observer Changed."); - require("electron").ipcRenderer.send( - "updateUnread", - unreadSpan.hasChildNodes() - ); - - // Scrape messages and pop up a notification - var messages = document.querySelectorAll( - 'div[role="listbox"][aria-label="Message list"]' - ); - if (messages.length) { - var unread = messages[0].querySelectorAll( - 'div[aria-label^="Unread"]' - ); - var body = ""; - for (var i = 0; i < unread.length; i++) { - if (body.length) { - body += "\\n"; - } - body += unread[i].getAttribute("aria-label").substring(7, 127); - } - if (unread.length) { - var notification = new Notification( - unread.length + " New Messages", - { - body: body, + if (unread > 0 && !checkonlyzerounread) { + //do not spam notification + if (!lastcheck || new Date() - lastcheck > 500) { + console.log(new Date()); + console.log(lastcheck); + console.log(new Date() - lastcheck); + if (!document.hasFocus()) { + var notification = new Notification("Prospect Mail: New Messages", { + body: "There are " + unread + " unread messages.", icon: "assets/outlook_linux_black.png", - } - ); - notification.onclick = () => { - require("electron").ipcRenderer.send("show"); - }; + }); + notification.onclick = () => { + require("electron").ipcRenderer.send("show"); + }; + } + lastcheck = new Date(); } } - }); - }); - - observer.observe(unreadSpan, { childList: true }); + } + }; - // If the div containing reminders gets taller we probably got a new - // reminder, so force the window to the top. - let reminders = document.getElementsByClassName("_1BWPyOkN5zNVyfbTDKK1gM"); - let height = 0; - let reminderObserver = new MutationObserver((mutations) => { + const leftPanel = document.querySelector(".slWCo.ou4TM"); + console.log("Begin observe leftPanel: ", leftPanel); + const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { - if (reminders[0].clientHeight > height) { - require("electron").ipcRenderer.send("show"); - } - height = reminders[0].clientHeight; + waitForFinalEvent(checkOwa, 1000, "mutation detected"); }); }); - if (reminders.length) { - reminderObserver.observe(reminders[0], { childList: true }); + observer.observe(leftPanel, { + attributes: true, + childList: true, + subtree: true, + }); + + //observer cannot catch all changes, use timer to handle ZERO unreadmessages + if (owa_timer) { + clearInterval(owa_timer); } + owa_timer = setInterval(() => { + checkOwa(true); + }, 5000); + + checkOwa(); + return true; //successfully attached }, - // @joax implmenetation, maybe this is an update or consumer + + // @joax implementation, maybe this is an update or consumer consumer_2: () => { - let unreadSpan = document.querySelector("._2HtVv8aUAL5e8b05Rc4I8v"); + let unreadSpan = document.querySelector(".ki0YS.bSYaw_"); if (!unreadSpan) { - console.log(`No notification found for consumer_2`); + console.log(`No notification found for Calendars/Alerts`); return false; } require("electron").ipcRenderer.send( @@ -127,7 +123,8 @@ const observeUnreadHandlers = { observer.observe(unreadSpan, { childList: true }); // If the div containing reminders gets taller we probably got a new // reminder, so force the window to the top. - let reminders = document.getElementsByClassName("_3PvwGqXAizENgzsKVa_JPJ"); + let reminders = document.getElementsByClassName(".ki0YS.bSYw_"); + console.log(reminders); let height = 0; let reminderObserver = new MutationObserver((mutations) => { mutations.forEach((mutation) => { @@ -142,70 +139,6 @@ const observeUnreadHandlers = { } return true; //successfully attached }, - owa: () => { - // Check the number of unread messages for Inbox Folder - const unreadSpan = document.querySelector(".C2IG3.LPIso.oTkSL.iDEcr.wk4Sg .o03Ce .BptzE.e0wpX.WIYG1 .WIYG1.Mt2TB"); - if (!unreadSpan) { - console.log(`No notification found for owa`); - return false; - } - let lastcheck; - const checkOwa = (checkonlyzerounread) => { - if (unreadSpan) { - let unread = parseInt(unreadSpan.textContent, 10); - console.log(unread); - } else { - console.log("Not a valid number for unread messages."); - return false; - } - unread = parseInt(unreadSpan.textContent, 10); - if (unread > 0 || !checkonlyzerounread) { - require("electron").ipcRenderer.send("updateUnread", unread); - - if (unread > 0 && !checkonlyzerounread) { - //do not spam notification - if (!lastcheck || new Date() - lastcheck > 500) { - if (!document.hasFocus()) { - var notification = new Notification("New Messages", { - body: "There are " + unread + " unread messages.", - icon: "assets/outlook_linux_black.png", - }); - notification.onclick = () => { - require("electron").ipcRenderer.send("show"); - }; - } - lastcheck = new Date(); - } - } - } - }; - - const leftPanel = document.querySelector(".slWCo.ou4TM"); - console.log("Begin observe leftPanel: ", leftPanel); - const observer = new MutationObserver((mutations) => { - mutations.forEach((mutation) => { - waitForFinalEvent(checkOwa, 1000, "mutation detected"); - }); - }); - - observer.observe(leftPanel, { - attributes: true, - childList: true, - subtree: true, - }); - - //observer cannot catch all changes, use timer to handle ZERO unreadmessages - if (owa_timer) { - clearInterval(owa_timer); - } - owa_timer = setInterval(() => { - checkOwa(true); - }, 5000); - - checkOwa(); - - return true; //successfully attached - }, }; const observeUnreadInit = () => { @@ -219,7 +152,6 @@ const observeUnreadInit = () => { break; } } - if (!found) { console.log("Missing valid handler, try again in 5 seconds"); setTimeout(observeUnreadInit, 5000); From 37e5c58ffee65d2e6b1c39bb32308ac329444245 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Sat, 16 Sep 2023 21:21:22 +0200 Subject: [PATCH 02/18] ops: add script for deb build --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 69f930f..c339b3e 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "pack": "electron-builder --dir", "dist:linux": "electron-builder --linux", "dist:linux:appimage": "electron-builder --linux AppImage", + "dist:linux:deb": "electron-builder --linux deb", "dist:linux:snap": "electron-builder --linux snap", "dist:linux:pacman": "electron-builder --linux pacman", "dist:mac": "electron-builder --mac", From b88aaed5361c06b01016a35392cfecf51b7ecd18 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Sun, 17 Sep 2023 09:04:07 +0200 Subject: [PATCH 03/18] build: release 0.5.0-beta1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c339b3e..d803075 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta", + "version": "0.5.0-beta1", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", From 400e8c052341a670b542d4484263ccd7a58f2787 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Mon, 18 Sep 2023 12:32:36 +0200 Subject: [PATCH 04/18] build: remove pacman to review building --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index d803075..52f996d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta1", + "version": "0.5.0-beta2", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", @@ -70,7 +70,6 @@ "deb", "tar.gz", "AppImage", - "pacman", "snap" ], "publish": { From 54facd22baeb786bd41d5759fbec68c1c1b0d98f Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Mon, 18 Sep 2023 17:22:50 +0200 Subject: [PATCH 05/18] misc: add links for sponsorship --- .github/FUNDING.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index b699214..f0b97d6 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,2 +1,3 @@ -github: [julian-alarcon] +custom: ["paypal.me/onemorejulian"] +github: ["julian-alarcon"] ko_fi: alarconj From 11eaafddb1536001a7a1a73587e21c607e720ba5 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Mon, 18 Sep 2023 19:01:02 +0200 Subject: [PATCH 06/18] build: use new way to build/release (#283) --- .github/workflows/release.yml | 67 ++++++++++++++++++++++++++--------- .github/workflows/snap.yml | 67 +++++++++++++++++++++++++++++++++++ package.json | 47 +++++++++++++----------- 3 files changed, 143 insertions(+), 38 deletions(-) create mode 100644 .github/workflows/snap.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0754d5..098fcae 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,9 @@ name: Build/release -on: [push, pull_request] +on: [push] + +env: + GH_TOKEN: ${{ SECRETS.GITHUB_TOKEN }} jobs: release: @@ -10,6 +13,16 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] + arch: [x64, arm64, arm] + exclude: + - os: macos-latest + arch: arm + - os: macos-latest + arch: x64 + - os: windows-latest + arch: arm + - os: windows-latest + arch: arm64 steps: - name: Check out Git repository @@ -20,25 +33,45 @@ jobs: with: node-version: 20 - - name: Install Snapcraft - uses: samuelmeuli/action-snapcraft@v1 - # Only install Snapcraft on Ubuntu - if: startsWith(matrix.os, 'ubuntu') - with: - # Log in to Snap Store - snapcraft_token: ${{ secrets.snapcraft_token }} + - name: Build + run: yarn --link-duplicates --pure-lockfile - name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181 if: startsWith(matrix.os, 'ubuntu') run: sudo apt-get install libarchive-tools - - name: Build/release Electron app - uses: coparse-inc/action-electron-builder@v1.0.0 - with: - # GitHub token, automatically provided to the action - # (No need to define this secret in the repo settings) - github_token: ${{ secrets.github_token }} + - name: Build for test only linux + if: | + github.ref != 'main' && + startsWith(matrix.os, 'ubuntu') + run: yarn dist:linux:${{ matrix.arch }} -- --publish never + + - name: Release linux + if: | + github.ref == 'main' && + startsWith(matrix.os, 'ubuntu') + run: yarn dist:linux:${{ matrix.arch }} -- --publish always + + - name: Build for test only macos + if: | + github.ref != 'main' && + startsWith(matrix.os, 'macos') + run: yarn dist:mac -- --publish never + + - name: Release macos + if: | + github.ref == 'main' && + startsWith(matrix.os, 'macos') + run: yarn dist:mac -- --publish always + + - name: Build for test only windows + if: | + github.ref != 'main' && + startsWith(matrix.os, 'windows') + run: yarn dist:windows -- --publish never - # If the commit is tagged with a version (e.g. "v1.0.0"), - # release the app after building - release: ${{ startsWith(github.ref, 'refs/tags/v') }} + - name: Release windows + if: | + github.ref == 'main' && + startsWith(matrix.os, 'windows') + run: yarn dist:windows -- --publish always diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml new file mode 100644 index 0000000..2ac66a8 --- /dev/null +++ b/.github/workflows/snap.yml @@ -0,0 +1,67 @@ +name: Build/release for Snap + +on: push + +defaults: + run: + shell: bash + +jobs: + + snap: + runs-on: ubuntu-latest + + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Build + run: yarn --link-duplicates --pure-lockfile + + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@v2 + + - name: Build for test only + if: github.ref != 'main' + run: yarn dist:linux:snap --publish never + + - name: Release + if: github.ref == 'main' + run: yarn dist:linux:snap --publish always + + snap-armv7l: + runs-on: ubuntu-latest + + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Build + run: yarn --link-duplicates --pure-lockfile + + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@v2 + + - name: Build for test only + if: github.ref != 'main' + run: yarn dist:linux:snap:armv7l --publish never + + - name: Release + if: github.ref == 'main' + run: yarn dist:linux:snap:armv7l --publish always diff --git a/package.json b/package.json index 52f996d..3f75af7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta2", + "version": "0.5.0-beta1", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", @@ -33,16 +33,22 @@ "start": "electron .", "start-minimized": "electron . --minimized", "pack": "electron-builder --dir", + "dist": "electron-builder", "dist:linux": "electron-builder --linux", - "dist:linux:appimage": "electron-builder --linux AppImage", - "dist:linux:deb": "electron-builder --linux deb", - "dist:linux:snap": "electron-builder --linux snap", - "dist:linux:pacman": "electron-builder --linux pacman", + "dist:linux:appimage": "electron-builder --x64 --armv7l --arm64 -l AppImage", + "dist:linux:deb": "electron-builder --x64 --armv7l --arm64 -l deb", + "dist:linux:pacman": "electron-builder --l pacman", + "dist:linux:rpm": "electron-builder --x64 --armv7l --arm64 -l rpm", + "dist:linux:snap": "electron-builder -l snap", + "dist:linux:snap:armv7l": "electron-builder --armv7l -l snap", + "dist:linux:targz": "electron-builder --x64 --armv7l --arm64 -l tar.gz", "dist:mac": "electron-builder --mac", - "dist:win": "electron-builder --win", - "postinstall": "electron-builder install-app-deps", - "publish": "build -p always", - "release": "electron-builder" + "dist:windows": "electron-builder --windows --x64", + "dist:linux:x64": "electron-builder --x64 -l AppImage deb pacman rpm tar.gz", + "dist:linux:arm64": "electron-builder --arm64 -l AppImage deb pacman rpm tar.gz", + "dist:linux:arm": "electron-builder --armv7l -l AppImage deb pacman rpm tar.gz", + "release": "electron-builder", + "postinstall": "electron-builder install-app-deps" }, "dependencies": { "about-window": "^1.15.2", @@ -56,7 +62,7 @@ "build": { "appId": "io.github.julian-alarcon.prospect-mail", "linux": { - "category": "Mail;Network;Office", + "category": "Email;Network;Office", "packageCategory": "net", "executableName": "prospect-mail", "synopsis": "Prospect Mail", @@ -66,25 +72,27 @@ "StartupWMClass": "prospect-mail" }, "target": [ - "rpm", - "deb", - "tar.gz", "AppImage", - "snap" + "deb", + "pacman", + "rpm", + "snap", + "tar.gz" ], "publish": { "provider": "github", "releaseType": "draft" } }, + "rpm": { + "fpm": [ + "--rpm-rpmbuild-define=_build_id_links none" + ] + }, "snap": { "summary": "Prospect Mail", "confinement": "strict", "grade": "stable", - "buildPackages": [], - "stagePackages": [ - "default" - ], "base": "core22", "plugs": [ "default", @@ -102,9 +110,6 @@ }, "mac": { "category": "public.app-category.productivity", - "target": [ - "dmg" - ], "icon": "build/icon.icns", "type": "distribution", "publish": { From 2d4abd430e44ba5629f65b21fe89d28a52e6a0e1 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Mon, 18 Sep 2023 19:26:04 +0200 Subject: [PATCH 07/18] build: use new way to build/release (#283) (#284) --- .github/workflows/release.yml | 12 +++++----- .github/workflows/snap.yml | 43 +++++++---------------------------- package.json | 25 +++++++++++++++----- 3 files changed, 33 insertions(+), 47 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 098fcae..07a531c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,36 +42,36 @@ jobs: - name: Build for test only linux if: | - github.ref != 'main' && + github.ref != 'refs/heads/main' && startsWith(matrix.os, 'ubuntu') run: yarn dist:linux:${{ matrix.arch }} -- --publish never - name: Release linux if: | - github.ref == 'main' && + github.ref == 'refs/heads/main' && startsWith(matrix.os, 'ubuntu') run: yarn dist:linux:${{ matrix.arch }} -- --publish always - name: Build for test only macos if: | - github.ref != 'main' && + github.ref != 'refs/heads/main' && startsWith(matrix.os, 'macos') run: yarn dist:mac -- --publish never - name: Release macos if: | - github.ref == 'main' && + github.ref == 'refs/heads/main' && startsWith(matrix.os, 'macos') run: yarn dist:mac -- --publish always - name: Build for test only windows if: | - github.ref != 'main' && + github.ref != 'refs/heads/main' && startsWith(matrix.os, 'windows') run: yarn dist:windows -- --publish never - name: Release windows if: | - github.ref == 'main' && + github.ref == 'refs/heads/main' && startsWith(matrix.os, 'windows') run: yarn dist:windows -- --publish always diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml index 2ac66a8..122406d 100644 --- a/.github/workflows/snap.yml +++ b/.github/workflows/snap.yml @@ -7,41 +7,14 @@ defaults: shell: bash jobs: - snap: runs-on: ubuntu-latest - - env: - SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} - - steps: - - name: Check out Git repository - uses: actions/checkout@v3 - - - name: Install Node.js, NPM and Yarn - uses: actions/setup-node@v3 - with: - node-version: 20 - - - name: Build - run: yarn --link-duplicates --pure-lockfile - - - name: Install Snapcraft - uses: samuelmeuli/action-snapcraft@v2 - - - name: Build for test only - if: github.ref != 'main' - run: yarn dist:linux:snap --publish never - - - name: Release - if: github.ref == 'main' - run: yarn dist:linux:snap --publish always - - snap-armv7l: - runs-on: ubuntu-latest - + strategy: + matrix: + arch: [x64, armv7l] env: SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + GH_TOKEN: ${{ SECRETS.GITHUB_TOKEN }} steps: - name: Check out Git repository @@ -59,9 +32,9 @@ jobs: uses: samuelmeuli/action-snapcraft@v2 - name: Build for test only - if: github.ref != 'main' - run: yarn dist:linux:snap:armv7l --publish never + if: github.ref != 'refs/heads/main' + run: yarn dist:linux:snap:${{ matrix.arch }} --publish never - name: Release - if: github.ref == 'main' - run: yarn dist:linux:snap:armv7l --publish always + if: github.ref == 'refs/heads/main' + run: yarn dist:linux:snap:${{ matrix.arch }} --publish always diff --git a/package.json b/package.json index 3f75af7..2451c25 100644 --- a/package.json +++ b/package.json @@ -35,13 +35,26 @@ "pack": "electron-builder --dir", "dist": "electron-builder", "dist:linux": "electron-builder --linux", - "dist:linux:appimage": "electron-builder --x64 --armv7l --arm64 -l AppImage", - "dist:linux:deb": "electron-builder --x64 --armv7l --arm64 -l deb", - "dist:linux:pacman": "electron-builder --l pacman", - "dist:linux:rpm": "electron-builder --x64 --armv7l --arm64 -l rpm", - "dist:linux:snap": "electron-builder -l snap", + "dist:linux:appimage": "electron-builder --x64 --arm64 --armv7l -l AppImage", + "dist:linux:appimage:x64": "electron-builder --x64 -l AppImage", + "dist:linux:appimage:arm64": "electron-builder --arm64 -l AppImage", + "dist:linux:appimage:arm": "electron-builder --armv7l -l AppImage", + "dist:linux:deb": "electron-builder --x64 --arm64 --armv7l -l deb", + "dist:linux:deb:x64": "electron-builder --x64 -l deb", + "dist:linux:deb:arm64": "electron-builder --arm64 -l deb", + "dist:linux:deb:arm": "electron-builder --armv7l -l deb", + "dist:linux:pacman": "electron-builder --x64 --arm64 --armv7l --l pacman", + "dist:linux:pacman:x64": "electron-builder --x64 --l pacman", + "dist:linux:pacman:arm64": "electron-builder --arm64 --l pacman", + "dist:linux:pacman:arm": "electron-builder --armv7l --l pacman", + "dist:linux:rpm": "electron-builder --x64 --arm64 --armv7l -l rpm", + "dist:linux:rpm:x64": "electron-builder --x64 -l rpm", + "dist:linux:rpm:arm64": "electron-builder --arm64 -l rpm", + "dist:linux:rpm:arm": "electron-builder --armv7l -l rpm", + "dist:linux:snap": "electron-builder --x64 --armv7l -l snap", + "dist:linux:snap:x64": "electron-builder --x64 -l snap", "dist:linux:snap:armv7l": "electron-builder --armv7l -l snap", - "dist:linux:targz": "electron-builder --x64 --armv7l --arm64 -l tar.gz", + "dist:linux:targz": "electron-builder --x64 --arm64 --armv7l -l tar.gz", "dist:mac": "electron-builder --mac", "dist:windows": "electron-builder --windows --x64", "dist:linux:x64": "electron-builder --x64 -l AppImage deb pacman rpm tar.gz", From c23996af3464b62203410e3e407248cc5befc843 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Tue, 19 Sep 2023 11:54:57 +0200 Subject: [PATCH 08/18] build: simplify build configuration --- .../{release.yml => build-release.yml} | 34 +++++++++++++++- .github/workflows/snap.yml | 40 ------------------- README.md | 4 +- package.json | 12 +++--- 4 files changed, 41 insertions(+), 49 deletions(-) rename .github/workflows/{release.yml => build-release.yml} (71%) delete mode 100644 .github/workflows/snap.yml diff --git a/.github/workflows/release.yml b/.github/workflows/build-release.yml similarity index 71% rename from .github/workflows/release.yml rename to .github/workflows/build-release.yml index 07a531c..3facae0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/build-release.yml @@ -1,4 +1,4 @@ -name: Build/release +name: Build & Release on: [push] @@ -6,7 +6,7 @@ env: GH_TOKEN: ${{ SECRETS.GITHUB_TOKEN }} jobs: - release: + github-release: runs-on: ${{ matrix.os }} # Platforms to build on/for @@ -75,3 +75,33 @@ jobs: github.ref == 'refs/heads/main' && startsWith(matrix.os, 'windows') run: yarn dist:windows -- --publish always + snap-release: + runs-on: ubuntu-latest + strategy: + matrix: + arch: [x64, armv7l] + env: + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + + - name: Install Node.js, NPM and Yarn + uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Build + run: yarn --link-duplicates --pure-lockfile + + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@v2 + + - name: Build for test only + if: github.ref != 'refs/heads/main' + run: yarn dist:linux:snap:${{ matrix.arch }} --publish never + + - name: Release + if: github.ref == 'refs/heads/main' + run: yarn dist:linux:snap:${{ matrix.arch }} --publish always diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml deleted file mode 100644 index 122406d..0000000 --- a/.github/workflows/snap.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Build/release for Snap - -on: push - -defaults: - run: - shell: bash - -jobs: - snap: - runs-on: ubuntu-latest - strategy: - matrix: - arch: [x64, armv7l] - env: - SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} - GH_TOKEN: ${{ SECRETS.GITHUB_TOKEN }} - - steps: - - name: Check out Git repository - uses: actions/checkout@v3 - - - name: Install Node.js, NPM and Yarn - uses: actions/setup-node@v3 - with: - node-version: 20 - - - name: Build - run: yarn --link-duplicates --pure-lockfile - - - name: Install Snapcraft - uses: samuelmeuli/action-snapcraft@v2 - - - name: Build for test only - if: github.ref != 'refs/heads/main' - run: yarn dist:linux:snap:${{ matrix.arch }} --publish never - - - name: Release - if: github.ref == 'refs/heads/main' - run: yarn dist:linux:snap:${{ matrix.arch }} --publish always diff --git a/README.md b/README.md index 992b10c..ffb3de1 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ logo -[![builds](https://github.com/julian-alarcon/prospect-mail/actions/workflows/release.yml/badge.svg)](https://github.com/julian-alarcon/prospect-mail/actions) -[![releases](https://badgen.net/github/release/julian-alarcon/prospect-mail/)](https://github.com/julian-alarcon/prospect-mail/releases/latest) +[![Build & Release](https://github.com/julian-alarcon/prospect-mail/actions/workflows/build-release.yml/badge.svg)](https://github.com/julian-alarcon/prospect-mail/actions/workflows/build-release.yml) +[![releases](https://badgen.net/github/release/julian-alarcon/prospect-mail)](https://github.com/julian-alarcon/prospect-mail/releases/latest) The Outlook desktop client for the [new Outlook Interface](https://www.microsoft.com/en-us/microsoft-365/blog/2018/06/13/power-and-simplicity-updates-to-the-office-365-user-experience/) diff --git a/package.json b/package.json index 2451c25..912ecdb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta1", + "version": "0.5.0-beta2", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", @@ -57,9 +57,9 @@ "dist:linux:targz": "electron-builder --x64 --arm64 --armv7l -l tar.gz", "dist:mac": "electron-builder --mac", "dist:windows": "electron-builder --windows --x64", - "dist:linux:x64": "electron-builder --x64 -l AppImage deb pacman rpm tar.gz", + "dist:linux:x64": "electron-builder --x64 -l AppImage deb pacman rpm snap tar.gz", "dist:linux:arm64": "electron-builder --arm64 -l AppImage deb pacman rpm tar.gz", - "dist:linux:arm": "electron-builder --armv7l -l AppImage deb pacman rpm tar.gz", + "dist:linux:arm": "electron-builder --armv7l -l AppImage deb pacman rpm snap tar.gz", "release": "electron-builder", "postinstall": "electron-builder install-app-deps" }, @@ -116,8 +116,10 @@ "upower-observe" ], "publish": [ - "github", - "snapStore" + { + "provider": "snapStore", + "channels": "beta" + } ], "allowNativeWayland": true }, From 3038f47efe607bfb22992eb874a9f8ad60d4ec58 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Tue, 19 Sep 2023 16:18:36 +0200 Subject: [PATCH 09/18] docs: updated README.md --- README.md | 61 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index ffb3de1..79af350 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,21 @@ -# Prospect Mail client +# Prospect Mail logo [![Build & Release](https://github.com/julian-alarcon/prospect-mail/actions/workflows/build-release.yml/badge.svg)](https://github.com/julian-alarcon/prospect-mail/actions/workflows/build-release.yml) -[![releases](https://badgen.net/github/release/julian-alarcon/prospect-mail)](https://github.com/julian-alarcon/prospect-mail/releases/latest) +[![Latest release](https://img.shields.io/github/v/release/julian-alarcon/prospect-mail)](https://github.com/julian-alarcon/prospect-mail/releases/latest) +[![GitHub all releases](https://img.shields.io/github/downloads/julian-alarcon/prospect-mail/total)](https://github.com/julian-alarcon/prospect-mail/releases) -The Outlook desktop client for the -[new Outlook Interface](https://www.microsoft.com/en-us/microsoft-365/blog/2018/06/13/power-and-simplicity-updates-to-the-office-365-user-experience/) -from Microsoft 365. +Unofficial email Outlook client using Electron. It uses the +[Web App](https://www.microsoft.com/en-us/microsoft-365/outlook/web-email-login-for-outlook) +and wraps it as a standalone application using Electron. This only works for +Microsoft/Office 365 accounts, don't use it for personal Outlook.com accounts. Available for Linux, Windows (10+) and macOS. +> This project has NO DIRECT AFFILIATION with Microsoft, Microsoft 365 or any +> product made by Microsoft. + ## Download The application can be downloaded from [here](https://github.com/julian-alarcon/prospect-mail/releases). @@ -19,8 +24,9 @@ Select the appropriated file depending on your OS: - Windows: `.exe` file or `.msi` file - macOS: `.dmg` file -- Linux: Multiple artifacts are available, please choose your needed one (deb, - rpm, AppImage, snap, pacman) depending on your Linux Distribution. +- Linux: Multiple artifacts are available, please choose your needed one +(AppImage, deb, pacman, rpm, snap, tar.gz) depending on your Linux +Distribution. ## Installation @@ -30,7 +36,8 @@ Just double click and follow the Installer steps. ### macOS -Double click the dmg file and drag the blue Prospect Mail icon to the App folder +Double click the dmg file and drag the blue Prospect Mail icon to the App +folder ### Linux @@ -51,15 +58,12 @@ For other distributions please follow your specific steps. ![screenshot-calendar-view](misc/calendar-view.png) -## Needed configuration in your Outlook Web configuration - -> It's recommended to enable the new design to be able to use this client - ## Features - Receive your Outlook Microsoft 365 online from the desktop app - Close to minimize -- Start as minimized (you can use the Option in the Tray icon menu or start app with `prospect-mail --minimized`) +- Start as minimized (you can use the Option in the Tray icon menu or start app +with `prospect-mail --minimized`) - Dock tray support - System notification - Connect to standard or custom outlook url @@ -67,8 +71,8 @@ For other distributions please follow your specific steps. ## Settings -- Via tray menu settings.json can be opened and edited. After every save you - need to click in "Reload settings" to apply changes. +Via tray menu settings.json can be opened and edited. After every save you +need to click in "Reload settings" to apply changes. ```json { @@ -110,7 +114,7 @@ The main software architecture components and their versions are this: Clone the repository and run in development mode. (You need to have [git](https://git-scm.com/) , node and yarn) installed) -```bash +```sh git clone https://github.com/julian-alarcon/prospect-mail.git cd prospect-mail yarn @@ -119,7 +123,7 @@ yarn start Build the application for linux -```bash +```sh yarn run dist:linux ``` @@ -128,14 +132,20 @@ can be run in most popular linux distributions. Is possible to specify the snap or AppImage build type using running this: -```bash -yarn run dist:linux:snap +```sh +yarn dist:linux:snap ``` Build the application for Mac (It works in versions 10.14 and 10.15) -```bash -yarn run dist:mac +```sh +yarn dist:mac +``` + +Build it for windows: + +```sh +yarn dist:windows ``` ### Install developer artifact @@ -150,11 +160,8 @@ file `sudo snap install prospect-mail_x.y.z_arch.snap --dangerous`. With the specific permissions on Github, to create a new release follow the steps defined by [action-electron-builder](https://github.com/samuelmeuli/action-electron-builder) -1. Define version in package.json. E.g. `0.4.0` -1. Add commit with changes. E.g. `git commit -am v0.4.0` -1. Tag the commit. E.g. `git tag v0.4.0`. Don't forget the `v` as suffix of the - version. -1. Push changes including tags `git push && git push --tags` +1. Open Pull Request for new version +1. Define version in package.json. E.g. `1.0.0-beta2` ## Manual release to Snapstore @@ -166,6 +173,6 @@ snapcraft upload --release=edge prospect-mail_x.y.z_arch.snap ## License [MIT](https://github.com/julian-alarcon/prospect-mail/blob/master/LICENSE) by -[Julian Alarcon](https://desentropia.com) based on work on +[Julian Alarcon](https://desentropia.com) based on [electron-outlook](https://github.com/eNkru/electron-outlook) by [Howard J](https://enkru.github.io/) From 2888fc9709ff270f0d52d518050ab988d38f89fc Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Tue, 19 Sep 2023 23:40:34 +0200 Subject: [PATCH 10/18] fix: add missing snapcraft installation --- .github/workflows/build-release.yml | 13 ++++++++----- package.json | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 3facae0..40428a8 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -33,13 +33,16 @@ jobs: with: node-version: 20 - - name: Build - run: yarn --link-duplicates --pure-lockfile + - name: Install Snapcraft + uses: samuelmeuli/action-snapcraft@v2 - name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181 if: startsWith(matrix.os, 'ubuntu') run: sudo apt-get install libarchive-tools + - name: Build + run: yarn --link-duplicates --pure-lockfile + - name: Build for test only linux if: | github.ref != 'refs/heads/main' && @@ -92,12 +95,12 @@ jobs: with: node-version: 20 - - name: Build - run: yarn --link-duplicates --pure-lockfile - - name: Install Snapcraft uses: samuelmeuli/action-snapcraft@v2 + - name: Build + run: yarn --link-duplicates --pure-lockfile + - name: Build for test only if: github.ref != 'refs/heads/main' run: yarn dist:linux:snap:${{ matrix.arch }} --publish never diff --git a/package.json b/package.json index 912ecdb..77c0445 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta2", + "version": "0.5.0-beta3", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", From c07fff0be0a8e41a01cb62188592af5ea625b994 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 20 Sep 2023 06:18:39 +0200 Subject: [PATCH 11/18] fix: add missing secret --- .github/workflows/build-release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 40428a8..bde56ee 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -3,7 +3,8 @@ name: Build & Release on: [push] env: - GH_TOKEN: ${{ SECRETS.GITHUB_TOKEN }} + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} jobs: github-release: From 196c88b69b39ab272c80b36d14bfef3c01bc77d8 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 20 Sep 2023 07:18:36 +0200 Subject: [PATCH 12/18] build: remove snap specific job --- .github/workflows/build-release.yml | 30 ----------------------------- package.json | 2 +- 2 files changed, 1 insertion(+), 31 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index bde56ee..9f419b9 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -79,33 +79,3 @@ jobs: github.ref == 'refs/heads/main' && startsWith(matrix.os, 'windows') run: yarn dist:windows -- --publish always - snap-release: - runs-on: ubuntu-latest - strategy: - matrix: - arch: [x64, armv7l] - env: - SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} - - steps: - - name: Check out Git repository - uses: actions/checkout@v3 - - - name: Install Node.js, NPM and Yarn - uses: actions/setup-node@v3 - with: - node-version: 20 - - - name: Install Snapcraft - uses: samuelmeuli/action-snapcraft@v2 - - - name: Build - run: yarn --link-duplicates --pure-lockfile - - - name: Build for test only - if: github.ref != 'refs/heads/main' - run: yarn dist:linux:snap:${{ matrix.arch }} --publish never - - - name: Release - if: github.ref == 'refs/heads/main' - run: yarn dist:linux:snap:${{ matrix.arch }} --publish always diff --git a/package.json b/package.json index 77c0445..492cd64 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta3", + "version": "0.5.0-beta4", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", From 8c1186608e0b8bc52b6faeee5a3564469a1b8c6e Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 20 Sep 2023 11:01:48 +0200 Subject: [PATCH 13/18] chore: added templates for bugs/feature requests --- .github/ISSUE_TEMPLATE/bug_report.md | 34 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 23 +++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..3df6cce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,34 @@ +--- +name: Bug report +about: Create a report to help us improve +title: "[Bug]: " +labels: ["bug", "needs-review"] +assignees: "" + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: + +1. Go to '...' +2. ... +3. ... + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + +- OS: [e.g. Ubuntu 23.04] +- Installation source: [deb, rpm, snap, AppImage, tar.gz, Snapstore] +- Version [e.g. 0.5.0-beta1] + +**Additional context** +Add any other context about the problem here. +Also, did you tried another build (AppImage, deb, rpm)? diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..c2ba728 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: "[Feature Request]: " +labels: ["enhancement", "needs-review"] +assignees: "" + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Version in use** +Add the version that you are using (if applicable) + +**Additional context** +Add any other context or screenshots about the feature request here. From c95ea309451cd175ce25127db202e3cf9fd4675c Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 20 Sep 2023 11:03:33 +0200 Subject: [PATCH 14/18] build: release 0.5.0 ! --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 492cd64..5f3ff57 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0-beta4", + "version": "0.5.0", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", From 0340752fc41e230ab3e77dbfa624fbc7aa431c3c Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 20 Sep 2023 11:09:48 +0200 Subject: [PATCH 15/18] misc: updated CODEOWNER --- .github/CODEOWNERS | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 93aaedc..9116af7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,19 +1,2 @@ -# Lines starting with '#' are comments. - -# Each line is a file pattern followed by one or more owners. - -# More details are here: https://help.github.com/articles/about-codeowners/ - -# The '\*' pattern is global owners. - -# Order is important. The last matching pattern has the most precedence. - -# The folders are ordered as follows: - -# In each subsection folders are ordered first by depth, then alphabetically. - -# This should make it easy to add new rules without breaking existing ones. - -# Global rule: - -- @julian-alarcon +# Global owner: +* @julian-alarcon From 0dd31f33cf3a9ca8132d543c957a2e0e4065831c Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Thu, 21 Sep 2023 13:53:49 +0200 Subject: [PATCH 16/18] fix: add notification icon fix #289 --- package.json | 2 +- public/unread-number-observer.js | 2 +- yarn.lock | 31 +++++++++++++++---------------- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 5f3ff57..e872d4e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.0", + "version": "0.5.1", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", diff --git a/public/unread-number-observer.js b/public/unread-number-observer.js index 219989e..fa42b3f 100644 --- a/public/unread-number-observer.js +++ b/public/unread-number-observer.js @@ -29,7 +29,7 @@ const observeUnreadHandlers = { if (!document.hasFocus()) { var notification = new Notification("Prospect Mail: New Messages", { body: "There are " + unread + " unread messages.", - icon: "assets/outlook_linux_black.png", + icon: "data:image/png;base64,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", }); notification.onclick = () => { require("electron").ipcRenderer.send("show"); diff --git a/yarn.lock b/yarn.lock index c0d58a9..30d619f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,11 +16,10 @@ ajv-keywords "^3.4.1" "@electron/asar@^3.2.1": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.4.tgz#7e8635a3c4f6d8b3f8ae6efaf5ecb9fbf3bd9864" - integrity sha512-lykfY3TJRRWFeTxccEKdf1I6BLl2Plw81H0bbp4Fc5iEc67foDCa5pjJQULVgo0wF+Dli75f3xVcdb/67FFZ/g== + version "3.2.5" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.5.tgz#1557d456e99123cbc0b69a79230199b32dca785a" + integrity sha512-Ypahc2ElTj9YOrFvUHuoXv5Z/V1nPA5enlhmQapc578m/HZBHKTbqhoL5JZQjje2+/6Ti5AHh7Gj1/haeJa63Q== dependencies: - chromium-pickle-js "^0.2.0" commander "^5.0.0" glob "^7.1.6" minimatch "^3.0.4" @@ -133,9 +132,9 @@ "@types/node" "*" "@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz#abe102d06ccda1efdf0ed98c10ccf7f36a785a41" + integrity sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== "@types/keyv@^3.1.4": version "3.1.4" @@ -150,14 +149,14 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - version "20.6.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.1.tgz#8b589bba9b2af0128796461a0979764562687e6f" - integrity sha512-4LcJvuXQlv4lTHnxwyHQZ3uR9Zw2j7m1C9DfuwoTFQQP4Pmu04O6IfLYgMmHoOCt0nosItLLZAH+sOrRE0Bo8g== + version "20.6.3" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" + integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== "@types/node@^18.11.18": - version "18.17.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.16.tgz#ee7b103d102787fb1530bfc6d4a1e15014f10938" - integrity sha512-e0zgs7qe1XH/X3KEPnldfkD07LH9O1B9T31U8qoO7lqGSjj3/IrBuvqMeJ1aYejXRK3KOphIUDw6pLIplEW17A== + version "18.17.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.18.tgz#acae19ad9011a2ab3d792232501c95085ba1838f" + integrity sha512-/4QOuy3ZpV7Ya1GTRz5CYSz3DgkKpyUptXuQ5PPce7uuyJAOR7r9FhkmxJfvcNUXyklbC63a+YvB3jxy7s9ngw== "@types/plist@^3.0.1": version "3.0.2" @@ -698,9 +697,9 @@ electron-settings@^4.0.2: write-file-atomic "^3.0.3" electron@^25.0: - version "25.8.1" - resolved "https://registry.yarnpkg.com/electron/-/electron-25.8.1.tgz#092fab5a833db4d9240d4d6f36218cf7ca954f86" - integrity sha512-GtcP1nMrROZfFg0+mhyj1hamrHvukfF6of2B/pcWxmWkd5FVY1NJib0tlhiorFZRzQN5Z+APLPr7aMolt7i2AQ== + version "25.8.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-25.8.2.tgz#5e8ea742b68a7d1427bf78902ec40a5b7231a58b" + integrity sha512-AM1ra6b16EQuO1bJtiA8ZiWqqFLLgVfxD56ykiy+EA5C63Hkx8OmIbe+5JAsLiTwRVvBZ4oCAj6wa2qT+iq8ww== dependencies: "@electron/get" "^2.0.0" "@types/node" "^18.11.18" From 1acc2312b4656dfc2e683a9ba6b20df2d1a64710 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 1 Nov 2023 15:57:25 +0100 Subject: [PATCH 17/18] fix:291 update userAgent for specific browser to avoid not supported platform --- src/controller/mail-window-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controller/mail-window-controller.js b/src/controller/mail-window-controller.js index e9d1bf8..1702101 100644 --- a/src/controller/mail-window-controller.js +++ b/src/controller/mail-window-controller.js @@ -96,7 +96,7 @@ class MailWindowController { }); // and load the index.html of the app. - this.win.loadURL(mainMailServiceUrl, { userAgent: "Chrome" }); + this.win.loadURL(mainMailServiceUrl, { userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/119.0.0.0" }); // Show window handler ipcMain.on("show", (event) => { From 727dbde9c4b50e16f5a30d34c4e7a4d36c6730c0 Mon Sep 17 00:00:00 2001 From: Julian Alarcon Date: Wed, 1 Nov 2023 16:08:46 +0100 Subject: [PATCH 18/18] build: update dependencies --- README.md | 4 +- package.json | 4 +- yarn.lock | 145 +++++++++++++++++++++++++++------------------------ 3 files changed, 81 insertions(+), 72 deletions(-) diff --git a/README.md b/README.md index 79af350..d77bb6f 100644 --- a/README.md +++ b/README.md @@ -102,9 +102,9 @@ Outlook.com account: The main software architecture components and their versions are this: -- [Node.js](https://nodejs.org/en/) version: 20.x +- [Node.js](https://nodejs.org/en/about/previous-releases#release-schedule) version: 20.x LTS - [yarn](https://yarnpkg.com/) version: 1.22.x or newer -- [electron](http://electronjs.org/) version: 25.x +- [electron](https://www.electronjs.org/docs/latest/tutorial/electron-timelines) version: 27.x - [electron-builder](https://www.electron.build/) version: 24.6.x - [electron-settings](https://github.com/nathanbuchar/electron-settings) version: 4.0.2 diff --git a/package.json b/package.json index e872d4e..b3ad921 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "prospect-mail", "productName": "Prospect Mail", - "version": "0.5.1", + "version": "0.5.2", "main": "src/main.js", "description": "Unofficial desktop client for Microsoft Outlook", "homepage": "https://github.com/julian-alarcon/prospect-mail", @@ -69,7 +69,7 @@ "electron-settings": "^4.0.2" }, "devDependencies": { - "electron": "^25.0", + "electron": "^27.0", "electron-builder": "^24.6" }, "build": { diff --git a/yarn.lock b/yarn.lock index 30d619f..4692d5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,9 +16,9 @@ ajv-keywords "^3.4.1" "@electron/asar@^3.2.1": - version "3.2.5" - resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.5.tgz#1557d456e99123cbc0b69a79230199b32dca785a" - integrity sha512-Ypahc2ElTj9YOrFvUHuoXv5Z/V1nPA5enlhmQapc578m/HZBHKTbqhoL5JZQjje2+/6Ti5AHh7Gj1/haeJa63Q== + version "3.2.7" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.7.tgz#bb8117dc6fd0c06a922ae7fb1c0e2d433e35a6e5" + integrity sha512-8FaSCAIiZGYFWyjeevPQt+0e9xCK9YmJ2Rjg5SXgdsXon6cRnU0Yxnbe6CvJbQn26baifur2Y2G5EBayRIsjyg== dependencies: commander "^5.0.0" glob "^7.1.6" @@ -118,9 +118,9 @@ "@types/responselike" "^1.0.0" "@types/debug@^4.1.6": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== + version "4.1.10" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.10.tgz#f23148a6eb771a34c466a4fc28379d8101e84494" + integrity sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA== dependencies: "@types/ms" "*" @@ -132,9 +132,9 @@ "@types/node" "*" "@types/http-cache-semantics@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.2.tgz#abe102d06ccda1efdf0ed98c10ccf7f36a785a41" - integrity sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw== + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.3.tgz#a3ff232bf7d5c55f38e4e45693eda2ebb545794d" + integrity sha512-V46MYLFp08Wf2mmaBhvgjStM3tPa+2GAdy/iqoX+noX1//zje2x4XmrIU0cAwyClATsTmahbtoQ2EwP7I5WSiA== "@types/keyv@^3.1.4": version "3.1.4" @@ -144,44 +144,48 @@ "@types/node" "*" "@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "0.7.33" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.33.tgz#80bf1da64b15f21fd8c1dc387c31929317d99ee9" + integrity sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ== "@types/node@*": - version "20.6.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" - integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== + version "20.8.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.10.tgz#a5448b895c753ae929c26ce85cab557c6d4a365e" + integrity sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w== + dependencies: + undici-types "~5.26.4" "@types/node@^18.11.18": - version "18.17.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.18.tgz#acae19ad9011a2ab3d792232501c95085ba1838f" - integrity sha512-/4QOuy3ZpV7Ya1GTRz5CYSz3DgkKpyUptXuQ5PPce7uuyJAOR7r9FhkmxJfvcNUXyklbC63a+YvB3jxy7s9ngw== + version "18.18.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.8.tgz#2b285361f2357c8c8578ec86b5d097c7f464cfd6" + integrity sha512-OLGBaaK5V3VRBS1bAkMVP2/W9B+H8meUfl866OrMNQqt7wDgdpWPp5o6gmIc9pB+lIQHSq4ZL8ypeH1vPxcPaQ== + dependencies: + undici-types "~5.26.4" "@types/plist@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" - integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.4.tgz#af0c5ffaf30d2302460adc17861021323c1410f9" + integrity sha512-pTa9xUFQFM9WJGSWHajYNljD+DbVylE1q9IweK1LBhUYJdJ28YNU8j3KZ4Q1Qw+cSl4+QLLLOVmqNjhhvVO8fA== dependencies: "@types/node" "*" xmlbuilder ">=11.0.1" "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.2.tgz#8de1b0477fd7c12df77e50832fa51701a8414bd6" + integrity sha512-/4YQT5Kp6HxUDb4yhRkm0bJ7TbjvTddqX7PZ5hz6qV3pxSo72f/6YPRo+Mu2DU307tm9IioO69l7uAwn5XNcFA== dependencies: "@types/node" "*" "@types/verror@^1.10.3": - version "1.10.6" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" - integrity sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ== + version "1.10.8" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.8.tgz#5324a03e0885ffe6fef0192900aec317abbb2997" + integrity sha512-YhUhnxRYs/NiVUbIs3F/EzviDP/NZCEAE2Mx5DUqLdldUmphOhFCVh7Kc+7zlYEExM0P8dzfbJi0yRlNb2Bw5g== "@types/yauzl@^2.9.1": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" - integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + version "2.10.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.2.tgz#dab926ef9b41a898bc943f11bca6b0bad6d4b729" + integrity sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA== dependencies: "@types/node" "*" @@ -435,9 +439,9 @@ chromium-pickle-js@^0.2.0: integrity sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw== ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cli-truncate@^2.1.0: version "2.1.0" @@ -546,9 +550,9 @@ defer-to-connect@^2.0.0: integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== define-data-property@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.0.tgz#0db13540704e1d8d479a0656cf781267531b9451" - integrity sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g== + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== dependencies: get-intrinsic "^1.2.1" gopd "^1.0.1" @@ -696,10 +700,10 @@ electron-settings@^4.0.2: mkdirp "^1.0.4" write-file-atomic "^3.0.3" -electron@^25.0: - version "25.8.2" - resolved "https://registry.yarnpkg.com/electron/-/electron-25.8.2.tgz#5e8ea742b68a7d1427bf78902ec40a5b7231a58b" - integrity sha512-AM1ra6b16EQuO1bJtiA8ZiWqqFLLgVfxD56ykiy+EA5C63Hkx8OmIbe+5JAsLiTwRVvBZ4oCAj6wa2qT+iq8ww== +electron@^27.0: + version "27.0.2" + resolved "https://registry.yarnpkg.com/electron/-/electron-27.0.2.tgz#5465475e4e5c4de7371dc06e1872b46265a340f0" + integrity sha512-4fbcHQ40ZDlqhr5Pamm+M5BF7ry2lGqjFTWTJ/mrBwuiPWu6xhV/RWgUhKBaLqKNfAaNl3eMxV3Jc82gv6JauQ== dependencies: "@electron/get" "^2.0.0" "@types/node" "^18.11.18" @@ -831,25 +835,25 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" get-stream@^5.1.0: version "5.2.0" @@ -924,11 +928,11 @@ has-flag@^4.0.0: integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-intrinsic "^1.1.1" + get-intrinsic "^1.2.2" has-proto@^1.0.1: version "1.0.1" @@ -940,12 +944,12 @@ has-symbols@^1.0.3: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: - function-bind "^1.1.1" + function-bind "^1.1.2" hosted-git-info@^4.1.0: version "4.1.0" @@ -1118,9 +1122,9 @@ keyboardevents-areequal@^0.2.1: integrity sha512-Nv+Kr33T0mEjxR500q+I6IWisOQ0lK1GGOncV0kWE6n4KFmpcu7RUX5/2B0EUtX51Cb0HjZ9VJsSY3u4cBa0kw== keyv@^4.0.0: - version "4.5.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -1322,9 +1326,9 @@ pump@^3.0.0: once "^1.3.1" punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== quick-lru@^5.1.1: version "5.1.1" @@ -1397,9 +1401,9 @@ sanitize-filename@^1.6.3: truncate-utf8-bytes "^1.0.0" sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== semver-compare@^1.0.0: version "1.0.0" @@ -1574,6 +1578,11 @@ typescript@^4.0.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"