#👾-core-development

1 messages · Page 11 of 1

charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

yes

#

so use media lol

#

no

#

media properly sets cors

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

66996

#

nice number

charred monolithBOT
charred monolithBOT
#

This PR adds support for CSS modules to Vencord.

These can be used as follows:

import styles from "./MyComponent.module.css";

function MyComponent() {
	return (
		Hello, World!
	);
}

Dependency Updates

esbuild-css-modules-plugin@^2.6.2

Adds support for CSS & CSS Module importing. ~37.5kB build size.

string-hash@^1.1.1

String hashing module used to generate class hashes.
This comes as a subdependency of esbuild-css-modules-plugin, so has no e...

umbral hedge
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
umbral hedge
#

merge megu

charred monolithBOT
charred monolithBOT
indigo drum
#

hi github

austere talon
#

the corruption is pretty bad @vagrant topaz

#

do u really have no idea why it happens

#

also cool warning

#

i found the issue

#

you're gonna have to use width, height, left and top of each frame and do some math

#

also gotta account for possibly not being square

#

like this one is not square

#

trying to fix it rn

verbal pumice
#

better*

austere talon
#

@vagrant topaz HORROR

#

gotta implement that

#

I FIXED IT

#

by implementing that very thing i just sent

#

you love @vagrant topaz

charred monolithBOT
austere talon
#

oh

#

wha

#

i pushed to ur branch nico

austere talon
#

could just patch this entire function to always return true

#

then that will cover sticker permissions, unavailable stickers, etc

austere talon
#

lol

#

amazing

#

gonna fix it in a second

#

the apng creation is still not perfect, for example try the frog Hammer gif from replugged

#

but it does most stickers flawlessly now

austere talon
#

okay i reverted the spotify controls commit lmao

#

my bad

#

as for the discord stickers, wanna do what I said? aka pre convert all lottie stickers and dump them somewhere

#

i can do it probably

#

also could u pls extract the sticker logic in its own logic and refactor it a bit to not be nested 6 levels deep

#

btw theres this utility

#

so you can eliminate ur sticker pack logic and use this

#

isPremiumPack(sticker) (i think?)

#

yeah dw

#

take ur time also gm

#

gonna do the lottie to gif conversions for premium stickers

#

wonder if ffmpeg can do it

#

spawning headless chromium to render lotties lmao

#

actually i remember using a telegram bridge and it being able to convert lottie to gif

#

matterbridge

#

gonna see how it does it

#

it's basically svg but animated

#

lottie files are json with the paths

#

nah arch

#

i wrote it myself

#
command_not_found_handler () {
    local pkgs cmd="$1" 
    pkgs=(${(f)"$(pkgfile -b -v -- "$cmd" 2>/dev/null)"}) 
    if [[ -n "$pkgs" ]]
    then
        printf '%s may be found in the following packages:\n' "$cmd"
        printf '  %s\n' $pkgs[@]
        first="$(echo "$pkgs" | sed -E 's:\w+/::; s:\s.*$::' | head -n 1)"
        printf 'Install %s? [y|N]:' "$first" 
        read res
        if [ "$res" = "y" ] || [ "$res" = "Y" ]; then
          sudo pacman -S "$first"
        fi
    else
        printf 'zsh: command not found: %s\n' "$cmd"
    fi >&2
    return 127
}
#

(zsh)

#

uh i never do it

#

btw not all builtin stickers are lottie

#

why do u even check if the sticker is built in pack?

#

just check sticker.type

#
enum StickerType {
  PNG = 1,
  APNG = 2,
  LOTTIE = 3
}
#

you can link built in stickers

#

lol

#

you cant access lotties via media

#

cause media doesnt support json content type

#

so no resize possibly

#

converted with lottie_convert.py

#

black backround jumpscare

#

yeah its not too bad

#

but it takes a while to convert

#

like 10 seconds for that one

#

yeah

#

