Skip to content

Commit

Permalink
added xosms, fallback to global ua, navigation provider added + back …
Browse files Browse the repository at this point in the history
…button for non origin navigations
  • Loading branch information
Venipa committed Nov 23, 2021
1 parent 7756924 commit 8820a15
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 7 deletions.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ytmdesktop2",
"version": "0.4.14",
"version": "0.4.15",
"private": false,
"author": "Venipa <[email protected]>",
"license": "MIT",
Expand Down Expand Up @@ -40,7 +40,8 @@
"vue-tailwind": "^2.1.3",
"winston": "^3.3.3",
"winston-daily-rotate-file": "^4.5.2",
"winston-transport": "^4.4.0"
"winston-transport": "^4.4.0",
"xosms": "^0.2.0"
},
"devDependencies": {
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8",
Expand Down
7 changes: 4 additions & 3 deletions src/app/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ export default async function() {
protocol.registerSchemesAsPrivileged([
{ scheme: "app", privileges: { secure: true, standard: true } },
]);
app.userAgentFallback = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0";

/**
*
* @param {Electron.BrowserWindowConstructorOptions | undefined} options
Expand Down Expand Up @@ -78,7 +80,7 @@ export default async function() {
},
...(options || {}),
});
const stringifiedUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0";
win.webContents.session.setUserAgent(app.userAgentFallback);
win.webContents.session.webRequest.onBeforeSendHeaders(
{
urls: ["https://accounts.google.com/*"],
Expand All @@ -87,8 +89,7 @@ export default async function() {
const newRequestHeaders = {
...(details.requestHeaders || {}),
...{
"User-Agent":
stringifiedUA,
"User-Agent": app.userAgentFallback,
},
};
callback({ requestHeaders: newRequestHeaders });
Expand Down
29 changes: 29 additions & 0 deletions src/app/plugins/navigationProvider.plugin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { App } from "electron";
import { BaseProvider, AfterInit } from "../utils/baseProvider";
import { defaultUrl } from "../utils/devUtils";
import { IpcContext, IpcOn } from "../utils/onIpcEvent";

@IpcContext
export default class EventProvider extends BaseProvider implements AfterInit {
constructor(private app: App) {
super("navigation");
}
async AfterInit() {
let lastNavigatioIsSameOrigin = true;
this.views.youtubeView.webContents.on("did-navigate-in-page", (ev, url) => {
const isHome = !!url.match(defaultUrl);
this.logger.debug(`isHome :: ${isHome}, ${url}`);
if (isHome !== lastNavigatioIsSameOrigin) {
lastNavigatioIsSameOrigin = isHome;
this.windowContext.sendToAllViews("nav.same-origin", isHome);
}
});
}

@IpcOn("action:nav.same-origin", {
debounce: 1000,
})
private async __onHomeAction() {
await this.views.youtubeView.webContents.loadURL(defaultUrl);
}
}
1 change: 1 addition & 0 deletions src/assets/icons/home.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 14 additions & 2 deletions src/views/youtube/toolbar-options.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<template>
<div class="flex flex-row items-center space-x-2">
<div @click="() => action('nav.same-origin')" class="control-button relative w-4 h-4" v-if="!isHome">
<HomeIcon></HomeIcon>
</div>
<div @click="() => toggleSetting('discord.enabled')" class="control-button relative" :class="{ 'opacity-100': discordEnabled, 'opacity-70': !discordEnabled }">
<RPCIcon></RPCIcon>
<div v-if="discordConnected" class="p-0.5 rounded-full bg-green-500 absolute top-0 right-0 w-3 h-3 flex items-center justify-center">
Expand All @@ -19,18 +22,23 @@
<script>
import { defineComponent, ref } from "@vue/runtime-core";
import RPCIcon from "@/assets/icons/discord-rpc.svg";
import HomeIcon from "@/assets/icons/home.svg";
const discordConnected = ref(false),
discordEnabled = ref(!!window.settings.get("discord.enabled"));
const isHome = ref(true);
const subscribers = [];
subscribers.push(
window.ipcRenderer.on("discord.connected", () => (discordConnected.value = true)),
window.ipcRenderer.on("discord.disconnected", () => (discordConnected.value = false)),
window.api.on("nav.same-origin", (ev, sameOrigin) => {
if (sameOrigin !== isHome.value) isHome.value = !!sameOrigin;
}),
window.ipcRenderer.on("settingsProvider.change", (ev, key, value) => {
if (key === "discord.enabled" && value !== discordEnabled.value) discordEnabled.value = !!value;
})
);
export default defineComponent({
components: { RPCIcon },
components: { RPCIcon, HomeIcon },
methods: {
onSettings() {
window.api.settings.open();
Expand All @@ -42,14 +50,18 @@ export default defineComponent({
return {
discordEnabled,
discordConnected,
isHome,
async toggleSetting(key) {
const setting = await window.api.settingsProvider.update(key, !window.settings.get(key));
if (key === "discord.enabled") discordEnabled.value = setting;
},
action(actionParam) {
window.api.emit(`action:${actionParam}`);
},
};
},
unmounted() {
subscribers.forEach(window.ipcRenderer.off);
subscribers.filter(x => !!x).forEach(window.ipcRenderer.off);
},
});
</script>
Expand Down
12 changes: 12 additions & 0 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3132,6 +3132,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz#0a80de4cdf62e1770bb46a30d884fc8d633e3958"
integrity sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==

cargo-cp-artifact@^0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/cargo-cp-artifact/-/cargo-cp-artifact-0.1.5.tgz#2c35f7d658f22acfe9b1fa2774344d9a389efd14"
integrity sha512-mWwNdfrEyvMPxDHoAhbCYwQBNP3RyW9bV+yi5VaaHtVZqoDXbGU5JQF5qG7s65SJhqP7HIVAQD7wZM6Fk2COuw==

case-sensitive-paths-webpack-plugin@^2.3.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4"
Expand Down Expand Up @@ -11366,6 +11371,13 @@ xmldom@^0.5.0:
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.5.0.tgz#193cb96b84aa3486127ea6272c4596354cb4962e"
integrity sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==

xosms@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/xosms/-/xosms-0.2.0.tgz#837d60c30645e1d47e2f99257e20f4d36b9f1381"
integrity sha512-AURWZrkVgyjAXZb+uORhRNPucH5qeTvNcmLOIX0G3ugibU2FYRmMGZcP7+tI8P9xUD3kemZ69d69VPg2hcTVqA==
dependencies:
cargo-cp-artifact "^0.1.5"

xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
Expand Down

0 comments on commit 8820a15

Please sign in to comment.