#hangar-contrib

1 messages · Page 3 of 1

lofty comet
#

Although I clicked some and they were working for me...

knotty verge
#

Did you click on the downloads?

#

For some of them specific platforms work and others don’t

jovial lintel
#

thats really strange

#

hehe I can see you trying to fetch them in my logs but nothing else

#

(looking at the first one rn)

#

stuff should be in a transaction, mmh

jovial lintel
#

interestingly we have a health report that covers this

#

its just disabled 😄

#

issue is that its really slow to do, maybe I can make it async somehow

#

like I could trigger a new report, get an id, run the queries in background and have the frontend poll for the id

#

altho that gets funny since we have many instances

#

sounds like a for tomorrow problem

#

oh, well, no, not tomorrow 😂

jovial lintel
#

yey

#

(this uses a thread.sleep, lol)

#

but on prod its slow

lofty comet
jovial lintel
#

stuff that hasnt been updated in a while

lofty comet
jovial lintel
#

wdym

#

like this, lol

lofty comet
#

I meant what interval you consider them stale

#

6 months?

jovial lintel
#

idk, doesnt matter

#

its sorted

#

default config is 28 it seems

#

all this was inherited from ore btw

lofty comet
#

28 months? damn

jovial lintel
#

days

lofty comet
#

oh

#

well that's kinda an useless amount lol

#

not every project needs to be updated every month lol

#

I'd only consider a project stale at 6-9 months

jovial lintel
#

Feels bad man

#

Idk what's up with that or how to even look into this

lofty comet
#

you know

#

these times are the times when I am happy I am just doing frontend stuff

#

xD

jovial lintel
#

Idk why my number is so much higher than Julian's but I guess he can't see deleted versions and that's a big part maybe?

lofty comet
#