i will

#

uhhh

#

lmao

woeful sable
#

LMAO

austere talon
#

so changing width and height makes it weird

maiden fog
#

maybe you can reverse engineer how Google skia plays lotties

austere talon
#

ig this is fine

#

apparently this lib is also what discord uses

austere talon
#

wait it didnt give me lottie2gif

#

scammed

#

holy shit that one is fast

#

it made this gif in like less than a second

#

but no transparency pensive

#

time to add alpha support

austere talon
#

nice

#

sure

#

I'm gonna convert all the funnies in a bit

#

anyway do u have any idea how to host them @vagrant topaz

#

I don't really wanna host them on github or similar cause its kinda copyright violation

austere talon
#

converting with 8 cores rn

#

my laptop loves

#

okay done

#

it only took like 30 seconds to do 150 stickers

#

love @crude hearth

crude hearth
#

hate

austere talon
#

where should i put these now tho

crude hearth
#

vencord worse than bdfdb soon

austere talon
#

im not including them guh

woeful sable
fierce gale
#

vendy likes default stickers

maiden fog
#

or imgur

#

where is bat Clyde sticker

quick ibex
#

On Imgur while not signed in

fierce gale
#

put the cores inside vendy

#

96% disk usage in root

maiden fog
#

looks like your disk storage is full

maiden fog
#

wha

fierce gale
#

u can move /var/lib/docker to a different directory

#

smh husk when docker daemon supports custom directory

#

god damn

fierce gale
#

stickers

austere talon
#

i feel bad hosting there lol

#

probably do gihub instead

fierce gale
#

uh oh

austere talon
#

Your account has been flagged.

#

amazing

fierce gale
#

already

jagged cloak
#

already how

austere talon
#

ye i deleted

#

im pushing to gitlab instead

#

its stuck here

#

isnt that chinese git lmao

#

horror

#

ye but i dont wanna host on those

#

cause they're open source non profit ones

#

i will host discord sticker files on catvibers @placid wave

placid wave
#

NOP YOU WILL NOT

austere talon
#

100mb of gifs

fierce gale
#

wot the stickers for

placid wave
#

you will convert client side trolley

#

I made something to do that ages ago

austere talon
#

nop

#

terrible

placid wave
fierce gale
#

confusing

placid wave
austere talon
#

i could just host on discord and generate json with all the cdn links

placid wave
#

skil

maiden fog
fierce gale
#

peculiar

maiden fog
austere talon
#

nah

#

its not against discords tos to upload sticker files is it

fierce gale
#

that'd be funky if it is

austere talon
#

@placid wave

placid wave
#

TROL

#

love

austere talon
maiden fog
#

poggers

austere talon
#

guh a lot of them failed

#

i love rate limit

#

yes

#

lmao

#

i found out exactly the moment i finished uploading them all

#

which ones

#

wdym?

#

then there's an issue in ur apng fetching

#

yes

#

fetch sized apng lol

#

you already do

#

well fix it

#

since if it gives u a massive apng that means fetching is buggy

#

what

#

it does

#

maybe idk

fierce gale
#

vendy only allows for pretty code

rancid dragon
#

what about (pretend im using backticks)
messageObj.content = messageObj.content ? messageObj.content + ' ${stickerLink}\' : stickerLink

#

this is probably the worst way to do it and looks even worse

#
if (messageObj.content) {messageObj.content += " "}
messageObj.content += stickerLink

ok here me out

#
if (messageObj.content) {messageObj.content += ` ${stickerLink}`}
messageObj.content ||= stickerLink

this is actually really fun to come up with ideas for

#

messes up the discord formatting

#

you know with the whole code block thing

austere talon
#

works for other stickers does it not

#

might be just static stickers

#

anyway i just fixed it using the wrong resolution

charred monolithBOT
quaint sapphire
#

python3 -m ensurepip
installs it

#

But not on PATH

