« first day (1697 days earlier)      last day (42 days later) » 

14:33
hey if you want to contribute to vyxal bot it would be Super Cool if someone could reimplement... I forgot what it was
autotagging needs to happen but I'm doing that right now
oh also I would love to help but you'd have to give pointers on how
don't think we need !!/prod anymore
ah. important repositories and pinning
uh
let's move to the vyxal room maybe
partially because I've never coded bots
aight
7 messages moved from Par for the Course Comics and Film Co.
bot didn't see the moved messages, oh well
2 messages moved from Par for the Course Comics and Film Co.
hooray
14:36
so the bot is actually not that complicated
the thing you can help me with is making it so that releases in Important Repositories get pinned
and adding a system to manage Important Repositories
...plain english please?
which means you'll have to add:
- a command to manage which repositories are important
- a new database model
- a bit of extra code to the github webhook handler
no clue what you're referring to :P
okay
@Redz the old bot pinned releases from a few repositories
like this:
14:39
@VyxalBot if Sandbox were an Important Repository this would get pinned
but I have not added that functionality yet
if you want to help with the bot you can add it
but I would suggest 1. not doing it at 1am AUS time and 2. waiting until I add instructions for testing the bot locally, which I am doing right now
I see
can I have the GitHub link so I can browse through and kinda sorta start understanding how the bot works?
@Ginger excellent suggestions both
thanks!
all the command implementations are in vyxalbot3/commands/__init__.py, all the github webhook handlers are in vyxalbot3/github/webhook.py, the database schema is in prisma/schema.prisma
got it
I'll have a read through
14:43
alrighty
I also, uh, have never touched webdev python, thus this will be a learning experience to say the least
this is barely webdev :p
gingershaped pushed a commit to VyxalBot3/main in Vyxal/VyxalBot3: Add development instructions and sample .env
15:03
@lyxal how did you want autotagging to work?
the last bot had two different systems for it, one that added tags to PRs based on issues they closed and one that added tags to PRs by matching their branch names against regex
15:18
gingershaped pushed a commit to Vyxal/version-3 in Vyxal/Vyxal: Don't build native executables on release
 
2 hours later…
16:59
@lyxal regarding !!/run, I think we have four options:
- have the bot download a vyxal JAR from github releases and invoke it in a subprocess
- do that but using JNI instead of a subprocess
- use a JS engine to run the JS version instead
- write a web service (like Tyxal) that does one of those things and have the bot make an API call to it
[user] 1 sounds best? Unless you mean it'd have to download a new JAR every time
I mean, not necessarily
[user] I don't see how JNI would help here though
but the issue with #1/#2 is that the last release with a JAR artifact is 3.4.1
[user] I see
17:00
every release after it only has the source because the build workflow broke
[user] You can use Node to run the JS version locally then
@Ginger [user] Wait what
[user] I need to fix
@Bridget yeah but that's... eugh
@Bridget it was because native was borked iirc
I think lyxal elected to just stop offering native builds, and I removed the native build step from the release workflow a few hours ago
[user] But why not keep JVM builds going too?
yeah they are
[user] Oh only a few hours ago
17:02
but if native fails then no artifacts get uploaded at all
and it's been failing since 3.4.1
because GitHub is GitHub I can't kick the workflow for the old releases, though
[user] Beautiful
the other thing that I need input on is archiving
my favorite!
in short, the way we are doing archiving right now has several problems
[user] Oh boy oh boy
biggest one being that if theseus were to (hypothetically) have a subtle yet critical bug that went unnoticed for multiple versions, we wouldn't be able to fix it in the archives
since we archive the entire website
and by "hypothetically" I mean "dictionary compression is broken for every version since 3.4.6"
[user] Uhh
[user] Could you explain for a dummy how archiving the entire website is causing dictionary compression to be broken?
@Ginger [user] Should I make a new release just to get the JAR on that build?
17:08
I made a mistake that broke compression on the web version, and since that mistake has been there since the first commit of theseus every single archived version since 3.4.6 (which is when we switched to theseus) is also broken
@Bridget sure
@Ginger [user] I mean, hypothetically, we could write a script that goes through all previous versions and puts the right code in there, right? How difficult would that be?
we could do that, yes
but 1. that would suck to do because it would have to patch the minified JS, and 2. what if this happens again?
this strategy is not sustainable
[user] Oh it's minified, nice
and additionally doing it like this means the archived versions don't have features added after their release
my solution is simple: only archive the interpreter JS
[user] Sure
17:10
and add shims to theseus so it can load any archived version
[user] But this does mean that the API that you use to interact with the interpreter can't undergo breaking changes
it doesn't; see above
[user] Shims, okay
@Ginger [user] Actually nvm it's not too important right now
[user] I have a really really old PR languishing that I think I might fix up and merge later this week once finals are over
[user] Then I could go make a release
right lol
@Ginger so that is what I will try to do, but we need to decide how version switching will work
conveniently, I don't have to make any changes to the archive to implement this
permalinks all go to latest.html already
what I think I'll do is add a version selector dropdown somewhere in the UI, which changes the version number encoded in the permalink and reloads the site
gingershaped created branch unified-versions in Vyxal/vyxal.github.io

« first day (1697 days earlier)      last day (42 days later) »