#๐Ÿ‘พ-core-development

1 messages ยท Page 42 of 1

cunning canyon
#

hmm but then not all usrbg user have faketheme in bio ๐Ÿค”

#

ig i give up

lime stone
#

xD

cunning bobcat
#

dickriding vencord

sudden pilot
#

that's insane

charred monolithBOT
charred monolithBOT
charred monolithBOT
cedar leaf
#

@turbid hatch yo buddy, do you want me to make a pr to push a github ci config for the backend repo? so u could build ur own officials images

turbid hatch
#

not really bothered to build official ones

#

they're built on the server when needed and honestly self-hosting isnt really officially supported

#

its just an option

cedar leaf
#

aight, fair enough

loud prairie
#

what would i need to modify in the messageactions plugin to make it doubleclick to reply instead of edit

cunning canyon
charred monolithBOT
#

Enables the "Browse Channels" button at the top of the channel list for non-community servers (or servers where it's disabled if being a community server isn't required)

  • Browse Channels, and individually enable and disable channels
  • Add the "Show all channels" checkbox to the server context menu

I have not found a similar plugin for any other platforms.

untold carbon
#

i still wanna go ham with :has some day
wasnt a thing when i last did themeing ;w;

charred monolithBOT
#

Adds a character counter to the chat box.

  • Would start off displaying 2000 limit, even with Nitro, unless disabled with an active subscription.
  • Would switch to 4000 once message is over 2000 if subscription is active, unless previous setting is disabled, in which case, it will always display 4000 when subscription is active
  • Option to display characters typed, characters remaining, both at once, or swap automatically to characters remaining at a certain threshold.
  • Would also funct...
charred monolithBOT
austere talon
charred monolithBOT
#

Adds the ability to add/remove multiple cursors in the input box.

  • Click somewhere in the input box while holding [ctrl] to add a new cursor.
  • Click on a pre-existing cursor while holding [ctrl] to remove it.
  • Clicking anywhere without [ctrl] being held will remove all cursors.
  • A minimum of 1 cursor must exist, attempting to remove the last cursor will not work.

What's the purpose of this plugin?
The purpose of this plugin is to make it easier to edit a bunch of repeated text...

untold carbon
#

mhm i know

charred monolithBOT
pallid lava
charred monolithBOT
pallid lava
#

nice

jagged cloak
#

there will be compromises because my ass is not remaking entire react components

#

just so the message can stay if it gets deleted

#

something something patch message delete idk

pallid lava
jagged cloak
#

my downfall is finding anything in discord code

pallid lava
jagged cloak
#

ik

#

they won't finish it for 6 months to a year cause its not making them money

pallid lava
#

true.......

verbal pumice
#

when was the last time discord released a non nitro feature

pallid lava
charred monolithBOT
austere talon
pallid lava
wooden crag
#

yes i agree

||all i can hear is the windows notification sound echoing in my mind||

jagged cloak
#

last time i tried it cried about it

#

time to reproduce said error so im not called insane

austere talon
#

god how is google so terrible

desert cosmos
#

throw pc out of window

#

will fix your issues

jagged cloak
#

google is slo

austere talon
#

takes 5 million years to approve extension updates so users have a terrible experience
i want to selfhost to solve this issue but "Linux is the only platform where Chrome users can install extensions that are hosted outside of the Chrome Web Store"

#

fuck you google

jagged cloak
#

tell them to stop use google :P

austere talon
#

Firefox isn't any better

jagged cloak
#

true

austere talon
charred monolithBOT
jagged cloak
#

actually i will abuse MESSAGE_CREATE shiddohwell

charred monolithBOT
#

I have it enable and barely use it because it's terrible compared to the Pin plugin.
Don't want to have to click an extra button to see those I added as favorite, then I might as well just keep using the normal list as they're not visible anyway unless you click that favorite button.

jagged cloak
#

noppppp

austere talon
#

it's trying to clone some prototypes or whatever

#

just remove the prototypes

jagged cloak
#

oh clean is an actual function wait

austere talon
#

if you need them again later, make a new message instance

austere talon
jagged cloak
#

bye

austere talon
#

const plainObjectMessage = {...message}

#

might work

jagged cloak
#

i already do that kinda guh

#

just taking certain props from message and storing them but you need to remake to use Message react component

#

which takes stupit channel objects instead of ids so so limited explode

austere talon
#

you just need to make a message instance

#

I'll look in a bit

jagged cloak
#

you mean this Message?

charred monolithBOT
jagged cloak
#

funny i dont even use favorite experiment even though i have it on because clicking servers muscle memory

jagged cloak
#

(i am stupid)

knotty horizon
#

can plugin dev questions go here? if not where should they go

jagged cloak
#

yeah

#

i was just bugging ven about a plugin its fine

knotty horizon
#

lol ok

#

im trying to use the node crypto library but it doesnt seem to work for plugins

#

its used in the updater though

#

is there any alternative

#

had this same issue with vendetta because it doesnt exist in hermes