charred monolithBOT
charred monolithBOT
charred monolithBOT
charred monolithBOT
austere talon
#

holy shit 43commits

#

yeah i know

#

could you do the refactor i mentioned earlier please?

#

aka extract the sticker logic into its own function

#

reduce the indent

#

phpstorm husk

#

but why phpstorm lmao

#

webstorm exists

#

or just plain intellij

#

also resolution isn't used at all now is it?

#

nahhh

#

yes

#

wrong resolution

#

yes

#

using the user defined resolution is wrong because it's not guaranteed that the apng is actually that big nor is it guaranteed that it's square

#

you gotta do custom resize logic if u want a specific resolution

#

you can use this

#

basically do the math for the scale factor to get from the actual width to the specified width

#

then apply that scale before making the gif

#

By default, one unit on the canvas is exactly one pixel. A scaling transformation modifies this behavior. For instance, a scaling factor of 0.5 results in a unit size of 0.5 pixels; shapes are thus drawn at half the normal size. Similarly, a scaling factor of 2.0 increases the unit size so that one unit becomes two pixels; shapes are thus drawn at twice the normal size.

#
const [width, height] = blah;

const resolution = blah;

const scale = resolution / width;
ctx.scale(scale, scale);

// rest of code
#

try if that does the trick

#

Well this looks promising

#

maybe just gotta mess with canvas width and height?

#

oh wait

#

you need to change the width and height in the gif encoder write call

#

that should work ig

#

oh lmao

#

oh because u also need to change the getImageData call probably

#

is that smaller

#

i can't tell, mobile shows full width

#

yo nice

#

now try a bunch of stickers

#

uh

#

might be because of the blend stuff

#

but transparency doesn't translate well from apng to gif so not every apng will be good

#

cause apng has proper alpha channel

#

uh compare those without the scale

#

try

tropic wagon
#

can't you clear the last frame

#

ezgif has an option like that

austere talon
#

oh yeah

#

thazs probably the issue

#

maybe

#

idk

#

I mean this is considerably better

#

the other one has really glitchy outside

#

wha

#

?

charred monolithBOT
austere talon
#

oh why not now? you can pr to that branch @tropic wagon

#

if u need any help with how to do that u can just ask me

tropic wagon
#

oh okay epic

#

ill check the pinned msgs there was how to switch branch

austere talon
#

it's super easy! just git checkout branchname

charred monolithBOT
tropic wagon
#

did you guys solve the apng2gif lottie thingy to make it clear last frame?

#

just like make sure to always update every pixel in the gif, not just the ones that changed

#

or smth

charred monolithBOT
austere talon
#

that was how it originally worked but that led to even worse glitches

#

I purposely made it not clear the whole area because that's how the apng spec goes

#

I think I know what the issue is tho

#

gonna try my theory in a bit

#

there's an instruction that makes it restore the current frame's area to the previous frame

#

I implemented that but instead of doing only the frame area I do the entire area

#

I think if I change that it might fix it

#

apng spec is weird lol

charred monolithBOT
lament nimbus
austere talon
#

?

#

wdym

woeful sable
#

is_dev

austere talon
#

its dev only not web only

lament nimbus
#

I can read

#

ok

austere talon
#

lmao

#

it spams ur console and cripples performance trolley (not really but every bit matters imo)

#

so i made it dev only

#

mainly to easily catch bottlenecks

#

i already discovered messageactions took like 100ms to start thanks to it

#

and fixed it

woeful sable
austere talon
#

i love how like 20% of vencord's code is only included in dev builds

umbral hedge
#

xd

austere talon
#

why doesnt esbuild inline this function

umbral hedge
#

smh

#

too much skill issue

woeful sable
#

fr

woeful sable
#

did you know that was a joke

austere talon
#

its supposed to

umbral hedge
#

u(e)

charred monolithBOT
tropic wagon
austere talon
#

it's definePlugin

tropic wagon
#

