#๐พ-core-development
1 messages ยท Page 157 of 1
https://google.com/search?q=$1<urlComponent>
๐ฅ
mm
its not bad per se but <>
hm
although i suppose those arent too hard to type?
and its unambiguous when parsing
with the toggle then there is no issue
i am joe biden and i approve this pull request ๐บ๐ธ ๐ฆ
just kidding i still need to review code i will do after lunch
(i don't eat lunch
)
Today I will Self-Review my Code
yes i think my PR looks good
i will merge
@austere talon

that is a fat commit description
holy
also why does it have like 3 prs in it
is that just the result of me manually merging stuff
how's bd usercss doing anyway
not
they stopped working on the branch a couple of months ago, idk how far it is from completion
but it seems relatively easy to implement so i dont know whats taking them so long
all of the changes in the usercss pr from now have mainly just been bugfixes of really silly stuff that would've most likely been caught in review anyway
4 months ago was the last commit
so i dont know how long it's going to take for it to release
i dont think we should bother trying to follow BD's release date on the feature
we've already got a standards-compliant usercss system with an extension to support plugins (via vc-requiredPlugins)
dont use that one
use my fork's branch
cause that's where they actually go to xd
the feat/usercss branch on vencord was an accident
it prevents you from enabling themes now as well if you dont have the plugins on just to discourage you from using themes wrong
but its just a csv of plugin names you want
so
a,b,c would require plugin a, b, and c to be enabled
I will make a everything plugin which will depend on all plugins
some themes might theme the spotify component
so you might want SpotifyControls in that list too
though of course if its optional then no :p
@austere talon re question above, dunno if you saw
this quote should be forever preserved
actually @turbid hatch did you figure out the weird issue I was having on Vesktop
yeah they show now! great, now I can actually test it
ok themes are broken
I swear, I can find weird bugs without any effort
how do I see loaded CSS in Chrome devtools?
equivalent of this in Firefox
go to elements and findd the vencord themes style tag, should be at the bottom
all loaded themes go there
@thick kestrel
you can then look in the network tab to find the content
okay, it looks like the theme is loaded, so that's weird
I'll try a simpler theme
@turbid hatch the issue is that the @-moz-document declaration isn't removed
yeah
it is required by the spec as regular userstyle managers need to know when to apply the style and when not to
here it doesn't really apply, but it would be good to support it, so we don't have a separation between Vencord userstyles and regular userstyles
suppose so
I guess it could apply if you used a theme that supported other websites alongside Discord...
that's rather rare I think
tbf
@document hasnt been supported for a long time
usercss managers shouldnt be adding it
it never made it into any release
its only really part of the spec for legacy reasons
yeah but the compiler uses it because
of course it does
its really stupid
its the only thing i know that actually supports or requires this
think of it as a CSS extension for userstyles
its funny cuz it doesnt actually
use it properly
its just parsing it
/**
* Extracts @-moz-document blocks into sections and the code between them into global sections.
* Puts the global comments into the following section to minimize the amount of global sections.
* Doesn't move the comment with ==UserStyle== inside.
* @param {Object} _
* @param {string} _.code
* @param {boolean} [_.fast] - uses topDocOnly option to extract sections as text
* @param {number} [_.styleId] - used to preserve parserCache on subsequent runs over the same style
* @returns {{sections: Array, errors: Array}}
* @property {?number} lastStyleId
*/
i dont really wanna do this cause it sucks
yeah, since it's not part of the current CSS spec
it's only part of the userstyle spec
tempted to just say "fuck it" and not do it
it's part of the spec though ๐ญ
and it also makes sense for userstyles
since how else would you tell the manager when to apply the style
tbf i could just ignore the moz-document stuff
but then i have to write it in a compatible way between compilers
blegh
I mean, it could be part of the header, but it isn't. possibly to not loose the flexibility of being able to have a style apply to multiple websites in a different way.
the thing is that the entire stylus extension is really
not written very well
its using require.js and stuff
so its going to take a while to port
not supporting that creates a gap between the spec and what's in Vencord, effectively making a second de facto standard. which in turn also makes it harder for theme devs to support both Vencord and regular userscript managers.
so I think it's worth to support it even if it's not easy.
i mean we're already causing issues with the spec 
@vc-requiredPlugins and if vencord { } are technically spec violations
you have to tell the parser to ignore it to make it work
(which is very stupid btw, it means old parsers cant parse new code even if it could just ignore the new attribs)
i can try to get this to work but its
blegh
essentially, vencord-specific usercss wont work on standard usercss extensions anyway
because the parsers on the extensions are too strict by default and theres no way to tell them to ignore it
but it'd only be incompatible one way, not another
true, i can try and make extension usercss work
well ill see how this goes
because this entire thing is using a parser with a ton of vulnerabilities in it so i dont think its a good idea to use 
the css parser module also has vulns and doesnt even parse css properly
the thing is, since Vencord web build won't support userstyles, web users will need to switch to userscript managers
if many themes will start using the Vencord-flavored userstyles, it will basically exclude web users entirely
and if a theme would want to support both regular userstyles and Vencord ones, it'd need two separate releases, which is a pain
(youll need to do that to avoid the aforementioned @vc-requiredPlugins problem)
actaully
ah nvm
huh, why wouldn't e.g. stylus just ignore it
also, why would a theme depend on a plugin
the usercss-parse lib that does all of this errors if it sees an unknown attribute
Why would you need @vc-requiredPlugins anyway?
oh, i guess some add classes
themeattributes
because it makes some themes work
so if its not present the theme just doesnt work
just make themeattributes a required plugin anyway
also platformindicators was mentioned earlier
yeah but it's not like not having the plugin would cause issues for the theme?
Put that in the header comment then
if a theme expects themeattributes to exist then it will most likely break
this will sound stupid
what
I mean platformindicators
but what about a second header
users probably dont care
to open a file just to work it out
its a safety thing in the usercss stuff
if your theme affects platformindicators you still shouldn't force users to use the plugin
it flags up as an error
then you dont require it
silly
basically just leave the usercss header alone
people may assume that's how you're meant to use it ๐ญ
and then add a second one, with Vencord-specific extenstions
its documented as "Required plugins for this style to work." not "Plugins that this theme affects"
the other way would be to talk about this with the people maintaining the actual library
this feels like BD all over again