By missing file does that mean a file was not provided or (I assume it's this) the file is corrupted or got somehow deleted?

jovial lintel
#

Idk

lofty comet
#

Oh...

#

yeah, good luck xD

#

🤞 for ya

knotty verge
outer kettle
#

That looks more like a bad scan

#

not accounting for shared files across platforms

jovial lintel
#

oh, mhh

#

I didnt touch the scans, just actually made them work for once, lol

#

but ye, should have cross checked, was already on my couch yesterday

jovial lintel
#

Targeted ads are insane nowadays

lofty comet
#

Send me that, I need those tips

jovial lintel
#

Its just ai assistant shit

lofty comet
#

Oh okay yeah

#

No thanks indeed xd

timid briar
# jovial lintel Targeted ads are insane nowadays

glad my advertisement profile is as clean as it can be
i even roll my advertisement id from time to time
i clear everything i can clear from those data hungry fckers and never traverse the internet without adblocker

#

if a site blocks adblockers (and succeeds unlike youtube) i am not using that site

jovial lintel
lofty comet
#

Outplayed

#

So the YouTube channel knows about hangar uh

jovial lintel
#

I did a thing

#

idk why but I had that thought at like 3 am randomly this night and wrote it down, lol

#

any guesses for prod?

mental fern
#

Oh that's a nice idea

lofty comet
#

Sooo, it displays the file sizes of projects?

#

I am confused, what's the use case? or am I missing smt out?

jovial lintel
#

big number cool

knotty verge
#

that's total file size of the entire project, right? Largest individual versions would also be interesting

lofty comet
jovial lintel
#

ok first one is via, thats not surprising, but the rest is fun

#

you will receive my next b2 bill @outer kettle

#

oh I dont even display file count, but thats 701 for via, 332 for betterhud and 436 for better model.

#

via is highest file size count, but sayanvanish is close escond with 668

#

in total its 16127 files and 28.6gb

#

largest jars are solarsystem by onelitefeather at 10mb each, but others follow closely

timid briar
jovial lintel
#

heh

nova vessel
#

PaperMC could solve a lot of problems (and create a lot of new ones) by bundling a specific kotlin version with Paper!

timid briar
#

i am in favor of banning kotlin all together

#

would solve a lot more problems

timid briar
# jovial lintel

i would have expected my plugin with the most versions (91) very far up there but i just checked and there are only ~42MB of artifacts
(i take minimizing jar sizes very serious)
the very first 4 versions actually arent well optimized and have a total size of 6.3MB (i didnt exclude gson, jackson and auth0 jwt (no idea why that was even in there))
all versions after that are ~400kb each

jovial lintel
#

good boi

knotty verge
jovial lintel
#

dont we limit to 15?

#

I think so

knotty verge
#

Ah

lofty comet
knotty verge
lofty comet
timid briar
#

only noticed after trying to send the jar to a friend via discord and it didnt let me

lofty comet
#

I did think of using paper loaders for runtime dependency downloading but kotlin doesn't like being downloaded like that xD

#

(or is it kotlin-reflect? idk anymore)

#

either way, I never really saw the appeal to "very small sized plugins"

#

I prefer including everything needed in a plugin than having users download dependencies themselves. Hence why I shade PE

timid briar
#

the internet would be a better place if everyone started to overoptimize on everything
especially bundle sizes

mental fern
#

I basically always use the plugin loader for runtime dependency resolution

lofty comet
#

with kotlin?

mental fern
#

My jar sizes are always in the kilobytes

mental fern
lofty comet
#

well hence my point

#

I was doing that a while ago

#

and ran into issues

mental fern
#

Write your loader in Java, make it load the kotlin stdlib, and it works shrug

lofty comet
#

specially with both kotlin and PE which didn't like being ran like that

lofty comet
timid briar
#

write your plugin in java
dont have to load kotlin
everything faster, smaller, better

jovial lintel
lofty comet
#

or just bundle kotlin into paper

#

what could go wrong?

#

isn't mysql or smt already bundled for some reason?

#

why not bundle something people would actually use...

timid briar
#

jdbc is

mental fern
#

sqlite

timid briar
#

i am still in favor of bundling jdbc drivers into velocity

lofty comet
#

I have yet to see a person that uses the bundled sqlite or whatever

#

they all add their own

mental fern
#

I have used it plenty when I used to use sqlite

#

I just use h2 nowadays lol

lofty comet
#

gud

#

also isn't this whole conversation kinda offtopic

mental fern
#

But sqlite is bundled because of historical reasons

#

Bundling kotlin now would not be beneficial seeing as nothing in paper or minecraft uses kotlin

#

Just write a plugin which includes the stdlib and make your plugins depend on it shrug

timid briar
#

i have a good plugin name for that

kotling language fabric paper

#

if a plugin would require me to put that on my server i would rewrite it in java 🙂

#

i actually go out of my way and avoid mods that require kotlin as it brings up startup times by an insane amount

lofty comet
#

or sqlite?

lofty comet
mental fern
#

No, but iirc it was a bukkit/spigot decision to bundle sqlite, in order to simplify plugins doing database stuff

lofty comet
#

making it be "Plug, download dependency, plug and play"

mental fern
#

So not a Paper decision, they just kept it in to not break compat

lofty comet
timid briar
#

i dont hate kotlin as a language

#

i just avoid it at all costs

lofty comet
timid briar
#

on android it has its place now
but apart from that it is just annoying

mental fern
#

I don't really understand the kotlin push though, Paper and Minecraft both are written with Java, why would we go ahead and officially support a language which is not used here?

lofty comet
mental fern
#

That's like people asking for paperweight support on Maven, Paper tooling doesn't use it, so why would it be provided

mental fern
lofty comet
#

I guess I see your point, but on the other hand, why should people be limited by java just because paper is in java?

hollow edge
#

This isn't really on-topic for the channel anymore, could you move the conversation to #general

timid briar
uneven vergeBOT
past path
timid briar
past path
#

and that's why we have floodgate (and not... this)

nova vessel
lofty comet
nova vessel
#

Whichever makes you happier. If you're going to be dumping a pile I'm fine for my inbox to take the hit.

jovial lintel
#

Or you know, use the report function hangar has, lol

nova vessel
#

A report function?

#

-# (yeah, could do that too)

lofty comet
#

should be removed

lofty comet
#

ew

#

bad guy

#

@mental fern one for ya

#

guess not anymore

mental fern
#

Sorry, I was in the theater

lofty comet
jovial lintel
#

Just ping @ mods

rapid jacinth
#

as this was rather painful to research I suggest the following to potentially be put here: https://docs.papermc.io/misc/hangar-publishing/ (or somewhere else users can find it)...I don't know if these docs can be contributed to anywhere so feel free to guide me if thats the case

It is possible to automatically update the "Resource Page" (with the gradle plugin)
I quickly found out that the gradle part was to put this: pages.resourcePage(README) in

hangarPublish {
    publications.register("plugin") {
        //here
    }
}```
while defining `README` like this: `val README: String = project.file("README.md").readText(Charsets.UTF_8)`

but the detail that I couldn't find anywhere is that in the workflow you need to put in the `syncAllPagesToHangar` like this:
```      - name: Publish
        env:
          HANGAR_API_TOKEN: ${{ secrets.HANGAR_API_TOKEN }}
        run: ./gradlew build publishPluginPublicationToHangar syncAllPagesToHangar --stacktrace```
outer kettle
timid briar
#

maybe a hangar mod wants to take a look at that

mental fern
#

That's very interesting indeed

#

It does seem like they tried to make some sort of plugin though

#

Seems to just be a broken jar though, I cannot exactly see anything malicious apart from that. I would still rid of it from Hangar, since it doesn't exactly seem to work

#

Oh it's a text file

#

I was overcomplicating it

#

That's... weird

timid briar
#

funny
probably broken publishing

lofty comet
#

Random as hell but is there a reason why Nuxt isn't being used as the backend? Was it due to hangar being originally a port of ORE? Familiarity with Java/Spring? Or was Nuxt simply not viable performance wise?

jovial lintel
#

Kenny would murder me

#

And I am not convinced typescript nicely scales to big apps organization wise

fathom girder
#

Every paper backend is using spring

#

At least the ones I know

#

Hangar, fill, javaduck

#

Proofreader

lofty comet
#

I am looking into possibly using ktor for a uni project of mine, not the biggest fan of spring personally, was just wondering about tech stack

jovial lintel
#

we love typescript, 85 type errors after dep updates 😄

#

I guess I should have read more of the vue router 5 migration page

lofty comet
#

Rookie mistake smh

#

/s

jovial lintel
#

It's most likely a bug in nuxt

jovial lintel
#

as expected, two weeks later just updating the deps fixed it

#

for some dum reason they still having fixed local builds on windows taking fucking ages

jovial lintel
#

fuck this i18n shit, I am ripping it out

#

how can such a simple thing as translating a few texts always cause so many issues

lofty comet
#

????

#

Context?

pallid tulip
uneven vergeBOT
mental fern
#

Average "Discord didn't delete the messages"-moment

jovial lintel
#

It's at least the 4th time updating that shit breaks stuff and wastes hours of my time, I am done, I am creating my own

lofty comet
#

Most developer thing ever

#

"I don't like it, I will create my own"

#

Xd

#

Hey, have fun, tbf shouldn't be THAT hard

jovial lintel
#

No clue when I have time tho, this week is move week and I'll be without proper Internet for a bit ^^

#

Vue i18n is overly complicated for our use anyways, all the hooks into routing and storing language selection themselves and stuff

fathom girder
#

Sorting might be broken

#

Notice the sort by dropdown on the second image and the download count on the first

#

-# sorry if it’s already known I don’t really have time to double check

lofty comet
#

Hmmm

#

Interesting

inner hull
jovial lintel
#

sad, updating shit didnt fix staging

#

guess ill really have to redo i18n

jovial lintel
#

ok fixed

#

for some reason text color is all messed up

jovial lintel
#

so think its not broken, it might be a "hey this is more relevant" kinda thing in meili?

#

lemme see if I can login in prod meili dashboard

#

hey @flat cape iirc you use meili too for stuff, did you utilize user defined sorting? did you tune the sort rules?

#
"rankingRules": [
        "words",
        "sort",
        "typo",
        "proximity",
        "attribute",
        "exactness",
        "stats.downloads:desc"
    ]

turns into

#

urg this is hard

flat cape
jovial lintel
#

haha

#

I have been toying with that at work

#

whats your experience?

flat cape
#

ye i think we have tuned it

jovial lintel
#

oh thats smart

flat cape
#

better than meili at load though

#

gave us a way better algo than meili

jovial lintel
#

mmmh

#

I think ill try that double index thing first, moving search engine sounds like work

flat cape
#

yeah not worth switching at hangar's phase

#

meili worked fine for us for years

jovial lintel
#

I find it funny that nobody complained till now that sorting is basically broken

#

tbh your hack also doesnt work, since it so heavily depriorizes your query. or maybe our searchable attributes need different order.
like if I put sort really high, any project that has "claim" on their project page gets put high because they have downloads, even tho project title or project description should count higher

#

meh this is a non trivial problem

#

I think Ill just try typesense on a copy of the prod data tomorrow to see if I like the results more, lol

fathom girder
lofty comet
#

this gonna sound stupid, but hear me out, use postgres search kekw

jovial lintel
#

that was a mess too

lofty comet
#

really?

#

I'd assume at hangar' scale that the postgres search would work fine

#

From what I have seen it is faster than I intially thought

jovial lintel
#

meili is waaaayyy better at full text search, is typo resistance, has good metrics for relevancy etc

lofty comet
#

yeah fairs

#

tbh the only other ones I have heard of are typesense, apache solr, manticore search and zincsearch (which I have heard is ultra fast)

jovial lintel
#

solr is meh

#

we use yext at work which is just stupid expensive

lofty comet
#

never heard of

#

must be an enterprise thing

jovial lintel
#

I wasnt involved in the pitches

#

I wish I was

#

but I was busy with something else at the time

lofty comet
#

Also, FYI, for some reason when switching language in prod, it flickers and goes back to the old language. AKA doesn't change language.

fathom girder
#

i think mini disabled i18n

fathom girder
lofty comet
#

Well problem is I am stuck in Portuguese lol

#

Not that I dont understand it but just weird

jovial lintel
jovial lintel
#

idk seems to work fine for me

#

can you check your browser console @lofty comet?

outer kettle
#

download numbers still broken cryingandshaking

jovial lintel
#

ye will look at that, its on my list

jovial lintel
#

fun I dont remember how this works at all

#

mmmh, its not broken in itself

#

I clicked download, saw the track request, saw the entry in the individual page, saw it being processed into the day table and then saw the count updated in the frontend

#

so I think for some reason not enough track requests are being send

jovial lintel
#

ok seems like the track requests get a 403 response, fun

#

ah its not logged in users I think, urg

fathom girder
#

I’d just ask Claude at this point

#

don’t hit me with /gptcode pls

jovial lintel
#

its fixed ^^

fathom girder
#

Great 😄

jovial lintel