as a transparent modifier callback or something like that?

austere talon
#
export default defineFunction({
  name: "blah"
})```
tropic wagon
#

is vencord dev slower?

charred monolithBOT
austere talon
#

not really

tropic wagon
#

i need perf

#

but also wanna dev

austere talon
#

you won't notice a difference

#

dev is just stricter and more logging and patch helper

charred monolithBOT
austere talon
austere talon
austere talon
umbral hedge
#

hugmegu took 0.0001ms

austere talon
#

oh god the nitro spoof lmao

#

yeahh lol

#

same

austere talon
#

i spoofed myself as non nitro to test

#

sadly some stickers still glithced

#

but can't really fix ig

#

cause gif doesn't support alpha

#

like any apng that uses alpha will be glitchy

charred monolithBOT
austere talon
#

shouldi merge spotify controls for now

#

it's pretty much done, just needs to be beautified but that can be done later

limber skiff
#

hell yeah time for use a nitro spoof as a nitro subscriber

#

classic no stickers moment

austere talon
#

Vencord.Webpack.Common.UserStore.getCurrentUser().premiumType = 0

limber skiff
#

oh lol by nitro spoof I just meant the sticker thing

austere talon
#

yeah ik haha

charred monolithBOT
quick ibex
#

@austere talon

#

fixed maybe

#

Yeah fixed

#

it looks so good with my theme

austere talon
#

enable plugin

quick ibex
#

Mfw no scroll

austere talon
#

lmao

#

wdym scroll

#

oh

#

marquee

#

yeah i was gonna implement that but haven't yet

#

feel free to pr

quick ibex
#

oh

#

nah i aint touching react with a 10m pole for now

austere talon
#

see TODO

quick ibex
#

ehh ill be happy with it

austere talon
#

figure it out urself bro

#

spotify api stuffs

#

do u have premium

quick ibex
#

you have the fucking contributor role asscrack

austere talon
#

it should technically work without premium but i havent tried so can't confirm

#

maybe who knows

quick ibex
austere talon
#

spotify api is terror

#

btw u can left/right click album cover for funnies

quick ibex
#

I love

#

your moder

austere talon
#

lmfao

#

oh shit

#

me when i don't depend on MenuItemDeobfuscatorApi

austere talon
#

mb lmao

quick ibex
#

why did my thumb go blurry

austere talon
#

mfw i wrote that error message myself and still forgor

charred monolithBOT
austere talon
#

btw just enable that plugin and it will work

#

i love how it prints an unrelated error instead of my error lmao

#

guh what

#

ok github sillytime

#

github having a normal one

#

MenuItemDeobfuscatorApi is a funny plugin

#

btw i added html classes to every element in the player so it's easy to theme

austere talon
#

spotify goofy

rancid dragon
#

i can probably do the second one pretty easily

austere talon
#

youre not bro

#

yeah sometimes patching stuff is awkward

#

did u see my reverse image search fix

#

horrible regex but it works

rancid dragon
#

im looking into the source for voicetimer and what the hell

if (!Array.isArray(args[0].children)) {
    args[0].children = [ args[0].children ];
}
austere talon
#

whats weird about it

#

react children is either an array (multiple children) or single element/undefined

rancid dragon
#

isn't there a better way to do this

austere talon
#

single element includes a lot of jazz

#

string, number, other component

#

null

charred monolithBOT
austere talon
#

nicee

#

reverse engineering is fun

#

true

charred monolithBOT
charred monolithBOT
limber skiff
#

premiumType 1 is classic

#

they can send global emotes but not stickers

charred monolithBOT
#

I understand, but still with the current system animated stickers still convert badly to gif for some reason.

Screenshot_20221107-234454_Discord.png

And I think that since it is the expected result (passing the sticker as an attachment) it would be great if the message was sent directly together with the attached sticker automatically. And what just didn't do it when there is text in th...

charred monolithBOT
charred monolithBOT
charred monolithBOT
robust basin
#

ill look into it

#

best i can do is this

#

that context menu thingy is adding weird spacing

#

guhh

#

yes catppuccin mocha

#

so cozy

austere talon
#

don't use bad theme

charred monolithBOT
austere talon
#

did it work before his pr?

#

I mean idc about fixing some different theme that unconditionally themes random stuff

austere talon
#

(just change that p to Forms.FormText)

#

ah I didn't see cause he didn't reply

#

oh is the default style already satisfactory? @robust basin

#

figured you'd need to customise the style to get a good one

#

cause they have a crap ton of styles for the text, you can see a list of all of them somewhere in Discords developer settings if you enable experiments

vestal grove
#

(namely)

tropic wagon
#

pls pin this

austere talon
#

no

#

enable experiments and go to text components at the bottom of the settings

tropic wagon
#

ok somebody pliz help. i want to open a pr of afns fork,but i already have forked vencord for a pr i did in the past and it won't let me.

i would delete my fork, but doesen't that mean i lose the contribution credit?

austere talon
#

nono

#

don't delete fork

#

just make second fork

crude hearth
#

github only allows you to create one fork for one repo

austere talon
#

wrong

#

its different repo

crude hearth
#

you

charred monolithBOT
austere talon
#

did u pr to wrong repo lmao

charred monolithBOT
robust basin
#

oh my god

#

this channel is messed

austere talon
#

you need parantheses around those lol

#

x ?? 0 > 1 means x ?? false

limber skiff
#

whew

#

didn't realize and didn't test

#

anyways fixed already

austere talon
#

btw isnt there new cheaper nitro that has stickers

#

3 bucks nitro

#

yeah it does

limber skiff
#

yes

#

and the premiumType is higher than 1

#

it's probably 3

austere talon
#

so premiumType
0 = none
1 = classic
2 = 10 bucks
3 = 3 bucks

#

?

limber skiff
#

I guess so

#

I know for sure 1 is classic cuz I ran the code to find my premium type

austere talon
#

this is premiumTypes

#

so yes it's 3 ig?

limber skiff
#

ye

austere talon
#

u mean github?

#

it was fairly obvious

#

p9 stands for nitro tier

limber skiff
#

dang

austere talon
#

you just know once u get familiar with discords code base

limber skiff
#

I just noticed the sticker size doesn't apply with the ones from distok

austere talon
#

im totally just messing i searched for premiumType comparison in code and saw x.p9.TIER_2

austere talon
limber skiff
#

what if someone hosts a wrapper to get the image from distok and allow resizes

austere talon
#

wanna migrate?

tropic wagon
#

what they don't see

austere talon
#

LMAO

tropic wagon
#

but they get to enjoy spotify controls

austere talon
#

poor afn hahaha

tropic wagon
#

thats what matters

austere talon
austere talon
#

could strip channel id as well

tropic wagon
#

i used conventional commits for one of my projects

#

it was fine i guess

#

but i havent commited to it in like 3months

austere talon
#

all the files on there are exactly 160x160

tropic wagon
#

but conventional commits pain

austere talon
#

so 100% same as real stickers

tropic wagon
#

using discord to host all the shit

#

real

charred monolithBOT
maiden elk
#

🧌

lament nimbus
#

lmao I mean that could work
just host vencord stuff on discord so that it is the same origin trolley

austere talon
#

nah cdn is different origin

#

but cdn has cors * for the most part

lament nimbus
#

well yeah

#

does discord's media proxy work for non-media files

austere talon
#

but for some reason some cdn endpoints dont have cors

crude hearth
#

@austere talon

charred monolithBOT
quick ibex
crude hearth
#

@austere talon MERGE

austere talon
#

wh

#

that file was so weird I didn't look at it further trolley

little cape
verbal pumice
jagged cloak
#

MAO

#

can you squash them please i have no idea how

charred monolithBOT
charred monolithBOT
golden gulch
#

doesn't ify already do group listening for non premium users

#

@sly shadow ^

austere talon
#

Spotify without the stop, ify

sly shadow
#

real

austere talon
#

yeah that's true

#

thanks for your work polar but yeah as others said its already part of ify

sly shadow
#

nw

#

was nice to figure out how patching worked anyways

austere talon
#

good patch but you gotta be careful with the find

#

l.Z.getActiveSocketAndDevice

#

don't rely on minified variable names they'll change every update

#

.getActiveSocketAndDevice() would be better (if its unique)

charred monolithBOT
austere talon
#

xd megu not reading chat

sly shadow
#

real

#

And uh I don't think getActiveSocketAndDevice() is unique

austere talon
#

were u using patch helper btw

sly shadow
#

yeah

#

ah

austere talon
#

no

#

no, the patcher doesn't validate this it just applies to the first found module

#

but generally your regex wouldn't match something in another module so the worst that will happen is the plugin not working

#

regex isn't supported in find because its not really necessary and string is faster

sly shadow
keen lance
#

real

sly shadow
#

no?

#

or wait

#

i see what u mean now

#

i thought u meant on my own fork

austere talon
#

it's because it can't differentiate whether the new commit is remote or local

sly shadow
#

ty patrickPray

charred monolithBOT
orchid coral
#

please make themes instead of just css
pls

#

i will explode

#

ah crap

#

E ception gone wrong

orchid coral
#

@/megu please close

#

dont actually

orchid coral
#

HERE IS MY MOCKUP

#

POGGERS

verbal pumice
#

THE MOCKUP! THE MOCKUP IS REAL!!

orchid coral
#

after 16 days of procrastinating i did do it

umbral hedge
#

ok so now

#

now you need to take a screenshot of the discord client

#

and place that mockup where you want it in the client

#

and send that thumbsUp

orchid coral
#

ok

#

easy

#

oh crap

#

its too long rofl

#

editing time

#

why

orchid coral
#

did it

#

it took some editing

#

yes mixed with the custom theme it sucks

umbral hedge
#

lol

orchid coral
#

will i fix it? no

orchid coral
#

fixed it but it sucks now more :earthexplode:

austere talon
orchid coral
#

you surely did

#

i see it

#

you did it before posting that

charred monolithBOT
orchid coral
#

idiotrs

austere talon
#

wh

crude hearth
#

@austere talon merge

austere talon
#

oh its on top eh

#

whatever who cares

austere talon
#

aka it upscales them

#

ofc

#

the bug was just this

#

lmao

austere talon
#

ah i see

crude hearth
#

w

crude hearth
#

now merge 187

charred monolithBOT
#

Yeah, but only when you typed something.

Btw, a suggestion I had a while ago I wasn't sure if we want to implement this: When sending non-animated stickers it just adds the URL to the message, but that looks very ugly when sending it, so I think it would be better if it was downloaded and then attached as image. This could apply to emojis and stickers.

charred monolithBOT
charred monolithBOT
orchid coral
#

petition to be able to load plugins like this

#

wait im a idiot

crude hearth
#

you can load css files

#

insane

orchid coral
#

yea so insane

crude hearth
#

horror it looks so weird

orchid coral
#

youre used to windows

#

this is gnome typed

crude hearth
#

guh so

#

css is css

orchid coral
#

yes some stuffi s broken

crude hearth
#

it will look same no matter what de you use

orchid coral
#

i dont think it was supposed to be ran in windows

crude hearth
#

guhh you are insane

orchid coral
#

is it possible to use crycord and vencord at the same time

#

type script and crystal

maiden elk
#

crycord??

orchid coral
#

yea

maiden elk
#

.....

#

why

#

why would you need both at the same time

#

when vencord does the same stuff

orchid coral
#

cause yes

#

science

maiden elk
#

????

charred monolithBOT
orchid coral
#

unlike what the name says its a mp4 corrupting tool t hat can do funny stuff liek infinity and negative

#

its mostly in svelte javascript and typescript

maiden elk
#

so funny

orchid coral
#

only the svelte parts will take time the javascript and typescript ones are already finished for you lol

maiden elk
#

totally

orchid coral
#

its a suggestion for someone to make it

crude hearth
#

@austere talon

#

I thought you would want to see this

#

ı a making urjob esier

charred monolithBOT
crude hearth
#

İNSANE

charred monolithBOT
austere talon
crude hearth
#

ven be like: reviewing pr hard
also ven:corrup mp4s plugin (he made it after 2 hours someone asked)

austere talon
#

guh it took me 5 minutes to make

crude hearth
#

it will take you 2 minute to review

#

insane

quick ibex
#

ven making CorruptMP4

charred monolithBOT
fiery jungle
#

MERGE INSTANTLY

charred monolithBOT
charred monolithBOT
jagged cloak
#

ven will drop the reviewdb

fiery jungle
#

he will merge instantly

jagged cloak
#

hate

charred monolithBOT
crude hearth
#

Dont make a pr

#

Ven will never merge

austere talon
#

I didn't look at ur pr yet because I always get heart attack when I see your code

#

it's not good for my health

#

yeah

crude hearth
austere talon
#

?

crude hearth
#

!

austere talon
#

wtf is ur keyboard

crude hearth
#

Turkish keybord better

#

You need to press one key to press "

austere talon
#

I don't even know how to type '

crude hearth
#

I know

#

Shift 2

austere talon
#

it's so bad on German keyboard cause we never use it

crude hearth
#

On turkish

austere talon
#

shift 2 is "

crude hearth
austere talon
#

you know you can just use single quotes and it will automatically change them when you save file right

crude hearth
#

What does that button output then

austere talon
#

Well enable lint on save

crude hearth
#

The button above the esc key

maiden elk
austere talon
#

enable

crude hearth
austere talon
#

NOW

crude hearth
#

I have all of my plugins

#

And my alicord fast

austere talon
#

enable

crude hearth
#

Disable

#

Eslint so bad

austere talon
#

Also found the guy who only uses Javascript and python

crude hearth
#

I wont ever use it again while making prs

austere talon
#

you wouldn't say this if you used any other languages where single quote = char, double quote = string

crude hearth
#

Ven loves C

austere talon
#

ven: loading webpack

crude hearth
#

Worst

austere talon
#

ye

#

Also another reason double quotes are superior is that you don't have to escape '

crude hearth
#

But you need to escape "

austere talon
crude hearth
#

I will

austere talon
#

"mantika is 'Turkish'"

#

^

crude hearth
#

If you use single quote you can use " with nı problem

austere talon
#

I just use single quotes for quoting things inside string

crude hearth
#

Bad

austere talon
#

nop

#

I think quoting things with single quote looks better

#

mantika is 'insane'

crude hearth
#

I will mash vens head using double quotes

#

(he will love because he is not a char)

austere talon
#

I have too many husks

crude hearth
#

Love

austere talon
#

doing some imporvements

#

will push in a bit

#

uh

#

updating title is really buggy with local songs

#

for some reason

#

cause they dont have an id

#

so the comparison is always true

#

should work now

limber skiff
#

Aleph 0 poggers

austere talon
#

ye

#

pushed changes check it out and see if u want to change anything else @vagrant topaz

#

Spotify api is weird they don't actually have a way to like

#

you gotta add to library

charred monolithBOT
austere talon
#

wdym crash?

charred monolithBOT
austere talon
#

you will make component without using 3 trillion discord classes @crude hearth

crude hearth
#

İNSANE

#

why didnt you wrote these last time guhhh

crude hearth
#

then they look ulgy

austere talon
#

get gud at css

crude hearth
#

hard