they wont do it
hmm. apart from for ThemeAttributes I'd argue it's not really necessary
im giving people the option
because it also allows people to make snippets for plugins as usercss
that can be modified using the settings UI
it wouldnt make sense to allow those snippets to run if the plugin isnt enabled
:p
from a ux perspective what happens if you try to disable a plugin required by a theme
it disables the theme card and shows a plugin icon that, when hovered, tells you what plugins are required
:root:not([data-vc-plugins*="ThemeAttributes"])::before { content: "ThemeAttributes is required" }
that is an awful idea
**index.ts: **Lines 13-16
const { metadata, errors } = originalParse(text.replace(/\r/g, ""), {
allowErrors: true,
unknownKey: "assign"
});
Less awful than breaking css spec
will this vencord extension to the specification actually cause problems with extensions?
im not breaking css spec
i dont know, i assume so, because the parser errors when it encounters unknown attributes by default
its stupid
it doesnt just ignore them
the extensions using this lib probably turn that off?
or maybe use their own lib to begin with?
well lets test
it'd be totally against the way css and html works to not load it if there are any errors
also it looks like @-moz-document isnt supported anymore
:p

my userstyle manager just told me when i pasted the moz-document syntax that its the old legacy syntax
its called "mozilla format" when you paste it and "classic mode" when you try to use it
so it looks like the managers just
do it directly
oh it does work
okay thats not a problem then
i guess its just something funny with my parser
lol
yeah
nah that's the other way around
"Mozilla format" is plain CSS
no
worst case couldn't you add a entirely different vencord header xd
instead of needing two files
it only happens when you paste something with -moz-doc in
its their name for the classic one
i mean it seems like you dont actually
need to
i dont know how this owrks
lol
wait
OH
THIS IS A STYLUS THING
LOL
THIS IS STUPID
yes, I'm just saying if any extensions did break
where do you paste it
write new style -> paste
ive worked it out
its a thing with how stylus does stuff
it has its own format for storing this stuff
then it also has usercss support
okay
right
that makes sense
it complains but it doesnt seem to have an issue with it beyond that
right mystery solved
okay
now i need to find something to parse this shit
I suggest changing it to vencord-requiredPlugins
yeah and that's called "Mozilla format"
I couldn't explain it better than I did, I apologize
usercss sucks lol
too many different things with too many different extensions
:p
okay i think ive worked it out
vencss when
I mean... that's fair
somebody can improve on that later
it will most likely cover 99% of use cases
also, a feature suggestion
actually I think there's also a bug attached to it nevermind
I set those to be disabled by default in the header
but they are enabled by default instead
that would be a bug with the parser most likely
but i would double check
are you setting it to 1/0 or true/false
derp
as for the feature suggestion - it'd be nice to have a "restore to defaults" option for either every setting separately, all of them at once or both
Stylus has that and it's handy
checkbox parsing should be fixed
hm
would be useful
i could add it as a button at the top
found another bug - after removing a theme and restarting Vencord this pops out repeatedly. not sure what's the exact condition for it to do that, but it just happened now.
yes
yeah if you do that
then
it doesnt know the theme has been removed until it tries to compile it
you should disable the theme first then delete it
and the compiler error could be for anything
not just the file not existing
so
probably a good idea but I'm your average user who will do stupid shit and then be surprised it doesn't work
i mean it does work
so it's probably a good idea to safeguard it somehow
it wont load it again after that point
so if I restart it should be gone?
I did a soft restart and it still pops out lol
compiler errors on start mean the theme wont be loaded again
right then thats broken on vesktop ig
I'll try a hard restart
yep, still there
gonna readd the theme and disable it lol
that worked so there's that
also it's weird because it repeatedly popped out
I mean, it was notification spam lol
after it disappears another appears in it's place
from what you're saying it sounds like it should only show once... exactly
and once when you enable it (after it being disabled)
so yeah... it doesn't. if you say that's a Vesktop issue then it probably is.
btw, why doesn't that notification use the usual Vencord notification system?
the kind that pops out in the bottom right corner
it uses toasts
we use toasts in a few places
mainly for short lived notifications that dont really matter
toast delicious
yes
a per-setting reset button would be nice as well, in case you only fuck up one of them
clutterrrrrrrr
unless it only shows when you hover
hm
that wouldnt be too bad of an idea
I'd make it appear only on modified settings, and only be a small "X" on the right of the textbox
that would not be cluttered in my personal opinion
I guess it would be good as well
I love my bug luck
there's three errors on that screen
I pressed the new restore to defaults button
what's the "That also failed :(" dialog for actually
recovery
I've never seen that before
oh
guess it just doesn't happen on web
makes sense as that's a native pop-out
I assume you know what happened then, lemme know when I can test
yeah
crash recovery plugin
just me being silly
when you crash, it tries to recover from the crash by closing everything and rerendering
it tries a few times then it gives up
if it still fails it checks for updates and if there is an update prompts you to update
if update also fails it shows "that also failed"
@thick kestrel try
works great, both the checkbox defaults and restoring
๐
i reset the settings by deleting them, and then tried to render them
but
its empty
so there are no settings
so it crashes
lol
closing the dialog first and then forcing a refresh fixes it because then it reinits the settings from scratch
magic
(which was the intended effect)
Is your feature request related to a problem? Please describe.
Electron apps on GNOME tend to use an ugly and outdated looking CSD, and so does Vesktop. There are a couple exceptions such as VSCode (opt-in) and ArmCord.
Describe the solution you'd like
I'd like the app to have a ...
re armcord: they use a custom window frame completely done in html, whilst discord and vesktop do not, which means it wouldn't actually be a native appearance (and you can see it in the armcord window, it doesn't fit the GTK buttons or window theme because you have to turn the frame off).
imagine if it was discord themed but css themes could of course replicate popular themes
with gnome 40+ i believe adwaita is the only officially supported theme (or maybe it was always like that :P)
Describe the bug
No matter which streaming quality i select in vesktop, when the "stream with audio" option is enabled, nothing happens when i klick start streaming / go live. I can stream in over 1080p with vesktop which doesn't work with normal discord unless you're retarded enough to pay for that, however when streaming with vekstop only works if the "stream with audio" option is disabled.
What causes this issue? Can the developers reproduce this? Can i fix this anyhow?
**To Repro...
wrong, discord does on windows as well
it wouldnt be hard to implement
IANAL so idk how compatible GPL and AGPL are but https://github.com/Cynosphere/moonlight-extensions/tree/main/src/platformStyles
i never said discord on windows didnt do this