austere talon
#

no node

knotty horizon
#

yea i looked it that it doesnt have what I want

austere talon
#

what do u want

knotty horizon
#

need createCipheriv, createDecipheriv, pbkdf2Sync, and randomBytes

austere talon
#

what for

knotty horizon
#

message encryption and decryption

#
function encrypt(text) {
    const salt = randomBytes(8);
    const block = randomBytes(16);

    const pass = Buffer.from("0dc9820f1ab911688e9432c05c6b9dpublic", "utf-8");
    const key = pbkdf2Sync(pass, salt, 30000, 16, "sha256");
    const cipher = createCipheriv("aes-128-cbc", key, block, {});
    cipher.setAutoPadding(true);
    let n = cipher.update(text, "utf-8");
    const final = cipher.final();

    return (
        (n = Buffer.concat(
            [n, final],
            n.length + final.length
        )),
        [
            "ec2",
            salt.toString("base64"),
            block.toString("base64"),
            n.toString("base64")
        ].join(".")
    );
}

function decrypt(text) {
    const spl = text.split(".");
    const one = Buffer.from(spl[1], "base64");
    const two = Buffer.from(spl[2], "base64");
    const three = Buffer.from(spl[3], "base64");
    const pass = Buffer.from("0dc9820f1ab911688e9432c05c6b9dpublic", "utf-8");

    const key = pbkdf2Sync(pass, one, 30000, 16, "sha256");
    const cipher = createDecipheriv("aes-128-cbc", key, two);
    cipher.setAutoPadding(true);
    let n = cipher.update(three, undefined, "utf-8");
    return (n += cipher.final()), [n, "pubdef"];
}
#

"reversed" an older powercord plugin

austere talon
#

Use the generateKey() method of the
SubtleCrypto interface to generate a new key (for symmetric algorithms)
or key pair (for public-key algorithms).

The Crypto.getRandomValues() method lets you get cryptographically strong random values.
The array given as the parameter is filled with random numbers (random in its cryptographic meaning).

knotty horizon
#

I want to make it compatible with the other versions, which is why I'm using the same stuff

#

I'll look thanks

#

how would I use SubtleCrypto

#

just window.SubtleCrypto ?

austere talon
knotty horizon
#

looks like its just self.crypto.subtle

austere talon
#

self being window

charred monolithBOT
charred monolithBOT
knotty horizon
#

how do I change the content of a received message

#

took this part from another plugin but it doesnt change

lime stone
knotty horizon
austere talon
#

that removes the 'this' context from the method so 'this' will refer to the global so this.updateMessage won't exist

lime stone
#

go to hospital and they will help!

#

*support

turbid hatch
#

HOSPITAL

#

VENCORD HOSPITAL

lime stone
#

your vencord is broken!

charred monolithBOT
austere talon
#

turns out clipboard can only copy pngs

#

so bad

woeful sable
#

WHAT HAPPENED

#

you are leaving discord

#

your account will be deleted soon

#

god bless

stiff cove
#

"a blessing from the lord"

charred monolithBOT
austere talon
#

discord dum

charred monolithBOT
limber skiff
#

can you fix dumb fake nitro emoji and stickers name param containing spaces @austere talon

cunning bobcat
#

just url encode

limber skiff
#

like &name=this stuped&blabla

limber skiff
limber skiff
#

ou

#

oh

cunning bobcat
austere talon
limber skiff
#

didnt see it mb

austere talon
#

nookies just forgot it in one place

limber skiff
#

ye

cunning bobcat
#

i was gonna comment on emojis but i realised they cant have spaces bleh

austere talon
#

ye

jagged cloak
cunning bobcat
austere talon
#

trolleyzoom

jagged cloak
#

object object about using custom emoji

austere talon
#

what

limber skiff
austere talon
#

how do yall get object object

jagged cloak
#

im just messing

cunning bobcat
austere talon
#

massive skill issue

desert cosmos
#

anime girlfriend

austere talon
#

ive never gotten object object

limber skiff
#

cuz we have nitro ven

cunning bobcat
red rock
austere talon
#

and the pr fixing it kinda misses the point

cunning bobcat
limber skiff
#

that's why I didnt catch the error I think

jagged cloak
#

it was when someone sent a sticker from a different server you werent in and freenitro rendered it as real sticker

austere talon
#

someone send

austere talon
limber skiff
cunning bobcat
#

ven has nitro though

austere talon
#

i changed my premiumType to 0

#

with console

cunning bobcat
#

oh

austere talon
#

the reason it happens is because the code is like react node + "banana" but this only works if the node is a string

limber skiff
#

how fix

austere talon
#

the pr uses .concat but that only works because it's an array and isn't robust

#

the correct fix is to wrap it

cunning bobcat
#

i love me some '[object Object]banana'

austere talon
#
addInfoText(node: ReactNode) {
  return [...(Array.isArray(node) ? node : [node]), " Your text"]
}
#

smth like this should work

cunning bobcat
#

