Compare commits
3 Commits
qt6
...
dependency
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3e939c4592 | ||
|
|
27faed4a3a | ||
|
|
10fff86ca4 |
@@ -45,6 +45,7 @@ set(discord-screenaudio_SRC
|
|||||||
src/log.cpp
|
src/log.cpp
|
||||||
src/userscript.cpp
|
src/userscript.cpp
|
||||||
src/centralwidget.cpp
|
src/centralwidget.cpp
|
||||||
|
src/dependencycheck.cpp
|
||||||
resources.qrc
|
resources.qrc
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
5636
assets/arrpc.js
5636
assets/arrpc.js
File diff suppressed because one or more lines are too long
@@ -1,65 +1 @@
|
|||||||
setTimeout(e => {
|
setTimeout((i=>{let t,a,s,e={};new WebSocket("ws://127.0.0.1:1337").onmessage=async i=>{if(msg=JSON.parse(i.data),console.log(msg),!t){const i=window.webpackChunkdiscord_app.push([[Symbol()],{},i=>i]),e=i.c;window.webpackChunkdiscord_app.pop();for(const i in e){let a=e[i].exports;if(a=a&&(a.Z??a.ZP),a&&a.register&&a.wait){t=a;break}}const n=i.m;for(const t in n)if(n[t].toString().includes("getAssetImage: size must === [number, number] for Twitch")){const s=i(t),e=Object.values(s).find((i=>"function"==typeof i&&i.toString().includes("apply(")));a=async(i,t)=>(await e(i,[t,void 0]))[0];break}for(const t in n)if(n[t].toString().includes("e.application={")){const a=i(t),e=Object.values(a).find((i=>"function"==typeof i&&i.toString().includes("e.application={")));s=async i=>{let t={};return await e(t,i),t.application};break}}if(msg.activity?.assets?.large_image&&(msg.activity.assets.large_image=await a(msg.activity.application_id,msg.activity.assets.large_image)),msg.activity?.assets?.small_image&&(msg.activity.assets.small_image=await a(msg.activity.application_id,msg.activity.assets.small_image)),msg.activity){const i=msg.activity.application_id;e[i]||(e[i]=await s(i));const t=e[i];msg.activity.name||(msg.activity.name=t.name)}t.dispatch({type:"LOCAL_ACTIVITY_UPDATE",...msg})}}),1e4);
|
||||||
let Dispatcher, lookupAsset, lookupApp, apps = {};
|
|
||||||
|
|
||||||
const ws = new WebSocket('ws://127.0.0.1:1337'); // connect to arRPC bridge websocket
|
|
||||||
ws.onmessage = async x => {
|
|
||||||
msg = JSON.parse(x.data);
|
|
||||||
console.log(msg);
|
|
||||||
|
|
||||||
if (!Dispatcher) {
|
|
||||||
const wpRequire = window.webpackChunkdiscord_app.push([[Symbol()], {}, x => x]);
|
|
||||||
const cache = wpRequire.c;
|
|
||||||
window.webpackChunkdiscord_app.pop();
|
|
||||||
|
|
||||||
for (const id in cache) {
|
|
||||||
let mod = cache[id].exports;
|
|
||||||
mod = mod && (mod.Z ?? mod.ZP);
|
|
||||||
|
|
||||||
if (mod && mod.register && mod.wait) {
|
|
||||||
Dispatcher = mod;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const factories = wpRequire.m;
|
|
||||||
for (const id in factories) {
|
|
||||||
if (factories[id].toString().includes('getAssetImage: size must === [number, number] for Twitch')) {
|
|
||||||
const mod = wpRequire(id);
|
|
||||||
|
|
||||||
const _lookupAsset = Object.values(mod).find(e => typeof e === "function" && e.toString().includes("apply("));
|
|
||||||
lookupAsset = async (appId, name) => (await _lookupAsset(appId, [name, undefined]))[0];
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const id in factories) {
|
|
||||||
if (factories[id].toString().includes(`e.application={`)) {
|
|
||||||
const mod = wpRequire(id);
|
|
||||||
|
|
||||||
const _lookupApp = Object.values(mod).find(e => typeof e === "function" && e.toString().includes(`e.application={`));
|
|
||||||
lookupApp = async appId => {
|
|
||||||
let socket = {};
|
|
||||||
await _lookupApp(socket, appId);
|
|
||||||
return socket.application;
|
|
||||||
};
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (msg.activity?.assets?.large_image) msg.activity.assets.large_image = await lookupAsset(msg.activity.application_id, msg.activity.assets.large_image);
|
|
||||||
if (msg.activity?.assets?.small_image) msg.activity.assets.small_image = await lookupAsset(msg.activity.application_id, msg.activity.assets.small_image);
|
|
||||||
|
|
||||||
if (msg.activity) {
|
|
||||||
const appId = msg.activity.application_id;
|
|
||||||
if (!apps[appId]) apps[appId] = await lookupApp(appId);
|
|
||||||
|
|
||||||
const app = apps[appId];
|
|
||||||
if (!msg.activity.name) msg.activity.name = app.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
Dispatcher.dispatch({ type: "LOCAL_ACTIVITY_UPDATE", ...msg }); // set RPC status
|
|
||||||
};
|
|
||||||
}, 10000)
|
|
||||||
@@ -30,7 +30,7 @@ echo_status "Patching arRPC"
|
|||||||
sed -i 's/"type": "module",//' package.json
|
sed -i 's/"type": "module",//' package.json
|
||||||
|
|
||||||
echo_status "Building arRPC"
|
echo_status "Building arRPC"
|
||||||
pnpm exec ncc build src/index.js
|
pnpm exec ncc build -m src/index.js
|
||||||
|
|
||||||
echo_status "Copying built file"
|
echo_status "Copying built file"
|
||||||
cp -v ./dist/index.js ../../assets/arrpc.js
|
cp -v ./dist/index.js ../../assets/arrpc.js
|
||||||
|
|||||||
10
src/dependencycheck.cpp
Normal file
10
src/dependencycheck.cpp
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#include "dependencycheck.h"
|
||||||
|
#include "pipewire-0.3/pipewire/version.h"
|
||||||
|
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
|
void checkDependencies() {
|
||||||
|
QString versionPipewire(pw_get_library_version());
|
||||||
|
QMessageBox::information(nullptr, "Dependency Check",
|
||||||
|
QString("Pipewire: v%1").arg(versionPipewire));
|
||||||
|
}
|
||||||
3
src/dependencycheck.h
Normal file
3
src/dependencycheck.h
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
void checkDependencies();
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
#include "dependencycheck.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "virtmic.h"
|
#include "virtmic.h"
|
||||||
|
|
||||||
@@ -49,6 +50,8 @@ int main(int argc, char *argv[]) {
|
|||||||
"--remote-debugging-port=9222 " +
|
"--remote-debugging-port=9222 " +
|
||||||
qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
|
qgetenv("QTWEBENGINE_CHROMIUM_FLAGS"));
|
||||||
|
|
||||||
|
checkDependencies();
|
||||||
|
|
||||||
MainWindow w(parser.isSet(notifySendOption));
|
MainWindow w(parser.isSet(notifySendOption));
|
||||||
w.show();
|
w.show();
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ MainWindow::MainWindow(bool useNotifySend, QWidget *parent)
|
|||||||
m_centralWidget = new CentralWidget(this);
|
m_centralWidget = new CentralWidget(this);
|
||||||
setCentralWidget(m_centralWidget);
|
setCentralWidget(m_centralWidget);
|
||||||
setupTrayIcon();
|
setupTrayIcon();
|
||||||
|
setMinimumSize(800, 300);
|
||||||
if (m_settings->contains("geometry")) {
|
if (m_settings->contains("geometry")) {
|
||||||
restoreGeometry(m_settings->value("geometry").toByteArray());
|
restoreGeometry(m_settings->value("geometry").toByteArray());
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user