Skip to content

Commit

Permalink
Fix issues due to streamkit updates
Browse files Browse the repository at this point in the history
Naozumi committed Dec 20, 2022
1 parent 0750e66 commit 0dc6557
Showing 5 changed files with 453 additions and 6,130 deletions.
Binary file modified .DS_Store
Binary file not shown.
6,537 changes: 434 additions & 6,103 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "remedypro",
"version": "1.1.5",
"version": "1.1.6",
"description": "Unofficial Discord overlay support for MacOS",
"main": "src/main.js",
"scripts": {
34 changes: 12 additions & 22 deletions src/main.js
Original file line number Diff line number Diff line change
@@ -13,6 +13,7 @@ let tray, page, backService, overlay, contextMenu, serverId, channelId
let darwin = true
let overlayUnpinned = false

const notPackaged = !app.isPackaged
nativeTheme.themeSource = 'dark'
if (process.platform === 'darwin') {
app.dock.hide()
@@ -25,20 +26,20 @@ let windowState = {
y: 0
}

function log (message, type) {
function log(message, type) {
message.split('\n').forEach(line => console.log(`Remedy Pro [${type || 'info'}]: ${line}`))
};

client.on('ready', async () => {
log(`logged in with account ${client.user.username}.`)
})

async function initialize () {
async function initialize() {
log(`Starting services\nVersion ${require('../package.json').version}`, 'client')
await pie.initialize(app)
}

function createMenu (tab1, tab2, tab3) {
function createMenu(tab1, tab2, tab3) {
contextMenu = Menu.buildFromTemplate([
{
label: tab1,
@@ -76,7 +77,7 @@ function createMenu (tab1, tab2, tab3) {
return contextMenu
}

async function createWindow () {
async function createWindow() {
log('Creating window...', 'client')
storage.get('screenPosition', function (error, object) {
if (error) throw error
@@ -127,31 +128,20 @@ app.on('ready', async () => {

client.on('voiceStateUpdate', async (oldState, newState) => {
if (oldState.streaming === false && newState.streaming === true) {
// log((!newState.member?.nickname ? newState.user.username : newState.member?.nickname) + ' started streaming!')
if (notPackaged) log((!newState.member?.nickname ? newState.user.username : newState.member?.nickname) + ' started streaming!')
if (overlay) {
overlay.webContents.send('event', { action: 'stream:start', args: { user: (!newState.member?.nickname ? newState.user.username : newState.member?.nickname), userId: (!newState.member?.id ? newState.user.id : newState.member?.id) } })
}
}
if (oldState.streaming === true && newState.streaming === false) {
// log((!oldState.member?.nickname ? oldState.user.username : oldState.member?.nickname) + ' stopped streaming!')
if (notPackaged) log((!oldState.member?.nickname ? oldState.user.username : oldState.member?.nickname) + ' stopped streaming!')
if (overlay) {
overlay.webContents.send('event', { action: 'stream:stop', args: { user: (!oldState.member?.nickname ? oldState.user.username : oldState.member?.nickname), userId: (!oldState.member?.id ? oldState.user.id : oldState.member?.id) } })
}
}
if (newState?.user === client.user) {
if (oldState.selfMute === true && newState.selfMute === false) return
if (oldState.selfMute === false && newState.selfMute === true) return
if (oldState.selfDeaf === true && newState.selfDeaf === false) return
if (oldState.selfDeaf === false && newState.selfDeaf === true) return
if (oldState.serverMute === true && newState.serverMute === false) return
if (oldState.serverMute === false && newState.serverMute === true) return
if (oldState.serverDeaf === true && newState.serverDeaf === false) return
if (oldState.serverDeaf === false && newState.serverDeaf === true) return
if (oldState.selfVideo === true && newState.selfVideo === false) return
if (oldState.selfVideo === false && newState.selfVideo === true) return
if (oldState.streaming === true && newState.streaming === false) return
if (oldState.streaming === false && newState.streaming === true) return
if (newState.channelId !== oldState.channelId && !oldState.channelId) {
if (oldState.channelId === newState.channelId) return
if (!oldState.channelId) {
serverId = newState.guild.id
channelId = newState.channelId
// log(`User joined voice channel:\nServer ID: ${serverId}\nChannel ID: ${channelId}`, 'voiceStateUpdate')
@@ -170,7 +160,7 @@ client.on('voiceStateUpdate', async (oldState, newState) => {
nodeIntegration: true,
contextIsolation: false,
zoomFactor: 0.85,
devTools: false
devTools: notPackaged
}
})
overlay.setSkipTaskbar(!darwin)
@@ -186,7 +176,7 @@ client.on('voiceStateUpdate', async (oldState, newState) => {
log('Overlay loaded:', 'voiceStateUpdate')
log(url, 'voiceStateUpdate')
await overlay.webContents.insertCSS(`
.voice-container {
#root {
-webkit-app-region: drag;
user-select: none;
pointer-events: none;
@@ -218,7 +208,7 @@ preferences.on('save', () => {
}
})

function loginSetup () {
function loginSetup() {
const prompt = new BrowserWindow({
title: 'Remedy login prompt',
titleBarStyle: 'hidden',
10 changes: 6 additions & 4 deletions src/overlayScript.js
Original file line number Diff line number Diff line change
@@ -35,8 +35,9 @@ console.log = function (text, input) {
spans = document.getElementsByTagName('span')
const id = input.data.user.id; const name = input.data.nick; uState = input.data.voice_state
for (let i = 0; i < spans.length; i++) {
const attributes = spans[i].attributes['data-reactid'].value
if (attributes.match(/\d{18}/g)[0] === id) {
let element = document.getElementsByClassName(spans[0].className)[i].parentElement
let imgSrc = element.parentElement.getElementsByTagName('img')[0].src
if (imgSrc.match(/\d{18}/g)[0] === id) {
text = name
if (uState.self_mute || uState.mute) {
text += muteicon
@@ -68,8 +69,9 @@ ipcRenderer.on('event', (_, msg) => {
break
}
for (let i = 0; i < spans.length; i++) {
const attributes = spans[i].attributes['data-reactid'].value
if (attributes.match(/\d{18}/g)[0] === args.userId) {
let element = document.getElementsByClassName(spans[0].className)[i].parentElement
let imgSrc = element.parentElement.getElementsByTagName('img')[0].src
if (imgSrc.match(/\d{18}/g)[0] === args.userId) {
text = args.user
if (uState.self_mute || uState.mute) {
text += muteicon

1 comment on commit 0dc6557

@Naozumi520
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This commit fixed #11.

Please sign in to comment.