remember that day discord rendered search result message contents as [Object object]?

red rock
#

I just realized this D:

austere talon
#

emojis

#

why cant u see them lol

red rock
#

Linux Moment

cunning bobcat
austere talon
#

WebExtError: Signing is still pending, you will receive an email once there is an update on the status of your submission. If you donโ€™t see the email after 24 hours, please check your Spam folder.
at file:///opt/hostedtoolcache/node/19.8.1/x64/lib/node_modules/web-ext/lib/cmd/sign.js:143:13
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Program.execute (file:///opt/hostedtoolcache/node/19.8.1/x64/lib/node_modules/web-ext/lib/program.js:263:7)
at async file:///opt/hostedtoolcache/node/19.8.1/x64/lib/node_modules/web-ext/bin/web-ext.js:13:1

#

why did mozilla and google both decide to start being cringe at the same time

red rock
jagged cloak
#

lol

cunning bobcat
red rock
#

Oh also @austere talon you inspired my pc name

cunning bobcat
#

both my computers use arch

...except my shitty school laptop

cunning bobcat
limber skiff
#

@austere talon why doesnt using concat work

#

array has concat method

#

string too

austere talon
limber skiff
#

oh

austere talon
#

it may also be a number, an object, or even null

#

using .concat might work but isn't very robust

limber skiff
#

right

cunning bobcat
#

WHY CAN IT BE NULL

austere talon
#

to render nothing?

cunning bobcat
#

i- okay fair

red rock
austere talon
cunning bobcat
woeful sable
quick ibex
cunning bobcat
#

send megufont

austere talon
quick ibex
#

oops

#

its obfuscated

#

like

#

the name is

austere talon
cunning bobcat
#

can you send me a css snippet for megufont

quick ibex
austere talon
#

megufont on google fonts when

quick ibex
cunning bobcat
#

thanks

woeful sable
#

hop on

cunning bobcat
#

my eyes

#

my eyes are bleeding

#

what the fuck is this font

jagged cloak
#

good

red rock
#

@woeful sable luv you

woeful sable
#

fire

cunning bobcat
#

HORROR

red rock
#

fire

woeful sable
stiff cove
#

it is

#

00:00

#

for me

#

neat

cunning bobcat
#

same

#

๐Ÿค

stiff cove
#

๐Ÿค

red rock
#

๐Ÿค

charred monolithBOT
#

We might be able store it in the same folder as the discord install, but we can definitely store it within %appdata%/Vencord/settings and have separate folders for each version of discord similar to BetterDiscord.

We can start out with default folder names for recognized installations (stable, ptb, canary, etc.) and for custom installations we could either have a default generic folder name appended with an incrementing number and give the user an option in the settings to change it and...

woeful sable
#

it's not a limitation it's a feature

#

maybe add an option to customise the install path? that could be stored in discord's settings.json

charred monolithBOT
charred monolithBOT
woeful sable
#

Vencor Desktop

austere talon
#

true

charred monolithBOT
charred monolithBOT
frail skyBOT
#
Bad Patches

WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/

Bad Starts

None

Discord Errors

JSHandle@error

charred monolithBOT
frail skyBOT
#
Bad Patches

WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/

Bad Starts

None

Discord Errors

JSHandle@error

solemn spoke
# charred monolith

@austere talon shouldn't you just distribute a flatpak for the desktop version instead of building for every linux package?

austere talon
limber skiff
#

DIDNT LAST A DAY

austere talon
#

im so mad bro

#

i tweeted about this

#

i think discord saw my tweet and got upset i roasted them

solemn spoke
austere talon
grave mangoBOT
solemn spoke
austere talon
#

why would I not provide them

#

it's incredibly simple

solemn spoke
#

wdym

#

provide a flatpak or provide the .deb .rpm packages

austere talon
#

.deb, .rpm & .AppImage

solemn spoke
#

ah

#

wait why appimage

austere talon
#

use your brain please

grave mangoBOT
# austere talon https://github.com/Vencord/Desktop/blob/main/package.json#L41-L58

**package.json: **Lines 41-58

"linux": {
    "category": "Network",
    "maintainer": "vendicated+vencord-desktop@riseup.net",
    "target": [
        "deb",
        "tar.gz",
        "rpm",
        "AppImage",
        "pacman"
    ],
    "desktop": {
        "Name": "Vencord Desktop",
        "GenericName": "Internet Messenger",
        "Type": "Application",
        "Categories": "Network;InstantMessaging;Chat;",
        "Keywords": "discord;vencord;electron;chat;"
    }
},
austere talon
#

supporting a specific target just means adding it in the target array

#

that's all i gotta do

#

so might as well

charred monolithBOT
austere talon
#

s.set("MIN_WIDTH", 940);
s.set("MIN_HEIGHT", 500);

#

is that what discord uses?

#

oh yeah, neat

#

whats this discord

austere talon
#

maybe its not a thing :P

#

idk

austere talon
#

typescript?

#

i didnt type their thing properly

cunning canyon
#

Property 'del' does not exist on type '{ set(setting: string, v: any): void; }'.

austere talon
#

ah it doesn't have it

#
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// TODO: sync fs operations could cause slowdown and/or freezes, depending on usage
//       if this is fine, remove this todo
class Settings {
  constructor(root) {
    this.path = _path.default.join(root, 'settings.json');
    try {
      this.lastSaved = _fs.default.readFileSync(this.path);
      this.settings = JSON.parse(this.lastSaved);
    } catch (e) {
      this.lastSaved = '';
      this.settings = {};
    }
    this.lastModified = this._lastModified();
  }
  _lastModified() {
    try {
      return _fs.default.statSync(this.path).mtime.getTime();
    } catch (e) {
      return 0;
    }
  }
  get(key, defaultValue = false) {
    if (this.settings.hasOwnProperty(key)) {
      return this.settings[key];
    }
    return defaultValue;
  }
  set(key, value) {
    this.settings[key] = value;
  }
  save() {
    if (this.lastModified && this.lastModified !== this._lastModified()) {
      console.warn('Not saving settings, it has been externally modified.');
      return;
    }
    try {
      const toSave = JSON.stringify(this.settings, null, 2);
      if (this.lastSaved != toSave) {
        this.lastSaved = toSave;
        _fs.default.writeFileSync(this.path, toSave);
        this.lastModified = this._lastModified();
      }
    } catch (err) {
      console.warn('Failed saving settings with error: ', err);
    }
  }
}
exports.default = Settings;
module.exports = exports.default;
#

disregard what i said then

pallid lava
pallid lava
#

yooo

cunning canyon
#

yoooooooooooo

austere talon
#

you're in luck

#

I did the fastest merge in the west because I needed an update to test my updater changes

#

they dont work :(

woeful sable
#

merge 836 to test ur next changes /j

pallid lava
#

i wonder if itd be possible to force discordโ€™s titlebar on linux

austere talon
#

doesnt matter :P

charred monolithBOT
austere talon
#

okay it works now tho we ball

#

:P

pallid lava
#

tiny discord achieved

austere talon
#

lmao this is bad

pallid lava
austere talon
#

but yeah it works

austere talon
#

show?

charred monolithBOT
cunning canyon
pallid lava
austere talon
charred monolithBOT
charred monolithBOT
#
[Vencord/Desktop] New tag created: v0\.1\.4
brazen phoenix
charred monolithBOT
austere talon
#

if you're talking about \i, that's our own regex escape sequence that matches identifiers

brazen phoenix
#

ah I see

grave mangoBOT
austere talon
#

yeah!

#

a lot of old code hasn't been migrated yet

#

you could also migrate from options to settings if u want

#

it's identical api just strongly typed, if u look at other plugins using it you'll see how it works

charred monolithBOT
austere talon
#

git pp

desert cosmos
#

we all love git

woeful sable
#

pp () {
}

#

wtf how did that send

#

discord

desert cosmos
#

i have a question about this little shit

when i change its z-index

.container-24rGVp {
  z-index: 1;
}

or some shit it works fine, but when its moving to the top it goes below the channel names and basically breaks is there any way to prevent it without crazy coding skills?

#

(below) thats what i mean

woeful sable
#
pp() {
    if [ $RANDOM[-1] -gt 5 ]; then
      git pull && git push
    else
      git push && git pull
    fi
}
#

$RANDOM[-1]

#

sh users will love

desert cosmos
charred monolithBOT
austere talon
#

btw u can now use VencordDesktop for Vencord plugin dev which I highly recommend because it reloads way faster

#

just need to set location in settings

woeful sable
#

fire

#

vencord-desktop-bin when

austere talon
#

uhh

#

once u make :P

woeful sable
#

bet

#

I think it could be automated from CI

#

gh actiosn

jagged cloak
#

whar

austere talon
#

yeah but u gotta setup arch somehow

#

kinda deranged

jagged cloak
#

wouldnt vc desktop know its own location

woeful sable
#

no like

austere talon
woeful sable
#

updating the pkgbuild ver

austere talon
#

this is for loading your own build

woeful sable
#

and hash

jagged cloak
#

oh

#

g

austere talon
woeful sable
#

I will

#

u will have my aur token

austere talon
#

ah fair enough u can just manually edit this

#

yeah could actually automate

austere talon
#

this toggle is only visible on discord desktop

#

i can just do it in some different commit dw

woeful sable
#

I will put my email in plaintext

austere talon
#

am i being stupid or is this logic not correct?

#
if (!invertShiftReply) return !holdingShift && isExcempt
#

so if invertShiftReply is off you can never mention people

#

oh wait ig thats correct yeah

woeful sable
#

I will use .AppImage trolley

austere talon
#

NO

#

for the aur package u mean?

woeful sable
#

yeah but not

#

.tar.gz

austere talon
#

yeah use .tar.gz lmao

#

u can steal the desktop file from the git pkg

woeful sable
#

i already did

charred monolithBOT
austere talon
#

@brazen phoenix using ur pr, how would I mention users using the quickreply plugin?

#

doesnt seem possible

#

Maybe add an additional setting for the plugin? or maybe just do not make NoReplyMention alter quick reply and instead add a setting to quickreply for mentionByDefault?

brazen phoenix
#

the latter sounds good

charred monolithBOT
woeful sable
#

adding licenses to dependencies and using /usr/share/licenses/common/GPL3/license.txt

austere talon
#

no need to add that dependency

#

licenses is dependency of base

#

anything in base and base-devel (git, make, gcc, grep, sed...) u don't need to add as dep

charred monolithBOT
woeful sable
#
dzshn:vencord-desktop-bin/ % ls pkg/vencord-desktop-bin/opt/vencord
VencordDesktop-0.1.4.tar.gz

makepkg ru ok

#

doesnt it extract automatically

austere talon
#

i think it should?

#

show what u got

woeful sable
#

yeah duh I included the extension

fresh lodge
#

I saw nothing

thorn sentinel
woeful sable
#

qhar

fresh lodge
#

I see something

woeful sable
#

do I submit the package myself and later give u the token to use in gh actions or do u upload it

austere talon
#

u can submit it

#

u dont even need to give me ur token

#

u can just add me as maintainer i think

austere talon
#

we could use

woeful sable
#

yea i will use

#

its only on kinetic apparently

#

which is latest i guess

cunning canyon
thorn sentinel
#

now i know

austere talon
#

oh my god i will explode this eslint plugin

#

@spark cove we need to fork and improve

charred monolithBOT
#
[Vencord/Desktop] New branch created: lintlintlint
spark cove
austere talon
#

what

spark cove
#

That let's you write your own plugins in a folder

austere talon
#

SPDX-License-Identifier so good

#

way saner than 5000 lines gpl jumpscare

spark cove
#

Is that real

austere talon
#

for the Copyright line I would do "Vencord contributors" only but idk if that's a good idea if u dont have trademark

spark cove
#

Idk law is fake

austere talon
austere talon
woeful sable
grave mangoBOT
woeful sable
#

wayland

austere talon
#

lmao

#

amazing

#

wow they really hate SC2034

#

why does it depend on wayland

#

should be opt-dep probably

#

??

#

anyway why are u even looking at electron

#

imo we should just use electron from the tar.gz

spark cove
#

Ven did u see TS has generic jsx factories on their Todo list for 5.1

austere talon
#

yeaa

#

p cool

charred monolithBOT
austere talon
spark cove
#

I'm so excited for that

woeful sable
#

namcap was complaining abt some deps not being listed so I checked what the electron package was using

spark cove
#

I'm not homeeeee

#

Monday maybe real

woeful sable
#

depends=('gtk3' 'nss' 'alsa-lib')

#

trol

golden gulch
austere talon
#

ig gtk3 for filepicker

woeful sable
#

yea it does

austere talon
#

would need to do silly mono-repo for that i think?

charred monolithBOT
golden gulch
#

why would you need monorepo stuff for that though

austere talon
#

oh it works

#

yeah might do that then

golden gulch
austere talon
#

we will make crates/ folder

charred monolithBOT
austere talon
woeful sable
#
Your branch is based on 'origin/main', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)
#

how

austere talon
#

gon

#

what repo

woeful sable
#

aur package

austere talon
#

L

woeful sable
#

remote: error: pushing to a branch other than master is restricted
kill yourse

austere talon
#

btw @cunning canyon u don't have to update ur branch all the time

#

I'll do that whenever

#

if you're actively using that branch and that's why you're updating no worries keep doing it, but if not then no need to do that

#

tbh I don't like the way it currently works because it loads a 5mb json which is kinda deranged but that's not your fault that's just how userbg does it

woeful sable
#

how would I add the ssh key to the CI

austere talon
#

seems more sane

woeful sable
austere talon
#

yea

austere talon
#

but u can do it in ur fork

#

In settings > actions

#

or might be settings > secrets

woeful sable
#

I mean like

austere talon
#

either one

woeful sable
#

in the workflow steps

austere talon
#

oh

woeful sable
#

do I just echo $SSH_KEY > ~/.ssh/id_ed25519 and hope it works

austere talon
grave mangoBOT
woeful sable
#

yea

austere talon
#

ohhh u mean how to import it

#

I forgot, are ssh keys plain text or binary

woeful sable
#

plaintext

austere talon
#

wait

#

there's variable

#
export GIT_SSH_COMMAND="ssh -i ~/.ssh/banana"

git clone whatever```
#

make sure the key isn't password protected lmao

woeful sable
#

real

#

yea mine isnt

#

but u can use yours

#

I added you as a co-maintainer

austere talon
#

does aur allow bot accounts

#

if yes I will make vencord-bot account

#

So I don't have to use my own

#

ig I don't care I will do it either way

#

I don't see why they wouldn't allow it as long as you're not doing bad stuff

woeful sable
#

yea its probably fine

austere talon
#

I can't find tos on their site so maybe they just don't have

#
sudden pilot
#

the fastest bugfix in an app I've ever experienced

austere talon
#

what

sudden pilot
austere talon
#

that's actually not related to ur issue if that's what you're thinking :P it was something pointy complained about earlier

sudden pilot
#

understandable

austere talon
#

Ur issue is just github skill issue

#

aur@vencord.dev tmrw

woeful sable
#

normal

austere talon
#

github will love

woeful sable
#

electron-builder so slowwww

austere talon
#

what r u doing

woeful sable
#

I need to know the correct path for the tar gz

austere talon
#

oh

#

why

#

wdym

woeful sable
#

I need the sha checksum

austere talon
#

Download from github release

#

oh wait I get what u mean

#

you're writing workflow

woeful sable
#

yea

austere talon
#

pnpm package --linux tar.gz

#

but also the path will be dist/filename

woeful sable
#

dist/VencordDesktop-0.1.4.tar.gz

austere talon
#

yes

woeful sable
#

i will hardcode version (real

austere talon
#

but don't hardcode version lmao

#

just use silly wildcard

#

or maybe don't

#

you can use github tagname

#

just in case it for some reason has old files

woeful sable
#

$GITHUB_REF

#

sed -i "s/^sha256sums=('.*'/sha256sums=('$(sha256sum dist/VencordDesktop-$GITHUB_REF.tar.gz)'/" aurpkg/PKGBUILD

austere talon
#

are u gonna use makepkg deb or just do it manually

#

oh manually ig

austere talon
#

just make sure u don't forget about .SRCINFO

#

too silly

woeful sable
#

you love ```sh
git clone ssh://aur@aur.archlinux.org/vencord-desktop-bin.git aurpkg
sed -i "s/^pkgver=.$/pkgver=$GITHUB_REF/" aurpkg/PKGBUILD
sed -i "s/^sha256sums=('.
'/sha256sums=('$(sha256sum dist/VencordDesktop-$GITHUB_REF.tar.gz)'/" aurpkg/PKGBUILD
makepkg --printsrcinfo > .SRCINFO
git commit -a -m "Bump version to $GITHUB_REF"
git push

austere talon
#

oh so you do use makepkg

#

u don't have to manually do checksum

#

there's updchecksums

woeful sable
#

wtf

austere talon
#

amazing

woeful sable
#

true

woeful sable
#

haram

austere talon
#

cause its not in makepkg

#

it's pacman contrib

#

doesn't have it ig

woeful sable
#

yea ubuntu doesnt have

austere talon
#

just use what u have then, works too

woeful sable
#

runs-on: arch-rolling when

woeful sable
austere talon
#

wait

#

kinda real maybe

woeful sable
#

TOO real

#

my script is best

austere talon
#

oh that just uses docker

austere talon
austere talon
#

I love kyubey

#

so cute

#

stupid cunt but too cute

woeful sable
#

I was just adding the entire script on the run: property but I think it prob makes more sense to make it a separate file

austere talon
#

I always do that lmao

#

put the entire script in there

#

but making separate file is probably better cause then u can shellcheck

#

and proper syntax highlighting and stuff

woeful sable
austere talon
#

lmao true

fresh lodge
woeful sable
#

dzshn/Desktop

woeful sable
#

I went to bonk yay and install paru and forgor to PR

charred monolithBOT
cunning canyon
woeful sable
#

megu is working on themes btw

#

although if you want a temporary hack: I usually just add // to the start of links so they become invalid shiddohwell

sudden pilot
#

//

woeful sable
#

the PR uses this btw if you want to do something compatible

charred monolithBOT
cunning canyon
#

amogus

charred monolithBOT
verbal pumice
#

the 2nd page of github pr's is like the 2nd page of google results

austere talon
#

why

#

what's that

#

okay thank you I'll do that maybe once the site is fully ready to go as long as it doesn't require adding spyware to the site

somber ginkgo
austere talon
#

skill issue

#

fix it then

somber ginkgo
#

does the userscript even have permission to fuck with cors

#

i thought that was a webext thing

austere talon
#

what?

#

userscript checks cors itself trolley

charred monolithBOT
somber ginkgo
#

cors makes my brain go all mushy

#

i guess ill just deal with no cloud

charred monolithBOT
charred monolithBOT
charred monolithBOT
woeful sable
charred monolithBOT
glass cedar
#

Ah.

charred monolithBOT
austere talon
verbal pumice
#

ye

#

breaks apart cause of client themes

austere talon
#

I think it's a cool idea I kinda forgot about the pr

austere talon
#

why?

#

maybe we can figure it out

woeful sable
#

@austere talon fart

#

woah

charred monolithBOT
verbal pumice
woeful sable
vestal grove
charred monolithBOT
verbal pumice
#

UserStore.getCurrentUser().premiumType is 0 for none, 1 for classic, 2 for normal and 3 for basic right?

limber skiff
#

ye

#

it can also be undefined

nocturne haven
#

It's probably undefined when the user's profile hasn't been fetched yet

limber skiff
#

no idea tbh

limber skiff
#

but I bricked vencord already cuz that was undefined

#

wayy after the profile was fetched

fleet depot
#

wait

#

oop had to toggle it

#

beautiful blobcatcozy

charred monolithBOT
charred monolithBOT
#

this is already possible by setting the VENCORD_DATA_DIR environment variable for each discord install

I was testing this out as it would be nice to dev on canary with a clean slate and no plugins but still be able to use stable for everything else.

However, even though I patched stable using the default VENCORD_USER_DATA_DIR, when I changed the variable to be C:\Users\<name>\AppData\Roaming\VencordCanary\dist, it changed my stable directory too. I'm not sure if I'm doing somethi...

austere talon
#

if u just want smth with separate settings u can use vencord desktop

#

is that u @fleet depot

#

lion pfp

fleet depot
#

ye it is me

austere talon
#

it has separate settings by default

fleet depot
#

mm is the vencord_data_dir supposed to do that tho

austere talon
#

yea

fleet depot
#

oki

#

ig that makes sense

austere talon
#

but if u set it as a global env variable it will apply to all discords

#

the idea is that u apply it to one install

#

u can make a powershell discord launcher that does it

fleet depot
#

ah

#

per powershell launch

#

rather than a global system env

#

gotcha (i think)

austere talon
#

but if u really just want separate settings i recommend vencord desktop

#

works well

#

using it rn

austere talon
#

also i thought about it again

#

could just store the vencord settings dir in either discord settings or localStorage

#

shouldnt be too hard

#

the main painpoint is peopel installing to weird locations and then asking for support without knowing where their install is

fleet depot
#

yeahhh

austere talon
#

that's why I made changing it for the installer kinda complicated (env var)

fleet depot
#

and 9/10 people are gonna wanna share settings across their discords

austere talon
#

because this way only smart people can change it

#

tech noobies really shouldn't be changing install dir

#

they might choose smth like C:\ and i think that might have permission issues

#

xd

verbal pumice
austere talon
#

yeah i daily drive it

#

especially now that it's trivial to load ur own devbuild of vencord

fleet depot
#

ooo

upbeat spindle
#

want to install it on scoop,. :>

upbeat spindle
austere talon
#

never

upbeat spindle
#

nvm,. looks like betterdiscord also not found on scoop

austere talon
#

it doesn't make much sense to put it on scoop

quick ibex
#

it doesnt make much sense to add to anything

charred monolithBOT
charred monolithBOT
woeful sable
#

foce push jumpscare

charred monolithBOT
#
[Vencord/Desktop] branch deleted: lintlintlint
lime stone
#

woah

#

faster than light

austere talon
#

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.

#

so wrong

#

i found a different header plugin

#

way saner

#

doesn't insert 200 license headers

woeful sable
#

I will use

austere talon
grave mangoBOT
austere talon
#

no more 20 lines gpl jumpscare

woeful sable
#

so bad

austere talon
#

should we do GPL-3.0-only or GPL-3.0-or-later

woeful sable
#

long ass header is the best thing with gpl

woeful sable
#

unless you fear gpl 4 is gonna be evil for whatever reason

outer bear
#

im gonna make gpl-4 evil

#

:3

woeful sable
#

also your license headers on the vencord repo say "or later"

austere talon
#

yea

#

i know

austere talon
outer bear
#

should migrate to the overwatch-pl

grave mangoBOT
# outer bear https://github.com/ErikMcClure/bad-licenses/blob/04fafc7f0701faf5616d7f531e3c028...

**overwatch: **

                     Overwatch License Revision 1
                          (c) Author, year


Permission is hereby granted, free of charge, for anyone to use, distribute, or
sell the compiled binaries, source code, and documentation (the "Software")
without attribution.

Permission to modify the Software is only granted to those that have a higher
competitive matchmaking rank than the copyright holder in Overwatch
(Blizzard, 2016).

The Software is provided in the hope that some will find it useful, but the
Software comes under NO WARRANTY, EXPRESS OR IMPLIED, and the authors of the
Software are NOT LIABLE IN THE EVENT OF LOSSES, DAMAGES OR MISUSE relating to
the Software.

woeful sable
#

(accurate calculation)

outer bear
#

should probably update this to Overwatch 2

charred monolithBOT
charred monolithBOT
woeful sable
#

STOP POSTING ABOUT [Vendicated/Vencord] Add Timedones Plugin (PR #376)

charred monolithBOT
#

yes but later I think we disscussed about it and thought it would be good if they stayed. Since people might wanna disable tz component on user profiles.

But whatever people will just not disable tz component on profiles :trollface:

Also I think we discussed to add some slash command that sends "To get your timezone please visit blabla website" to get other persons timezone string

woeful sable
#

(I forgot to unsubscribe)

lime stone
#

omg so sorry

#

what the-

charred monolithBOT
lime stone
#

somehow even though my internet was turned off github still submitted the pull request

charred monolithBOT
lime stone
#

i was just testing a thing

#

i don't understand any more ;-;

austere talon
charred monolithBOT
jagged cloak
#

timedones longest pr ever

#

typical mantushka pr

lime stone
#

timedones

austere talon
#

STOP POSTING ABOUT TIMEDONES

lime stone
limber skiff
jagged cloak
#

ye

charred monolithBOT
jagged cloak
#

nop

lime stone
jagged cloak
#

here have some imagezoom nitpicks:

  • dont do anything on videos in image carousel (you cant zoom on them anyway)

  • if the "dont close the carousel" option is enabled, the bounds go way outside of the image
    (no more clicking outside of the image to close it, you have to click above or below it, doesnt break anything but i just found it annoying)
    same thing happens for videos even though you cannot even zoom in on a video insane

see my totally epic video

#

@rustic nova hi explode

lime stone
lime stone
#

e.g. you enable the tray and the minimisation option then close vencord desktop
it's gon!

#

(because the tray doesn't appear until a restart)

austere talon
#

uh

#

could port settings listeners from vencord

#

and just listen to change

#

then dynamically add/remove tray

bright tundra
#

does anyone know of a theme that goes with this

  • delete if wrong channel ๐Ÿ˜ญ
lime stone
austere talon
#

not possiblei think

lime stone
#

oh :(

austere talon
#

oh there is

lime stone
lime stone
bright tundra
lime stone
#

hm

charred monolithBOT
lime stone
#

how did i even-?

#

xd

austere talon
#

what are u doing

#

did u edit buildscript

lime stone
#

no..

#

this a worse error than i've ever got with c++ lol

austere talon
#

shouldnt happen lol

lime stone
#

am i doing something very illegal and assuming it will work?

#

ahh

#

i'm dumb

#

different process, right? i'm tired :P

austere talon
#

main, preload and renderer are different processes yes

lime stone
#

still doesn't explain the error

austere talon
#

renderer has no node access

austere talon
#

you're trying to import system code from the browser

lime stone
#

ah, need to use ipc then

austere talon
#

yes

lime stone
#

wow i'm dumb lmao

#

think i should work on this tommorow because brain no function ๐Ÿซ 

austere talon
#

now we have settings change listener

charred monolithBOT
austere talon
#
export declare class SettingsStore<T extends object> {
    plain: T;
    store: T;
    private globalListeners;
    private pathListeners;
    constructor(plain: T);
    private makeProxy;
    setData(value: T): void;
    addGlobalChangeListener(cb: (store: T) => void): void;
    addChangeListener(path: string, cb: (data: any) => void): void;
    removeGlobalChangeListener(cb: (store: T) => void): void;
    removeChangeListener(path: string, cb: (data: any) => void): void;
}
charred monolithBOT
austere talon
#
Settings.addChangeListener("disableMinSize", disable => {
    const [w, h] = disable ? [0, 0] : [MIN_WIDTH, MIN_HEIGHT];
    win.setMinimumSize(w, h);
});
#

@lime stone

charred monolithBOT
austere talon
charred monolithBOT
#

It would be cool if a plugin could be added that allows you to see when someone is in a voice call. Currently, there is one, but it doesn't display an icon next to the user's profile in a list. I'm having a bad time explaining this so an example of a plugin that does this is the VoiceActivity plugin from Better Discord (https://betterdiscord.app/plugin/VoiceActivity). As you can see in that plugin, it not only shows when someone is in a call on their profile, but also next to their name in a ...

frail skyBOT
#
Bad Patches

WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/

Bad Starts

None

Discord Errors

JSHandle@error

#
Bad Patches

WebContextMenus (had no effect):
ID: 638525
Match: /(?<=showApplicationCommandSuggestions;)if\(![A-Za-z_$][\w$]*\.[A-Za-z_$][\w$]*\)/

WebContextMenus (had no effect):
ID: 638525
Match: /("submit-button".+?)(\(0,[A-Za-z_$][\w$]*\.jsx\)\([A-Za-z_$][\w$]*\.MenuGroup,\{children:[A-Za-z_$][\w$]*\}\),){2}/

Bad Starts

None

Discord Errors

JSHandle@error

austere talon
#

jumpscare

#

funniest shit is i somehow don't even have this

#

like it works on my machine

charred monolithBOT
austere talon
charred monolithBOT
honest geyser
austere talon
#

uhhh no

charred monolithBOT
austere talon
#

yeah no rush dw

charred monolithBOT
charred monolithBOT
#
[Vencord/Desktop] New branch created: updater\-init
charred monolithBOT
jagged cloak
#

perfect

charred monolithBOT
bright tundra
#

Omg ty

short sequoia
#

@bright tundra it looks a bit diff so yea

charred monolithBOT
short sequoia
#

no gradient

charred monolithBOT
sudden pilot
#

69th

honest geyser
#

nice