i just said that's what armcord does on linux
but on linux, discord does not
yeah and im saying just reuse the windows one as an option
could do
:warning: low quality
I am a bit out of my depth on this one. This PR would require some attention and care to bring it up to other Vencord plugin standards. I am willing to work with other contributors to make this happen but won't happen overnight.
My hope is that the usefulness of this plugin will come across and others can feel inspired to help me make this happen.
If that interest doesn't materialize, this can be closed.
:triangular_flag_on_post: Functionality
This adds a ...
oh dear
What is bro yapping about
@austere talon you will close with "this can be done in css" 
It uses hot keys
and it uses dom manipulation, whats your point
Also doesnโt use eslint and doesnโt use typescript typing at all
So yeah this gonna get closed
Well this kinda requires dom manipulate cause discord wouldnโt have code to close either of those
i could make something better but i shrimply do not care
skill issue
shrimply add a button and hotkey listener to have it add class names and animate it css if desired
"โ ๏ธ low quality" bro why did you even bother then
โ ๏ธ This is badly made and you probably don't want it (still gonna pr it tho)
i think i fixed the last major bug today
so it just needs codereview and we should be okay

There are numerous problems with your code and this most likely won't get merged as you can basically do this with css just without hot keys
I love the giant black bars that make it hard to see what the plugin even does 
Please make sure you run eslint to add the license header and make your code look good
Our plugins are made and typescript, not JavaScript. Add types please
i missed shitposting on jason citron's profile
true
you should give me admin so i can pretend to be jason
why do i get the nice reviews 
can somebody say something really horrible
Thank me later
i can delete it now
i might do a pr to open reviews in the model!!???
would that be appreciated
wdym
profile modal
instead of custom dialog
although maybe it's too small
would be nice to open reviews somehow from the modal
:O big brain idea could be just growing the modal like is done with serverinfo 
or having show reviews in the context menu so you can access it from the three dots
add it under the ... then?
otherwise it's super annoying to get their reviews
you need to copy id, ping them in a dm
idgi
say you've opened the profile from the members page where you can't open the popout
this would come in handy
putting it there means only like, 2 people would actually know its there
not really?
it's where the rest of the actions are
might as well add it for consistency with guilds
maybe also move the view reviews below server info, and add it to the right-click menu as well as the arrow menu...
That seems better to me tbh
It looks kinda clunky when its crammed in the user info
there's less space in the modal
None
None
None
None
None
None
None
None
Content
The discord link not work
Request Agreement
- [X] I have read the requirements for opening an issue above
The discord link not work ๐ฃ๏ธ
the invite works fine, if that's what they mean
Works on my machine
they made the same issue in vendetta ๐ญ
You might be ratelimited or banned from the server. Either way it's a you issue, the link works for everyone else.
whaat it's 3 tabs in a bit meant to have tabs
a 4th tab for reviews is fine imo
- activity tab
+ mutual group dms tab
eated them all
is it scrollable
nop
๐
Content
Dear devs,
Could be possible to kindly consider adding a toggle to swap the player location from bottom to top in SpotifyControls plugin?
- Example:
If the request really goes against the rules please delete it or redirect me to the right place.
I couldn't find any other place where to make a feature request (checked on Discord already).
Request Agreement
- [X] I ...
css
No not banned. its a new account. its only work for you but not other.
This is more of an experiment than anything else, and I'm not really sure if the way that the patchCspDirective function is done is a way that fits well with the rest of vencord's codebase - in any case though, I decided that making a draft PR would be good to get feedback and potentially discuss other options.
I'm fairly hesitant about the currently hardcoded instances, perhaps the defaults could be updated every so often if needed. There is an API we could query as well but this is ver...
@austere talon here is the result of my messing around with things tonight, it's not very polished at all but I mostly wanted to get the idea of manipulating CSP headers out there now that it's easier to do with the native plugin code
it's entirely possible I missed how to let iframes bypass csp by patching them like with fixspotifyvolume, but from what I saw there wasn't a way to modify the src of a frame directly
also i haven't actually tried it with piped yet, I assume it works though
will try in the morning
i think itd be neat if csp was patched based on settings
its possible afaik
so it only allows the instance you set it to
that is what this pr does, yeah
it wasn't this easy to implement until the plugin specific native code though (at least, this feels a lot cleaner than it might have been before)
thinking about it, this approach could also be used for any plugins that include external scripts
Native means running in the electron host, right?
I wrote this snippet a year ago idk if it still works. use the support channel next time
[class|=panels] {
display: flex;
flex-direction: column;
}
#vc-spotify-player {
order: -1;
}
Also keep in mind that german is real 
it's already very full even without mutual groups plugin
german is fake
can't fool me
oh i thought it was cuz u said the instances were hardcoded
but its just a default list
before next vesktop release: make it also migrate indexeddb from old location
maybe also localStorage but i think localStorage is purely used as cache by discord and token (need to relogin but eh it's OK)
Content
Someone had briefly taken over my account, but that was fixed. Therefore, please lift my ban. It really wasn't my fault.
User Shelly74_AT
Request Agreement
- [X] I have read the requirements for opening an issue above
never

tried to ping everyone with an invite (spam bot)
so he was actually hacked but tbh i don't even wanna unban now
how is one meant to appeal xd
not by shitting up the git repo
Thank you!!! I never realized how the QuickCSS File works in Vencord lol.
I edited this way to make it work:
`.panels__58331 {
display: flex;
flex-direction: column;
}
#vc-spotify-player {
order: -1;
border-width: 1px 0px 1px 0px;
border-style: solid;
color: #37393f;
box-shadow: 0 5px 10px black;
}`
serious discussion before I actually start implementing this - adding an option to message logger to make it so in edited messages, removed/added words are easier to see (something like a diff file?)
I'm not sure how well that would work with markdown formatting
jumpscare
make modal when u click (edited)
I've made a plugin for that
Doesn't do any diffing, but flipping back and forth usually makes it easy to tell
mainWindow.webContents.setWindowOpenHandler(({
url,
frameName,
features
}) => {
if (frameName.startsWith(DISCORD_NAMESPACE) && (0, _securityUtils.checkUrlOriginMatches)(url, WEBAPP_ENDPOINT) && getSanitizedPath(url) === '/popout') {
return popoutWindows.openOrFocusWindow(url, frameName, features);
} else if ((0, _securityUtils.shouldOpenExternalUrl)(url)) {
(0, _securityUtils.saferShellOpenExternal)(url);
}
return {
action: 'deny'
};
});
need to reverse engineer this a bit and implement the same for vesktop
vscode-neovim is so fire
Should I use main or dev as base branch for contributions? @austere talon
oh sorry for the ping
dev
oki
developer
developer
@crude hearth Windows 11
Vesktop-Based
LOL
what does it do?
nicee
when you start a screenshare there's a dropdown of audio sources to use. is mumble listed here?
if yes, we could add the exact same dropdown a second time, this time for audio to exclude
SAME THOUGHT YEAH
i ported it ^
I meant what it was responsible for but the commit message cleared it up
when you start a screenshare there's a dropdown of audio sources to use. is mumble listed here?
if yes, we could add the exact same dropdown a second time, this time for audio to exclude
I think this is the way, venmic already supports this ^^
But why
yeah im just curious if its listed there at all
WTF Vesktop Based
should be fixed via https://github.com/Vencord/Vesktop/commit/6483b3a3d96181c9dca87abb095f94291146d161
please try again once the next vesktop version has been released (soon) and report back then
virus
finally infected venmic 3.2.2
we need a glossary which contains virus, EXPLOD, lmao, whitename and shiggy (the main words used in this server) 
veectonary
3ac0ed3 config migration: also migrate indexeddb - Vendicated
2aa0b0f prettier update borked lint somehow woah - Vendicated
btw noah there are a bunch of issues about venmic not linking the right nodes
are those all fixed in v3?
Vencord
where?
didn't know about these but I changed some logic, so could be
Interesting, I'd have to know the steps to reproduce this and the input Vesktop calls venmic with
The latter is now logged by venmic so should be easy to find out
Can you transfer the issue?
okay so once vesktop with new venmic is out we should ask them if it's fixed
if not you can debug it w them
Yes
actually this is a Linux user i can tell to run from source

actually no i don't wanna make them do that
btw can you give me perms to transfer issues?
cause latest update migrates your configs so if they run the new one and then keep using old it will fuck up their config lmao
hmm can you not?
nope
you're an org member no?
yeah but probably restricted access for vesktop? idk
well you need vesktop write access to move issues
ill give you triage on vesktop maybe that's enough
you need it on the source and target repo i thought
eh, my brain might have made that up
try now
I think I have full access on venmic
abmin
uhh looks like I can assign and close but not transfer
now?
lol discord dumb
When interacting with the Screenshare feature on Linux, the behavior that allows you to close in on the application does not function properly.
This is how vencord-screen-share should function, as seen by qpwgraph
Some situations where an individual requests to screen share a singular app...
alright
that's meh
true
i don't really wanna give u write access on vesktop
not cause i don't trust u but because it's unnecessary and best for security to give only permissions that are actually needed
dumb that github does it this way, you're telling me the role that's literally issue manager can't transfer issues

we could have a bot lmao
i unironically might
yes sorry
ya but does it actually matter
Yes
why
After it's moved its garbage
no
it has to be in a valid state after being moved
but the log is basically useless then
do u mean like zero value struct
funny
@ioletsgo Is there any way to reproduce this reliably?
@austere talon set a timer for 50mins lmao
tbh i dont like having two such similar plugins. i suggest merging the two plugins into one and using settings to make the separate features configurable
Done :3
Well now probably update the description/name
"NewGuildSettings" or something similar :shipit:
autogain
The windows one works just fine on linux
i used this to enable it, though itd be nice to enable this for linux devices without this stuff:
Vesktop.Settings.store.discordWindowsTitleBar = true
Vencord.Settings.winNativeTitleBar = true
Vencord.Settings.frameless = true
if (navigator.platform?.toLowerCase().includes("linux")) VCDP.getPlatformClass= () => {return "platform-win"}
the last line just makes this part rounded (i have the snippet in a plugin so it auto applys that)
!...
The windows one works just fine on linux i used this to enable it, though itd be nice to enable this for linux devices without this stuff:
Vesktop.Settings.store.discordWindowsTitleBar = true Vencord.Settings.winNativeTitleBar = true Vencord.Settings.frameless = true if (navigator.platform?.toLowerCase().includes("linux")) VCDP.getPlatformClass= () => {return "platform-win"}the last line just makes this part rounded (i have the snippet in a plugin so i...
Ideally this should be an option that is force-enabled in Wayland clients lacking xdg-decorations support, and/or having it but having the value set to FORCE CSDS, while keeping it opt-in on Wayland clients that have xdg-decorations and either set it to FORCE SSDS or APPLICATIONS DECIDE.
That being said, by option I of course mean actually exposing it on the Vencord settings page.
2e4c834 also allow using discord titlebar on non-windows - Vendicated
83e74b9 don't disable tray 'Open' item when window is s... - Vendicated
None
None
None
None
None
None
None
None
wait
The workflow is not valid. .github/workflows/release.yml (Line: 44, Col: 29): Unexpected symbol: '"mac"'. Located at position 20 within expression: matrix.platform == "mac" && secrets.APPLE_SIGNING_CERT
# recreate tag
tag="$(git describe --tags --abbrev=0)"
gh api -X DELETE "repos/:owner/:repo/git/refs/tags/$tag"
git tag --delete "$tag"
git tag "$tag"
git push --tags
# recreate tag
$tag = git describe --tags --abbrev=0
gh api -X DELETE "repos/:owner/:repo/git/refs/tags/$tag"
git tag --delete "$tag"
git tag "$tag"
git push --tags
bleh
failed again :/
its finally working omg
surely noone will notice that i bumped from v0.4.4 -> v1.5.0
looks like mac worked @turbid hatch
oh i forgot to bump version ._.
prepend that didnt happen

i hate windows so much
btw @turbid hatch we should also sign the installer now
do u know how to do that with cli
looks like its just codesign cli
f3d952d Insert release changes for v1.5.0 - github-actions[bot]
This PR updates the metainfo for release v1.5.0. @lewisakura @Vendicated
inb4 flagged as malware cause it reads "other app"'s (old "VencordDesktop") AppData/Roaming
@austere talon when thereโs a new vesktop update should the download not open in app like other links? itโs kinda inconsistent
sorry what
Did you have a stroke

i've heard windows has a native system for auto-updates...
will likely use this https://www.npmjs.com/package/electron-simple-updater
you're supposed to use https://www.npmjs.com/package/electron-updater, but it's 200kb which is ridiculous
this is 50kb, but i will likely fork it and remove semver/axios dependencies and it will be below 10kb
oh nvm
that uses squirrel
horror
i thought it supported same targets as electron-autoupdater
pain
shrimply create your own
:/
so bloat
not really possible to reduce size much without major rewrite
no wonder its so bloat when they add a dependency just for this https://github.com/develar/lazy-val/blob/master/src/main.ts#L1-L27
**main.ts: **Lines 1-27
export class Lazy<T> {
private _value: Promise<T> | null = null
private creator: (() => Promise<T>) | null
constructor(creator: () => Promise<T>) {
this.creator = creator
}
get hasValue() {
return this.creator == null
}
get value(): Promise<T> {
if (this.creator == null) {
return this._value!!
}
const result = this.creator()
this.value = result
return result
}
set value(value: Promise<T>) {
this._value = value
this.creator = null
}
}
Describe the bug
The latest release is not updating Vesktop to the latest build
To Reproduce
Steps to reproduce the behavior:
- Download the latest release as of now 1.5.0
- Install build and has no errors
- Vesktop is showing as older release 0.4.4
- Prompt is asking to update Vesktop again
Expected behavior
Should update to the latest release
Desktop (please complete the following information):
- OS/Distro: Linux
- Desktop Environment (linux only): ...
the app has been renamed. you likely have it installed with two names now. Uninstall the old VencordDesktop app
use Object.entries if you need both key and value
what's the point of this? it only seems useful if it's a "try every instance in order until one doesn't error"
if you don't actually need to match it, just use a lookbehind
match: /(?<=let{src:\i,autoMute:\i.{10,200}src:)(\i)/,
1a982ae feat(anonymisefilenames): add icon to toggle an... - rniii
f14001b ClientTheme light mode support, shortcut button... - CodeF53
ad9b0b7 roleColorEverywhere: thread role color (again) ... - AutumnVN
i really don't get what i'm meant to do here
it feels like it's been at least 5 business years since this comment
I started work on something similar ages ago btw
https://github.com/TheKodeToad/ToadMod/tree/collapsible-ui
ba2695b Add FixCodeblockGap plugin (#2064) - jedenastka
ba6d23a fix adding View Raw to undesired channel contex... - Vendicated
8c89002 forgor not everyone uses enlgihs - Vendicated
cb7045c WebContextMenus: use vesktop native clipboard -... - Vendicated
69a4d27 fix(git updater): correctly persist isDev switch - Vendicated
@austere talon
REAL
cuz it cant :p
and it should be upstreamed according to flatpak devs
i really don't care what they think
unless we need it for anything else
btw merge that steam os pr
oh u did
well it cant make a pr to fp anyway
however can u make one for me
to fix the flatpak
as for update the fix should just be replacing vencorddesktop with vesktop everywhere
cause its not called vencorddesktop anymore so it cant build
ye
im on mobile atm going to work
im going to bed
How can I change channel position in category?
You probably want to be in #๐ฅ-vencord-support-๐ฅ or #๐งฉ-plugin-development
No, I'm asking about api. Tried different stores, but couldn't find a method
Drag a channel around and check in devtools what request is sent
Oh, no I don't wanna send http request for doing this. I'm looking for api
Oh, client-only reordering?
Of course no. A normal channel order change, but just with api. Exactly as discord is doing it when you drag a channel. Obviously it has a method that eventully sends an http request and I'm looking exactly for such a method.
What I want to achieve in the long run is having a context button that moves the channel to the top of its category.
Then send that request and check the stacktrace
Looks like it's called through batchChannelUpdate, from module 667771
@Exponential-Workload I've just left a comment on the AUR page, hopefully the maintainer updates their package soon. :smile:
Describe the bug
When running vesktop on Gnome on Arch Linux and scaling set to 2x, it looks fine in X11 mode. However, the performance is poor so even when running default Discord I force it to Wayland with
--enable-features=UseOzonePlatform --ozone-platform=wayland
Which works fine, especially on other third-party clients.
With vesktop however, it does not scale properly when Wayland is enabled, looking blurry. This seems unique to vesktop.
One can throw in --force-device-...
@Exponential-Workload I've just left a comment on the AUR page, hopefully the maintainer updates their package soon. :smile:
i left one too a day after making this issue, still no update - atp im tempted to just make a fork of the pkg (I'm using -git)
not sure if the pkg is considerable as abandoned yet or not
try building from source with older / newer (alpha) electron versions and see if its fixed
nothing on our end, simply an issue with electron
@harsh iris hi, are you sure this is correct? https://github.com/NixOS/nixpkgs/pull/281279/files
Description of changes
Release notes: https://github.com/Vencord/Vesktop/releases/tag/v1.5.0
Diff: Vencord/Vesktop@v0.4.3...v1.5.0
Also enables downloading darwin-specific dependencies in pnpmDeps ...
1.5.0 fully made the vencord desktop -> vesktop rename which means the binaries and co have all been renamed to vesktop now
but the config still refers to the old "vencorddesktop" name
That works for now, thank you very much.
For anyone reading, newer electron, 29 alpha, did not work.
However, 24.8.8, changed within package.json, did work.
holy shit that's an ancient electron
holy shit why so old, try 27/26
closing because there's nothing we can do. you should try to create a minimal reproduction example electron app and report it to electron
holy shit why so old, try 27/26
Believe it or not, I did. It seems that 24 is the newest that works unfortunately.
Bruh
another solution you could try is disabling hardware acceleration in vesktop settings. but it might worsen performance
I started work on something similar ages ago btw https://github.com/TheKodeToad/ToadMod/tree/collapsible-ui
@TheKodeToad Nice, yours is significantly better.
Are you still working on that plugin? What's your plans for that?
if I made a pr for onepingperdm to have an option to use debounce so sends one ping per every 30 seconds instead of one ping when its not unread, would people use it
Are you having a stroke or am I stupid
sounds like some people would use it
the way it currently works is
// a whole bunch of extra logic
...
// if its the oldest unread message, send a ping sound
return ReadStateStore.getOldestUnreadMessageId(message.channel_id) === message.id
I would be implementing new logic that allows future pings beyond the oldest unread
!
!
!
!
1.5.0 installs to a new path so it's normal for that to be an additional program (you can simply uninstall the old versions).
Not sure about 0.3.3 and 0.4.4 though, maybe someone else has more insight on that
... uninstall the obsolete ones?
wtf is that issue
like.. congratulations on your 3 vesktops buddy?

im confused xd
Not sure either I guess he was complaining that they were seperate (I guess he always used the installer??) not sure
Is it possible to check whether user's DMs are open via api?
no
send them a dm
If you mean "whether the page the client is currently displaying is a dm channel", then I would assume that's possible via some module
If you mean "whether an arbitrary user is susceptible to unsolicited dms", no
Describe the bug
The system tray entry shows a placeholder instead of the vencord/vesktop icon
To Reproduce
Steps to reproduce the behavior:
- install from flathub
- launch the vesktop
Expected behavior
An icon instead of the placeholder
Screenshots
Desktop (please complete the following information):
- OS/Distro: Fedora Linux 39
- Desktop Environment (...
nono, do this:
function areDMsOpen(user) {
return Math.random() >= 0.5
}
(might not work half the time)
ohhh
why didn't i think of that 

Functionality
This plugin automatically replaces twitter.com and x.com links in messages with fxtwitter.com links.
It uses a presend listener to capture and edit messages. It's very simple, but particularly convenient now that normal embeds from Twitter/X no longer work.
Demo
this can be done with just textreplace lmao
this is like the tenth duplicate now
this can be done with textreplace
https://github.com/Vendicated/Vencord/pulls?q=is%3Apr+fxtwitter+is%3Aclosed
Why do people always make that lmao
good way to learn i guess

you would've thought people would be more familiar with a project before contributing...
Yeah 
I looked a little closer at the dbus communication, and found this error (1.3059 is vesktop and 1.33 is gnome shell)
โฃ Type=method_call Endian=l Flags=0 Version=1 Cookie=104458 Timestamp="Tue 2024-01-16 22:43:22.503812 UTC"
Sender=:1.33 Destination=:1.3059 Path=/com/canonical/dbusmenu Interface=com.canonical.dbusmenu Member=AboutToShow
UniqueName=:1.33
MESSAGE "i" {
INT32 0;
};
โฃ Type=error Endian=l Flags=1 Version=1 Cookie=24 ReplyCookie=104458 Ti...
Relevant log from the extension
appindicatorsupport@rgcjonas.gmail.com[4755]: chrome_status_icon_1, Impossible to lookup icon for 'status_icon_0' in /tmp/.org.chromium.Chromium.tqr5kh
Setting TMPDIR=$XDG_RUNTIME_DIR fixes the issue. See https://github.com/electron-userland/electron-builder/pull/1453
... uninstall the obsolete ones?
I did and it uninstalled the new one aswell. Such a hassle for everyone just because someone wanted his ego boost...
just because someone wanted his ego boost...
What?
What the fuck?
bro what ๐ญ
What 
ego boost? the app has been renamed internally, from vencorddesktop to vesktop, hence the complications.
you would know this if you cared to read the changelog.
incredible intelligence on display
Frame that shit and send it to a museum lmao
None
None
None
None
None
None
None
None
if someone could review/merge any of these prs that would be great, i've been waiting on them for a long time
started working on docs finally https://gist.github.com/Vendicated/e52535b239d11f344f536d4fdea40fe3
I am reading PipeWire's sources at this moment and I just realized that node.target is deprecated https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/src/pipewire/keys.h#L340. No wonder it is not being defined :smile:
lmk if you need help, id be willing to do so
The thought was that if we provide any default instances, to randomize between them to spread load - since there isn't any official instance it wouldn't be very polite to dump a bunch of vencord users onto one specific instance - that said, we could also just not provide any default instances and make each user provide their own in order to use the plugin.
epico
w use of inline blocks, dont see many using it
ig its too new still
EasyEffects now reads the custom PW_KEY_TARGET_OBJECT set by the user to the stream node and tries to not touch the stream if it is not recording from the same input device EasyEffects is using. There are some limitations. For example the stream has to be started when EasyEffects is already running. And if EasyEffects is started when the stream is already there there is a chance that we do not know yet which input device we have to use by the time pipewire tells us about the stream properti...
looking at it again, changing the app id didn't our effect our packaging since electron-builder doesn't really give us paths that depend on that. we just used vencorddesktop as the name for some things (like the main electron wrapper that runs the unpacked asar) since that's what electron-builder's appimage generator and the flathub used before for whatever reason
for whatever reason
because that was the internal name
yeah but the flatpak was already using vesktop as well in other places
like startvesktop and using dev.vencord.Vesktop in app icons for example
just was odd to me since it's pretty easy to name the files whatever you want, but ig that comes from using the appimage as a basis
it was half renamed because renaming the app makes users lose all their data.
i added migration logic and fully did the rename this version
i know, i'm just saying the app's binary name and things like desktop files could be changed regardless of that. like here in the flatpak manifest for example, things were already being renamed
it's not a requirement, and it makes more sense to name a binary vesktop for example and not care about that internal name
which is why i said
ig that comes from using the appimage as a basis

the appimage is autogenerated, which explains a lot of the weirdness
the flatpak isn't compiled from source like most other linux packages or the nixpkgs version, where we do have control over it - just that appimage
Describe the bug
Child windows have both the client-side window decoration and the server-side window decoration. They don't obey the "Show Menu Bar" option you can configure in Vesktop. Closing a child window through the clientside close button closes the main window instead.
To Reproduce
I think the most straightforward approach to reproduce this is to take a look at the stream debug child window.
Expected behavior
Behaviour should be consistent between the main Discord...
never said it did, just that repackaging an auto generated thing leads to some weird stuff
Is your feature request related to a problem? Please describe.
This solves a problem with consistency on Wayland desktops.
Describe the solution you'd like
The .desktop file could have --ozone-platform-hint=auto appended to it. It would be possible to pass it straight from the app's code via app.commandLine.appendSwitch('ozone-platform-hint', 'auto') but I couldn't get it to ever work in my Electron test thingamajigs.
Describe alternatives you've considered
XWayland...




