#hangar-contrib
1 messages · Page 2 of 1
are you planning on making the rest also collapse?
but I def. LOVE v-if, etc. in components... god that's better than how svelte does it
yes
should literally be easy, just gotta change like 2 lines
since I created a CollapsibleCard component
and they use the normal Card component
just gotta switch that, and provide a "title" and done
can do that now
Search is so fast now that I think it's better to remove the skeleton lmao, it causes more harm than good rn
I find the minecraft versions list look a bit weird..?
I see it too
I think the fix is to use a light gray ▾ rather than the big horizontal triangle and try to align them vertically
That whole version list will be rewritten xd
Like shown here @hushed flower @raven kayak
PLEASE align platforms with the projects and not the title of projects
that looks better
That isn't finished, there is a reason it is like that
Sort and Layout buttons are gonna come there
(Top right of the project list)
That's type shit, I hate it with a passion, dum typed pages shit
I think I thought about that when I did the search, it technically supports it I think but it really makes no sense, I would keep it as radio
Especially if you consider platform version filter shit
Not much but not irrelevant
Tablet as always is irrelevant
Skeletons should only be shown after X ms I think
But I am not sure there is an easy way to do that rn, but I wanna redo data fetching anyways, sooo
I think I caught up now
I too like the monochrome platform logos more than the random colors
Can we mimic a radio with checks? Just so that it is possible to unselect filters (to avoid having a clear button)
Well now as shown in the gif, they show for a quick second, which is mroe distracting than anything
my phone is often detected as tablet because of its size
what phone do u have lol
moto g9 plus
but i have set it to some incredibly high resulution because i am weird and i like small things
lol
hmmm might need to change some stuff in lang files
like changing (clear) to Clear All or something
Hmm idk how I feel about it (both the method and red color)
Seeing as there’s only three platforms to choose from, clear all seems relatively redundant when you can just click off the ones you don’t need
-# if I’m not meant to talk in here then please let me know lol
that would be the case IF the buttons weren't radio buttons
Meh, that's semantically wrong, plus we need a clear for the others anyways?
Yeah, I know, that's not how you do skeletons normally but I did a hack job
That seems really prominent
Wdym clear for the others? And yeah I guess I fixed the main issue
Is that a good or bad thing in your pov?
By this I mean, what others? This clear only applies to platform filter
Oh, that seems dum, seems even more relevant for the others, no?
And I think it's too prominent, plus the layout shift is meh
I mean, how else do you do it, makes no sense for the clear all to be in the platform card yet clear others, makes no sense to be showing consistently (it wasn't before either) and you require it since you can't uncheck the filter because it is a radio button
I have an idea which might somewhat fix it it, idk
Will test
Wait it clears all filters?
Idk I would add a way to clear stuff for any box
We can do more fun stuff too, like a pill thing where you can clear stuff
Idk why the fuck snow was the first result, but shit like this https://developer.servicenow.com/dev.do#!/reference/next-experience/quebec/now-components/now-pill/usage
The ServiceNow Developer Program provides developers with resources to learn, build and deploy applications on the ServiceNow platform, and offers resources to ensure a successful application building experience.
I guess we already have pills for the sorters
no, it clears platform filters, I thought you meant it should clear ALL filters
no I meant all filters should have a way to clear, then its consistent
like, I don't hate the current (clear) thing we have, just needs to look a bit nicer I guess
or maybe just an icon is enough
mmmmmh, it could be a new bun version, couldn't it? we dont pin
love the infinite loading
and rip backend died again
hella weird behaviour
if the problem is the frontend, wouldn't me hosting the frontend locally and using staging backend also cause problems?
idk what the problem is
there are many different variables compared to your local env, its build, its running bun, etc
I just know that the backend works, then I reload the not loading frontend 10 times and then the backend thread pool is full
while the actuator, running on a different port, still works fine
?
how about a broom
also visible when collapsed
Or just a clear?
wdym?
hm let me figure out how I can add icons in vue
grey text would be nice
and I shall get back to you
text clutters it way too much and places where the "title" is bigger than Platforms, it would mess with the whole ui
hmm thats true
yeah actually, how th is this being done
@ mini?
do you use bootstrap icons?
mdi
there is a icons.d.ts generated file
but no idea from where it is being generated
oh okay it auto imports
broom does look a bit better
yeah way better
make sure people understand what it does
(also redesigned tooltips a bit)
another example for tooltips
now... I think I am just gonna skip the mc version filter
cause that one gonna give me headaches
so gonna do categories first
Looking good
hmm any ideas how I'd fix the tooltip component for this issue?
Not without toying with it myself
I hate the tooltip code anyways
But iirc apple is still slacking on the new tooltip API
https://mdn.github.io/dom-examples/popover-api/popover-hint/ this would be so nice
But of course safari doesn't implement it yet
Kinda funny how that shows nothing for me
Will push the code in a few mins, will let you know
Plus you can judge the code more 🙂
@jovial lintel pushed all changes up until now, also double check if I used nuxt/fonts correctly, I am not 100% sure
PS while at it, any ideas on the best way to approach the version list? aka make it a flat list of versions that can be sorted between major versions only and all while also being searchable
ALSO, is it worth making the categories a scrollable list and be searchable? Aka do you plan to add more categories? Cause atm, I guess it's fine how it looks
whack that there is no preview
for the categories maybe display the 10 most used categories and add an "expand" button that shows all categories
FF
I don't think I have that info but at that point can just make it a scrollable & searchable list which means you can add more categories on the go
true, wonder if that can be implemented for PRs...
something with github actions or smt
Switched this to here but idk how I feel about it, had to change it cause when clearing, it was also collapsing the card which kinda sucked
Not really, but I can manually deploy your branch I think with a bit of work
Might be worth since it's a long running branch, idk how easy it would be to only deploy the frontend
Interesting
I think we want to add more, ye
Apparently it's still a draft, idk what phase, so fair enough
Actually, no, it's properly merged, idk why mdn claims it's experimental
No excuses then
They are supportive at least https://github.com/mozilla/standards-positions/issues/965
So that's why it has been merged I guess
Same for webkit
They just slacking
Recent spec development has been so cool to follow
Like, the reason they are thinking about the popovers and the interest invokers and shit is because it's something nearly every website uses, everybody does it differently, it's all a bunch of code they ship, most don't work on mobile, most aren't accessible, so UAs stepping in to standardize this to make the web better for everybody is so nice to see
can't you use the devStaging for it too?
okay will make it a list then
That's not how any of this works ^^
Ah okay, me not informed soo yeah
but I'd say it could be beneficial since I could get feedback straight away (regarding the preview)
thoughts on showing the amount selected?
idk if I only show it on hover or always display
kinda how it looks
don't like that
which part
showing the number overall or just the showing it constantly
I feel the number can be in the "Categories" rather than the button
maybe in parentheses? e.g. (7)
Yep
overall
Yeah thought about that too, will try it tmr
Does the above sound better?
Well when collapsed it shows hoe many filters you have selected
Showing it when not collapsed is useless yeah
Oh mmh
The exact count doesn't matter, since it doesn't convey anything useful, what's important is to know that filters are active
So maybe just then show the button or only then give it color
Like a disabled state
What button?
To clear? It already only shows only when selected
If that's what u mean
Ah nice
Going back to saarbrucken now but I finally set up dev stuff in my laptop so can work there too
Gotta continue with my hangar streak
Challenge: Finish redesign before mini finishes private channels
hmm interesting, just discovered a weird bug, clear button does not show if you get redirected to an url with a filter
like URL/velocity
and it fully breaks when you do that too
so you can switch between platform filters still
but the clear button simply does not show
but yk.... what are the chances someone intentionally breaks it like that....
easy fix: Remove the links that redirect to that page
well actually, why does a slightly different page exist for /velocity, etc?
like, th
bug is caused by not having params in the url I think
Anyways, finally some progress on version selector, but still gotta implement clearing, searching and showing subversions
(gotta love compression)
SEO
Sooo, do I NEED to fix it? Can't it jhst redirect? I guess SEO wouldnt work then
Or simply just applying the platform param in the url might work
Why doesn't it work rn?
my guess is because /velocity does not have the platform param?
Essentially, if you go to /velocity for ex., it auto selects velocity in the platform filter, but the clear button is not shown. And it keeps not showing after you manually switch the platform filter.
Hence why my guess is the platform param, it somehow is not detecting that a platform is selected
this is one of those cases where having a preview would be useful
do you want me to send a gif to show how it looks?
Uhm, if I am in the same network as my desktop, and I host in localhost, I can access it on my phone right? This sounds like such a stupid question and that I should probably know the answer for it lol
Otherwise chrome dev tools work great for testing screen size and clicks too https://i.imgur.com/4n6J3SH.png
Yes, for abstract testing, I wanna test UX
Which can only be properly tested in the device itself
Any clue what's wrong with this project? https://hangar.papermc.io/SytexMC/NoShieldDelay It shows up on their profile and in the search
potentially no versions uploaded / retroactively deleted
is there a reason you simply only update the project list once data is ready to be rendered?
wouldn't need a skeleton
(which atm is doing more harm than good)
Something like this?
PS: Noticed this on prod but here it's more noticeable, it seems like when switching platform, the page is refreshed twice really quickly? Making it look a bit weird
aaand just found another bug... it appears when I clear the platform filter, nothing is displayed?
bit weird
OH wait, it appears the issue is because version is not unselected and stays in the url params, which breaks it
wonder if prod also has that
okay it does XD
There is also this version that merges both skeletons and transition, which still sucks a bit imo, since it still shows the skeletons for a bit, but in case the search takes more than half a second, then the page would look empty which is also not ideal... unless I somehow add a delay for skeletons to show? Aka if the page stays in loading state for over a second then it enables skeletons? idk
Please lmk asap of thoughts 🙂
Yeah for sure, the loading indicators and skeletons shouldn’t pop up immediately but only after a little bit, that sort of disappeared after the nicer skeletons were added
There should be a bunch of blog posts on what a good delay before that is, it also had a specific name that I forgot
I was trying to implement that but uh, bit confused on some messy code, but I will get there lol
will take a look into it
mmmh, it was deleted may 6th
no clue why it still shows up, the full meili index is rebuild frequently
oh wait maybe the job crashed again
fixed
not crashed but it was listed as started
so I guess the pod died while it was running that job?
no clue how to better handle that, maybe I need to detect if state = started and last_updated > 1d or something
anyways, thanks @knotty verge
Urg, right, I dared to push a commit
to the frontend?
Will fix later
okok, ping me when you do so that I can continue testing
@lofty comet fixed
this is what I came up with
PS: I added artificial throttling to show these, it has a 800ms delay
const showSkeletons = ref(false);
let loadingTimeout: ReturnType<typeof setTimeout> | null;
watch(() => props.loading, (isLoading) => {
if (isLoading) {
loadingTimeout = setTimeout(() => {
showSkeletons.value = true;
}, 800);
} else {
showSkeletons.value = false;
if (loadingTimeout) {
clearTimeout(loadingTimeout);
}
}
});
let me know your thoughts on this approach (kinda copied from a blog post)
idk if i like 3 different animations for loading.
what 3 animations?
There is only the animation when the data is ready
and skeletons if it takes more than 800ms to get ready (if you consider that an animation)
oh yeah, honestly didn't even notice those, yeah I agree that those top ones should not exist
just the grey thing should stay
rotating one should only be used for content loading (like videos or whole page), and bars should only be used when it's confirmed it's going to take longer than 1-2s
skeletons are the best way of loading screen without giving the user the impression it took much time
now just gotta find out where th those are located in the files xD Found it and removed it!
Not really sure where to put this.
is this intended to be repetitive like this instead of something like csv or is it a visual bug?
Hmm interesting
I am not sure how it is handled but I think it might be a bug
You will probably have to wait till tmr for mini to see this
i think thats supposed to be
but im not 100% sure
just a quick search (i went to the first stackoverflow page and checked the accepted answer) how spring handles it shows this behavior.
also that endpoint is checking if the apikey has those permissions for THAT project/org correct?
Because it is returning true for other repos i dont have permission access to
it makes no sense though, you can't have multiple params in an url with the exact same name lol
in this case, 3 params named permissions exist
actually, I am technically wrong
you can have it, but depending on the framework, they handle it differently
but the standard for multiple params with the same name is to just use a single one with an array
aka a string split by ,
either way, really weird, better wait for mini/kenny to see this
in german engineering we trust, but... probs better double check it
Well just test it out?
yeah ig
How does the frontend send the request?
speaking to me or silent?
I am way too tired to be able to say anything useful sooo
just gonna head to bed
I tested it by sending the requests manually. It appears to actually work like as described with multiple permissions params. Which i feel like its weirder than just having csv or similar.
Either way its returning true when i ask if i have permission for edit api keys for a repo i clearly dont have access to
Yeah I just checked more sites and that’s how it is it seems
I wonder why they didn’t use a post method in this case
Is it worth adding the "search" bar for the versions or is this enough?
hmm this is a problem... (Having "Platform versions" as name takes too much space
Search would be neat
Maybe remove the show all button and instead expand the version entry to show all versions beneath?
why would I want to have a sidebar bigger than the screen lol
show all versions button is intended to be used by those who want a specific version, I'd presume most people do not care about that
you do love making my life harder don't you xD
You asked for input lol
meanwhile gotta figure out why th filters.versions = [] doesn't visually clear selections
uh what shall I do with this? Naming it just Versions would kinda fix the problem but uh
Is it intended that 'Website Link' on a user profile doesn't use the linkout feature (https://hangar.papermc.io/linkout?remoteUrl= ) ?
idk who put this in the VersionSelector file but yeah... not gonna touch it either haha
okay god this code indeed is a mess
and will be hard to fix some extra issues
like the fact it does not support a "clear" button
well
Sometimes the best solution is to rm -rf
you know....
that would include rewriting it
which still does not sound ideal
paper mc versions all work well, yet waterfall and velocity dont FIXED after 2000 hours
aaaaaaahhhhh
god this feels like hell
where is mini, I wanna throw this rock at him so he can fix it
Am i missing something or does auth not work for endpoints?
go to: https://hangar.papermc.io/api/v1/permissions?project=ViaBackwards without auth and it responds. (Unexpected)
go to: https://hangar.papermc.io/api/v1/permissions without auth and u get auth missing response. (Expected)
Have you read https://hangar.papermc.io/api-docs
/Permissions doesn't make sense to consume anonymously
Oh wait I see
I thought they were different endpoints
Problem is that it does work anonymously
I see the cause
getHangarPrinciple throws if it cant successfully get it
Looking, it's probably expected the other way, that it works unauthed, since it gives the current public permissions
I like it
W
just gotta replicate it for Categories, which should be fairly easy
then will start working on changing the sorters to the dropdown
then maybe work on different layouts for the list display
and maybe ( @ mini thinks that's okay) add a way to choose how many entries to display per page
although both layout and amount of entries per page should be stored in the DB
sooo, that's backend stuff
aka mini stuff, idk if he wants it
how it looks when it can't find anything
I set the height to a fixed size cause if I were searching, it would change the height constantly which would suck
Fixed height looks good
this is really nice too
Good to know, will leave it be then
Gonna try to work on the layout stuff this week
Just waiting for mini to say something
Since it will kinda need some new stuff in the DB I'd say
on the paper docs there is a site dedicated to the art assets
i was wondering what the licensing on hangar art assets is since they are not covered explicitly on that page
Currently not at home but any ideas how dark/light mode preferences are stored in Hangar? Localstorage?
from what I gathered there is a settings store
which gets theme data from the db
for anonymous users it does use cookies
hmm okay, was thinking on not storing layout and amount of entries settings in the DB instead in localstorage/cookies for now since mini hasn't said anything about it, but now I am unsure if it's the best approach
that way I wouldn't rely on mini adding it to the backend (I don't wanna touch the backend)
@jovial lintel hey, didn't wanna ping ya but whenever ya can, care to read above? I had asked about it few days ago but got no response so yeah
Same here 😅
rip
thoughts on this sort by dropdown?
kinda like it being transparent background
but it might not fit with the rest tbf
i am blind
do you have a screenshot for comparison without whatever you changed ^^
I didn't change anything
just added this
but here is a non transparent one for comparaison
(sort by dropdown is what is different)
ahhhh okay
i like it
but with background is better imo
re the previous stuff, layout and number of entries of what?
Projects
So how many projects are showed per page
And the layout of the list so single column or 2 columns for ex.
Not sure if the layout is necessary but yeah
Entries would be nice I think
That doesn't need to be in the db I think, local store is fine
or can be added later
Okok, I didn't know what the standard is since theme for ex. Is also stored in db for ex.
But all good
Some URLs are whitelisted
There's an open PR to add them to that page iirc, just assume it's the same as the paper assets
What exactly do you wanna make configurable and why?
Hey, thanks for catching up. I doubt that the random URL on my profile https://hangar.papermc.io/Jo0001 is whitelisted
Layout on how projects are displayed (single column, 2 columns for ex.) And amount of entries displayed per page. Both are common options in pages containing lists.
(This all being project list)
Ah, I wasn't fully awake yet, good catch, fixed locally
Ah ye, just throw that into local storage I guess
Meh then it's not available server side
I have skipped that for now, working on other things
uhm @jovial lintel staging down again?
I know, I am trying to find the issues
sentry is going wild
like wtf
why is that even done on my request threads
haha enabling sentry debug freezes my IDE because it throws so many exceptions
HA
I think I have it
why did I read this with a german voice in my head
xd
what was it?
cool so tomcat doesn't deadlock for some reason like undertow does
undertow was being used?
didn't know about that
what would be the best placement for the project search input assuming the white middle top searchbar is already present in all pages.
I am not really a fan on the current placement with the new design, but neither am I fan of forcing people to use the navbar search for this specially since it is supposed to have its own auto completion, etc...
I am personally not sure how to approach it, if the navbar search should also filter the currently shown project list and that should be used... or what... I am also not sure how the navbar search should be handled outside the project list, should it display the first few projects that match that search? What happens if you just click enter?
Just need some clarifications since atm my brain is confused (and I feel like this is a trivial question)
WIP but thoughts? (Specially about searchbar)
Top searchbar would be independent from the project list, and would display its own autocompletion, while the second searchbar would be used to search through the project list.
I thought about using the top one for everything, which means when a project list is present, using it, otherwise it uses its own autocompletion, but due to how things are structured like it all being in the header component, etc. And my lack of knowledge with vue/nuxt, I wasn't sure how to approach doing that, so this sounded like the easiest way of doing it.
Although, currently still have to somehow get the project count in the header and projects, so that I can do autocompletion... (which would work very similarly to how the projectlist works)
I feel like the searchbar should float in the middle between the name and sort
?
personally prefer the previous one too
I mean, I still kinda dislike the fact there are 2 search bars being displayed
I have an idea, maybe hide the upper search bar behind a magnifiying glass icon?
not sure if that is intuitive though....
I have a better question, why is the search bar at the top even needed?
So you can search no matter what page you're on, the top one is nice
but regardless of that I think the lower one looks out of place, even if the top one didn't exist
well this was nicer but here it's definitely the fact that there's two and that they are not aligned 
yeah, I mean, as said previously, I would do it all in a single one, so it would update the project list when in that page, and in other pages it would work with autocomplete, etc.
but I lack the brains to do that with the current structure
I don't have access to the projectlist in Header component (where the top search bar is)
What if you just pop it out again (sort of) like it's in the current design, and keep it visually distinct from the top bar
pop it out??
out of the top bar of the projects list and into the vastness of space
I feel like having it there just doesn't have any point, except for it looking out of place for most if not all pages. E.g. going to the authors page you'd then have two search bars, one for plugins and one for users, it's safe to assume the user isn't there to search for plugins.
Search always at the top seems reasonable to me and matches how a lot of other sites operate.
While I do agree it's common, in this case it looks weird and doesn't contribute much
I fully disagree. It looks great to me. 🙂
Well the other option I'd rather see is remove the top search bar on home page as it isn't needed
breaks consistency then though
best option would be this...
What I would welcome and wouldn't mind having two search bars is if the top search bar would allow to search users and just rename it to Search
that's something I did think about
it's a really quick way of getting what you want, be it a plugin or a user
one thing that would maybe would look cool is smt like this
e.g. searching for ViaVersion plugins (usually admins download ViaVersion and ViaBackwards)
aka when searching it popups a window in the middle of the screen
idk
quite common nowadays
not sure tbh
I have not even looked into how meili works
feel free to PR to my repo the logic xD
why not just have a dropdown that includes the 5 best matches?
that is the initial idea yeah
the limiting part rn is really just project structure
the fact I don't have access to projects etc in the Header component for ex.
not sure how to approach it, that is rather the problem
so smt like this?
looks weird though
I mean thats how it is currently 😅
kinda true
idk... I am kinda running out of options
I am quite limited xD
I just need to take a decision asap
so that this doesn't hurt progress in the rest
Functionally it'd be weird if the top bar behaved differently across pages, I wouldn't have that used for the search below (but I do really like having a top search bar)
personally I really like the current site one since it gives the main page more of a unique flair, but I can also see why it wouldn't fit the new design
so I won't give you the answer you want
just that either #hangar-contrib message or #hangar-contrib message are fine starts
dies
I will just go with how it was at the start
and we shall figure it out after
on another note, wonder if meili works with authors too
would it be wise to just yeet (copy) this code and use it for the auto completion of the nav search bar? xD
It updates global state
So it wouldn't be an auto completion
Meili has proper API for auto completion we should hook into and expose to the frontend
I have a short week at work, maybe I can look at that later in the week
Okay, would appreciate it! Any chances you can hook meili with authors too? Would be nice if top nav bar could search for both
idk if you can search in multiple indexes at once
seems like it, but doesnt seem trivial
or my brain is too mush rn
that example seems simple
Is multi_search the same as auto complete? Or different system?
Not familiar with meili
No clue
Please do not give AI overview as answers to questions.
bruh
if I wanted an AI answer, I would have asked myself.
nor do I care about an answer rn
well, i answered mr alfonso
how do you even perform an auto complete?
as far as my reading of the melisearch documentation goes only multi search exists
No, AI answered you. You screenshotted the AI to Afonso. Please don't do that, and please don't just "bruh" people's requests not to dump AI summaries into chat.
ok mbax. Noted.
I can imagine auto complete is maybe a method that does that for you in the background?
I see autocomplete as legit just text autocompletion
aka giving back similar/finish indexed entries
which in theory is what I want... but at the same time, not sure if just text is good... I could also display some small info about project like logo and small description when searching...
and not sure autocomplete works with that
not sure, either way will wait for mini to check it out, since it apparently needs some stuff done on backend for it to work so yeah
until he checks it out, we shall wait
by the way i didn't mean to disrespect you with that screenshot to kinda like say "just google lol". Shouldn't have done that. In the end it probably didn't really provide the answer you were looking for and just shows you shouldn't trust AI outputs haha
Iirc (looked briefly before at that search lib they support for auto completion) they did just do a normal search
Is there an official policy for external download links (as in they should point directly to a jar or something like that)?
Links like https://hangar.papermc.io/Lamdis/Simple-KO/versions/1.3 which just point to the homepage of the project on a different platform are not particularly useful and make these projects annoying to deal with in the API
I don't think we have much of a policy but external download links were a mistake
Stuff like that should probably just be removed, imho, but 
I agree to a certain degree
I think pointing to a GH release is also okay
Or straight download ofc
But linking to another platform is just a pain and they are using it as a straight AD instead of repo
Prof decided to pull an "bruckentag" sooo no lectures on friday which means me going back to luxembourg now which means pog, can work on hangar more
On another note, debating if I should rename "Home" to "Projects" or "Plugins"... (random thought I got in the bus)
Cause atm it technically doesn't serve as a home page, it serves as the project browsing page
While coincidentally being the home page
It might also be a bit misleading having projects in "Home" in the nav while "Authors" matches the content of the page.
How does the dum.json file work for i18n?
In other words, what is the appropriate way to add/modify lang files?
Also, uh, any news on the search thing mini? I am working on other things in the meantime
might aswell wait for Nuxt4
nuxt 4 isnt relevant
no
you only touch en.json, rest is handled on crowdin
dum.json in particular is for their in page translator thing
Ah okay, thanks!
Some projects show up in the search but return a 404 in the API and clicking them just hangs on the skeleton UI
Hangar allows you to find and download the best Minecraft plugins for your Minecraft server
A project that produced the same behaviour a while ago appears to be fixed now, so maybe this is a cache issue?
Caching strikes again
It's not really caching, I assume it's the job that updates meilisearch
It gets stuck sometimes and the code to fix it can't be merged to master because of other issues
Relatable
Request T /api/v1/projects rejected: The request was rejected because the HTTP method "T" was not included within the list of allowed HTTP methods [HEAD, DELETE, POST, GET, OPTIONS, PATCH, PUT]****
wat
why is the method T
wtf is tomcat doing
Generics
what am I supposed to do now? wtf
I could allow T, but then the 400 would turn into a 405 method not allowed of course, since spring doesnt know wtf a T is
why is everything hangar so cursed
axios claims its sending a "get", spring receives a "T", in between I only have tomcat and nginx, worked fine with undertow
Truncated?
was more a fun question to either make you ponder it as a potential and be able to nail it down, or, aid in pulling your hair out
idk, its parsing as http/1.1 and I have no reason to belive that bun isnt sending a 1.1
Well, yea, but idk anywhere that T would blindly show up unless the method request part was being truncated or something stupid
idk the architecture or how many layers are in the way, is there a sane way to see the raw request that it's getting?
actually, isnt the method send before the version anyways?
GET /index.html HTTP/1.1
Host: www.example.com
ye
mmmmh
is the content length 2 right?
r\nHost: hangar-backend:8080\r\nContent-Length: 2\r\n\r\n
I think I just reproduced it in IJs http client
by port forwarding
ah no just my xxxx'd out ip, lmao
I mean, the 1st screenshot there is interesting because it looks like it got the correct request just fine
something after it logged that looks like it messed up the request
thats the difference between tomcat and spring
The reason I ponder sending a DELETE request and seeing if it hits the security thing is that I wonder if there is a consistenty there
my logging is only secondary there, spring already rejecting the http method
Like, idk how you'd get a T there unless you ate two bytes
Hear me out... rewrite
Use appwrite 😎
just vibe that sht
claude code go brrr
give it 20 bucks of tokens and it will magically fix everything
-# /joke in case it wasnt clear
assuming I don't have branches for that already
Wasn't jking btw, been using it and it's amazing
Love vendor lock in
It's open source and self hostable
And can easily migrate elsewhere if need be
Think you confused it with supabase which is hell to setup selfhosting it
I am at a loss here
it seems like tomcat is just recycling a coyote request before its finished?
????
ok that was wrong
oooh
remember the content length of 2?
what if the request before did read those two bytes from the buffer
so they are missing from the start of the next request
ye you can see that the pointers into the buffer are wrong
so it compacts stuff wrong
nothing like reading through a dev's rant haha
only took 17 force pushing of frantically adding souts all over tomcats byte parsing of the http protocol
fixing an annoying issue is an amazing feeling, not much comes close to that
true dat

What was it what was it what was it
😆
hey just wondering what’s like the high priorities for hangar for backend?
What do you mean?
whatever has high prio here
Although one highly requested backend feature is private/restricted release channels
totally not biased
i could do that
was thinking of doing draft releases however
those do sound interesting too
just do both 
probably will need some rework on how release channels work for both of those anyways
If I am not mistaken, mini might have started already with private release channels, so if you are going to work on anything related to channels, I'd check with him how the progress on that is and if you can contribute to his code or anything like that
I have not
never worked with meili search but after setting everything up it seems to timeout
seems like same as this but task is null
yeah they’re all running
2025-06-27T12:26:24.356+01:00 ERROR 11355 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed
java.lang.RuntimeException: Timeout waiting for meili task null
at io.papermc.hangar.components.index.MeiliService.waitForTask(MeiliService.java:179)
at io.papermc.hangar.components.index.MeiliService.waitForTask(MeiliService.java:167)
at io.papermc.hangar.components.index.MeiliService.setupProjectIndex(MeiliService.java:79)```
2025-06-27T11:26:49.184824Z ERROR index_scheduler: While sending data to the webhook: http://192.168.178.34:8080/api/internal/meili/webhook: Connection Failed: Connect error: connection timed out
thats the only error showed in meili logs
where even is this ip coming from?
Oh that's my local one 
But that shouldn't matter, the webhook is only for logging, it shouldn't be related to your problem
It's defined in the meili config somewhere
Mmh, I guess not having the webhook means you have a harder time seeing if something went wrong
I'll take a look at your stack trace in a second
to any staff that has access to hangar and can take down projects
#hangar-projects message
this project "contains" harmful code
Pls use the report functionality
i did
last time i reported smth it took almost a week to be taken down so just wanted to make sure it is actually seen
I've taken it down, thank you for letting us know.
How was this not flagged
i reported a project once that was literally just nude pics
was up for a week 😄
Lol
lol what shitty harmful code
I mean, just a gamemode switch? I would expect at least an op toggle or something ;-;
scammers are dumb, there's a reason they're scammers
My guy couldn't figure out how to set the player's op level 
There was a creative GUI command which wasn't properly registered and not even populated with items or anything
Literally just an empty inv with a title and the same game mode switch
Also imagine the server spawns you in adventure mode
Bro can't do sht
flagging gamemode changes is super noisy
and nobody implemented a check for the other stuff yet
hangars platform versions now update automatically (*)
Populated 'platform_versions' table with 25 new versions
org.postgresql.util.PSQLException: ERROR: invalid input syntax for type integer: "13-pre7" [statement:"SELECT version FROM platform_versions WHERE platform = :platform ORDER BY string_to_array(version, '.')::int[]", arguments:{pos:{0:PAPER}, named:{platform:PAPER}}]]
haha almost
Populated 'platform_versions' table with 18 new versions
better
would explain it 🥲
it shouldn't be the isuse tho
but you can try changing it
ideally it would be localhost but docker/wsl is fun
but I dont understand why it failed with that exception
since it means the first task was successfully awaited, so it works
task is null
site map loads and it crashed after 5 seconds due to meili timeout
awaiting a null task
the task isnt null
else it wouldnt havbe entered that method
taskUid is null, idk why
the meili stuff is a bit strange, sometimes it sends a uid and sometimes a taskUid
maybe this prints more info https://github.com/HangarMC/Hangar/commit/8db0ade1c9ce4c6b1196959b665401901763a247 @solemn wing
wat
is it a known fact that hangar dependencies dont work
the link is always null
i just published a new version to one of my projects and the hangar dep is null
it was also set to url instead of hangar
changing to hangar doesnt work tho
i’ll have a look when i get home
Of course the link is null, it saves the slug. Link is only for url dependencies
I mean the href is null
It points to whicheverprojectiamon /null
I'll create a proper issue tomorrow then
My brain is fried, spend too much in the sun, I still don't get it
So yes, please 😂
Huh
Didn't I add a UI to see what's up with the jobs? 🤔
Well, I'll see later
I bet the job just crashed, but I also wrote code to revive it I think?
ah yes
Someone should do one of those videos just with messages of Mini being confused with Hangar
ah it didnt crash but I guess the instance restarted while it was running
since the state is stuck at started
i could swear status.papermc.io used to be a thing
it def did, it's in my history https://i.imgur.com/pPIeMmO.png
hangar staging is not having a fun time
nah that monitor was just down
"the monitoring for hangar being down is down as well"
well, there was an issue, I didnt ack it so the monitor paused itself after a bit
I somewhat made peace with hangar being slow, but lately the response times have climbed up from a few seconds to more than 10s
the frontend times out a lot now and the api as well
I've had a bunch of these too, though just in the frontend where pages will indefinitely load, but trying again in another tab a few seconds later works just fine
and always these https://i.imgur.com/AaxIEUK.png
same#
i have a test that calls the hangar api and all of those failed for exceeding the 10 second timeout
my timeout used to be 3 seconds
i had to bump it up to 10 which worked for one or two days but now it always fails
There is some efforts to improve the monitorability coming soon™ which should hopefully help with diagnosing what is going on here
sadly not having full timers on this stuff creates a lot of headaches 🥹
nice
i would like to be of help but no idea how
lol who broke umami
its broken across all sites
the infinite loading always seems to happen the first time I open anything from the homepage (and maybe direct links?), if I then reload or do the same it works
maybe it was a coincidence but I'm pretty sure it's been the same thing there the last 4-5 attempts over a few days
Wdym by infinite loading? It can never load for more than 10s
okay well just got it again same thing lol, the request times out yeah but the frontend will keep spinning forever https://i.imgur.com/27yB1kj.png
Oh on page switch
Seems like the job to update the meilisearch index is stuck again
huh, that shouldnt happen anymore
oh its the case where it started and then the pod dies
meh
need to handle that
the jobs ran now, sorry bout that
WTF
vercel brought nuxtlabs
welp
Nuxt and Nitro will remain independent, open source projects with an MIT license, public roadmap, and open governance.
... okay.
I am not really understanding what vercel is winning here
which makes me very vary
Looking ahead, AI will be a new area of focus for us. We’re exploring how to bring AI into the Nuxt developer experience. Helping you ship ideas faster. We’re also working closely with Vercel’s AI teams, including v0, and continuing to experiment with local tooling like MCP.
oh god dammit
why waste time on that
I mean, I feel that nuxt is falling into the area where it's probably getting so big that it looks interesting for it to be a close to them as possible?
yeah but the whole idea about nitro and nuxt and the whole unjs ecosystem was that you shouldn't need to give a shit about providers since you can switch in seconds
which goes against vercels interests and against how vercel operated in the past
Oh ffs
The download links for https://hangar.papermc.io/ViaVersion/ViaBackwards/versions/5.2.1-SNAPSHOT+374 result in a 404
Is it already know that on mobile hangar pretty much doesn't work at all?
This always happens a few seconds after the page already loaded
You can prevent that by just cancelling the page load but you only have like one second to do so
And when the error occurs the page tries to reload but is stuck and just loads for ever
Browser FF mobile
thats your browser aggressively caching something, try deleting page data
mmmh, interesting
all 5.2.1-snapshot versions are gone
how did you run into this @knotty verge? why do you care about old snapshots?
I can only assume that something was wrong with uploading back then
I don’t particularly care, just wanted to notify you in case this was a bug with the current code
Platform versions are cooked here, from the auto creation I'd imagine https://i.imgur.com/z107DlW.png https://i.imgur.com/Z4AieeL.png
Migrating 1.8 to 1.8.8 and deleting the former would fix Paper, idk about Velocity
does download stat collection only run on a restart? https://i.imgur.com/Ygpgc7T.png lol
Okay, I thought I was going insane. I was like there's no way people only download my plugin for modrinth 
I downloaded it for my smart fridge 😆
can someone help me clarify somthing and or update this plugin
LunaN0va_/InventroyDropChance2
they need to add the Mace and new items like bundles as right now bundles cause a duplication glitch to occur if the item inside is protected but the bundle is not on death youll drop the bundle and keep the item in your invintory but when you pick up the bundle it also has the same item inside
Sorry, I think you may be in the wrong place - you’re asking about a plugin on hangar you want someone to change? You’d have to contact the author.
This channel is for people working on the site itself
ah sorry
No worries
also how would i get ahold of them ive looked at hanger and there is no send message to dev or anything like that and i cant seem to find a github or anything to contact them
If they don’t have anything listed like support then . . . no idea.
well crap it says on their page to contact them but leave no info
uh trying to recall why I "stopped" working on the hangar frontend
was I waiting for smt?
bruh
because web dev is not fulfilling, causes anxiety, panic attacks, and mild sunburn
just remembered, was waiting for mini to integrate smt
probably meilisearch auto completion
so that I can work on that
-# As always, it is Mini's fault.
Just kidding, Mini is doing great work, thank you Mini!
was about to open the redesign on my pc and...
think staging is down xD
captured { code: 'ECONNREFUSED',
requestUrl: '/api/v1/projects',
status: undefined,
data: undefined,
message: '' }
render error page Server Error An error occurred
``` interesting
and as always, restarting the IDE works lol
th platforms not showing out of a sudden?
legit didn't touch the code???
did anything change on the backend?
no platforms nor versions are displayed
lol
there's some buggy versions but that shouldn't cause errors
Is the broken profile picture of https://hangar.papermc.io/AKSG/Ultimate-antibot-spigot the authors fault or a hangar problem?
Antibot plugin by Kr1S_D. Uploaded on hanger by AKSG [user of plugin] - Download the Paper Plugin Ultimate-antibot-spigot by AKSG on Hangar
will take a look into it later today (if I remember) and try to figure it out... Cause it's hella weird, I am just getting platforms from filters.platforms
but that seems to be empty
wait I read that wrong
it's using useVisiblePlatforms
yup and that is returning an empty array
which is coming from the backend
oh shit, might be the fact that I am 39 commits behind Hangar staging? lol
I forgot I was on a different branch and didn't update that one
Uh thing is, it says that if I want to sync up the branch I need to discard my commits, how do I approach this?
Do a merge pull locally
Back up your branch before that just in case. Getting things back is generally always possible but that makes it easier
Thanks!
Everything "mostly" worked out
although when trying to run devStaging, it seems like it gets stuck trying to init sentry?
Sentry DSN not set, skipping Sentry initialization
well, it says it skipped it but it's just stuck there
OH right when I decide to write about it suddenly works, after 6 minutes lol
Yeah will have to still fix some stuff that stopped working with the recent updates mini did
Next time I can't stay that long without syncing it up
lol
Also, just noticed, thought I was hallucinating but almost all text is underlined, including in staging, is that intended?
Appears to be only on my PC, weird.. no idea why though?
yeah wth, is my browser fked? Any ideas what this could be?
Some accessibility setting?
it was indeed some random accessibility setting... "Always underline links", it somehow thought that the description was a link
probably because it's clickable
yup
well even non clickable elements had it
sooo
maybe a bug
but ig
holy I was expecting to be behind, that's a W.
But I am still have to redo some parts due to some changes mini did
and I am way too lazy for that
lol
Idk if that is a big W, that just means no bugs have been fixed 
What bugs?
it's a W in my book, cause last changes mini did completely broke some of the redesign and I still haven't fixed it
lol
Is there a reason why hangar does the whole oauth2 handling by itselef and doesnt use a spring provided solution?
I assume this was also a stuck job
since its fixed now
no clue where that file went, I deleted the entry from the DB
Hey @jovial lintel was thinking on going back to the frontend stuff but staging is down and I kinda use it for development...
Could you maybe revive it whenever possible and ping me 🙂
Isn't it only the frontend that's broken?
I have been sick the whole week, idk if I have energy this weekend
Let me double check that in 5mins and I will let you know.
Hope ya feel better soon! Much love and beer on your way
Update: Might be the backend cause it def. doesn't work locally, getting 503s from the backend.
Well, it is it appears
might be time to just setup the backend again on my pc
problem is that I probs can't do the same on my laptop as it doesn't have much ram
Lemme try rerunning an old deployment
Well atm I am (trying) to make it all run locally in my PC, specially useful if I (suddenly) decide I wanna touch the backend maybe. But having staging back up would be nice either way for during the week.
But don't worry too much bout it, make sure to rest and get better
First retry failed, second one thru but it's still bork
Wait I also didn't get any deploy ping in discord
didn't know that was a thing
well, auto deploy works by flux checking for new docker images and then making a commit, triggering a deploy
anyways, manually hacked an old backend image in, staging is back onlinbe
wait was supportedPlatforms removed from the project object? I kinda was using that
lol
Wasn't that a new thing?
yeah but I don't think I was the one that had added it lol
it might have been yeeted from index.ts?
eh nope
they still there
wth
OOOOHHH
props receives either a normal Project or a compact one
in this case the compact one does not have it
would this be an easy fix?
LET ME COOK
I just realized, forgot there was a star icon already lol
gotta switch that, either way it's WIP
(Don't ask me how optimized this is nor how many requests it does per second, I genuinely don't know)
He's back at it again, let's go!
-# The talking about Hangar finally got him to continue, the plan has succeeded, time to return to the shadows 🥷
Lmao
Btw is there a specific process to adding new i18n texts? Do I just add them to both dummy and en?
Don't touch dummy
It's generated by crowdin, I guess I should pull them down sometime, that isn't automatic
It's pulled on deploy, like all other languages, but not committed
It's for crowdins in site editing
can't I touch it and simply not commit it? xD
I actually do wonder if I have touched it before... hope not
like all other languages
Speaking of, might put my polyglot skills into use and add some extra translations since I think there is only english xD
regarding this, what's the suggested fix?
Why would you
There's plenty
I wouldn't recommend anyone to spend time on crowdin rn tho
for some reason simply adding them to the en file doesn't update the page.
oh? thought it was only english since it's the only file present xD
I mean, I don't think there even is a language option anyways.
anyways, would adding supportedPlatforms to ProjectCompact be enough? I assume backend would need to pass this too
Its in your settings
Holy it's quite obscure xD, I only found this out now?!
Need some feedback on this... Made sidebar sticky and well, grouped search and sort in a card which is now also sticky. I am not sure that card looks that nice in there...
how do you get that kind of gif
ffmpeg
If the screen height is so small that it obscures part of the sidebar, can you scroll the sidebar separately to reveal the rest of the options? The sticky sidebar seems nice, I'm just concerned whether it works well on small screens.
I am not sure, will test it in a few minutes and let you know. But in theory you can just collapse some card to reveal others if that's the case
So yeah it kinda causes a problem but it's fine since you can just collapse stuff, it's not a big deal imo
What if you have sorting use the same background as the grouped card?
If you hover over it you’d still know where to click with a highlight
wdym, didn't really understand it
Don’t give the sorter its own subcard/background
you mean the box where the sort by is? that's just a button though
Ah right, whatever it is try making the background transparent
is is?
On our Button component there’s a transparent type too
The outline too/no outline, sorry I’m on my phone it’s hard to see 
with the amount of hacks I had to do to make this whole UI work with the old system, I wonder if it still acts the same haha
Also, fy, it already is transparent.
is this better?
(to see on the phone)
Yeah, try without the outline
But I don’t have any other useful feedback to give, I’ll let you cook
eh idk., doesn't look like a button
Added a button to choose how many entries are shown per page, although atm it isn't really stored anywhere, not sure if this should be stored locally or in the account itself...
Personally I'm fine with setting this value every time i open a website. As long as its saved if you keep searching for other stuff
well atm if you go into a project and go back it will go back to default (20)
Hmm, could be fine for a short duration. But long term would be locally stored a better option
I mean, yeah, I was planning on storing it locally, just didn't know if mini preferred it being stored on the account itself
Ah so. Then I'll keep quiet
All your changes look very nice, keep up the good work!
Thanks, appreciate the kind words 🙂
You look good too
Just in case you weren't told that today
I don't want you to feel like you are being exploited to make hangar look good
Because then the eye candy might never be merged
Lmao (mini is totally not holding me hostage)
-# For legal reasons, I am joking
On another note Is making FAQ a modal a good or bad idea?
Always disliked it being at the bottom
Bad idea
Make it a full make
wut? wdym
can we not put this somewhere, where the whole sidebar is shifted down?
eh only place I can think of is above both sidebar and projectlist, but in that case everything shifts down
What about above the first list entry?
Or one could argue if it is even necessary to show it.
Plus please swap waterfall with velocity
Or make the select red, and put an (i) next to it explaining it’s no longer supported
that does sound like a cool option, although kinda breaks consistency of colors, but hmm
@fathom girder okay so basically... to add that I kinda need to modify a bunch of components to a point where it becomes a mess and it's simply not worth it lol
This is how it would look if it was above the projects
which tbh doesn't look bad
If that's done, Velocity should be clickable link imo
In the warning you mean?
this good? The default link color/style looked weird in this red
(aka the blue)
-# the underline only shows on hover fy
it should be clear that its clickable
so i think the underline should be shown anytime
sounds about right
Final design I guess?
On another note, I need to take some time and go through all open issues and try to make a list of all issues the redesign will solve lol
also - idk if you saw my message - can you swap waterfall with velocity in the platform list?
wdym, Velocity is already present in the platform list?
Why would I have 2x Velocity? I am confused
think he means move velocity up so its above waterfall
funnily enough, these are not hard coded buttons, I get the platforms from the backend, which in turn returns in this order
If we're already hardcoding a waterfall warning maybe let's hardcode an added weight to waterfall to make it always go lower
it's quite literally a one line fix
but it's in the backend.
I could change it locally but that wouldn't matter as rn since I am using staging's backend, not running it locally.
I could also just put it at the bottom "artificially" in the frontend
Just did it on the frontend 🙂
could also look at changing that download url to https://papermc.io/downloads/velocity
PR it! 😄
well not sure I wanna touch backend without it properly running locally lol
I still haven't gotten the backend to run locally
some error smh
will see tmr, I just can't forget to create a new branch.
btw shouldn't Folia be considered a Platform?
Make it a full page
Idk how the fuck I messed that sentence up xD
Oh, yeah, although might be better to have more than 3 things xD
Any ideas what else to put?
On a totally different note, thoughts on adding a badge that displays that a plugin is open source? Would maybe encourage people to open source?
Nah I would make an anti badge to indicate a plugin is not open source
A red "Closed Source" badge with a ⚠️ icon infront
Ngl yeah that sounds nice
But not sure how mini would feel about that xD
Cc @jovial lintel thoughts?
I dont think that google will like it, its basically seo spam
for the badges, theres an feature request for that https://github.com/HangarMC/Hangar/issues/272
obviously not a prio
I mean, can easily be added if I have access to 'source', I can just check if it is empty.
But up to you
Can you elaborate on this? (Fy, I will make it a separate page anyways) but I was thinking on making links similar to how discord does it (aka popup when opening an unknown link, etc) and wonder if this might be bad for SEO
Yes, it's hiding the content I want Google to read
So no modals for external links? 🥺
Mmh?
I was talking about the FAQ
Eternal links we remove attribution from anyways, I don't care if Google doesn't sees them
Oh okay so W, I can do modals, yay
Always found modals for external links better than a separate page
Has the search index updating job gotten stuck again?
Why do you say that?
Because we keep getting 404‘s while fetching the members of a project
Generally that means the project has been deleted, but the search still shows it
lemme take a look
huh thats a new one
well, whatever
it should have fixed itself on the next server restart, but I manually fixed it, good enough for now
thanks
it is concerning how long these run
@jovial lintel https://github.com/HangarMC/Hangar/commit/892daa95f6aaf6081b8a9b3689e7a07a907ddd7b#diff-93bc48e8d9d6d0823edf13ab98a249d36a4d5950997dc101688b24c7c0f54b86R81-L88 why get rid of the user-agent?
Dafuq
Lmao samsung
wtf kind of characters are those

speaking in ancient hieroglyphics
》Hi《
I have found a bunch more projects with that problem:
- https://hangar.papermc.io/BjarneSoup/simple-grace-period/versions/2.3.5
- https://hangar.papermc.io/toxicity188/BetterModel/versions/1.13.5-SNAPSHOT-411
- https://hangar.papermc.io/VyrByte/DS-PearlFix/versions/5.0-DIVINE
- https://hangar.papermc.io/AmokDev/DeathNote/versions/0.1
- https://hangar.papermc.io/Goal/LetsExpand/versions/1.0.0
- https://hangar.papermc.io/Goal/goldpiglin/versions/24.12.0.1
- https://hangar.papermc.io/Jodex/DonateCase/versions/2.2.3.1
- https://hangar.papermc.io/Omar/WorldChatter/versions/3.2.0
- https://hangar.papermc.io/MagicalKX/ChatLevels/versions/1.0.2
- https://hangar.papermc.io/Omar/WorldChatter/versions/3.0.21
- https://hangar.papermc.io/beanbeanjuice/SimpleProxyChat/versions/0.1.1-ALPHA%2B1
- https://hangar.papermc.io/RefracDevelopment/SimpleStaffChat/versions/3.0
There seems to be around 300 such versions in total
Not sure if you wanna write some kind of script on your system to find all of them and clean them up and/or figure out what went wrong
Damn, that's a lot