#hangar-dev

1 messages · Page 15 of 1

pallid yoke
#

keeeek

#

I think I saved it

#

I totally didn't push master to nuxt-frontend

sly mason
#

smh

pallid yoke
#

urg I suck

sly mason
pallid yoke
#

fuck you cat

#

I think its all clean now

sly mason
#

yea, wel, u luv me

random badger
#

So much spam...

pallid yoke
#

ssssh

mint pine
#

Dear MiniDigger,

I would like to enquire as to when Hangar is expected to be released, if you could get back to me that would be much appreciated

Yours Sincerely Peaches

#

p.s. Hangar Wen?

sly mason
#

.bh

modest bisonBOT
#

is getting out the ban hammer! ▬▬▬▬▬▬▬▋ Ò╭╮Ó

sly mason
#

Wanna borrow it mini?

modest bisonBOT
#

.eta

#

Anyone requesting an ETA will be fed to goblins.

ivory ingot
#

.mini

modest bisonBOT
#

(Korobi) xkcd: Ballmer Peak (1 October 2007)

ivory ingot
#

Send him beer or money to buy beer and he probably speed up.

modest bisonBOT
#

By that defenition you should be carefully to not send too much beer

sly mason
#

He's german

#

They have a built in self regulating mechanism

#

except on that one week which they just spend drunk

modest bisonBOT
#

Well, how else can you update paper then?

ivory ingot
#

Multiple shifts. The European shift is around 33-50% beer driven.

pallid yoke
#

am literally to dum to the implementation of this method

#

wtf

modest forge
#

mmm scala

pallid yoke
#

opening ore in IDE now, lets pray IJ knows it

#

I can create posts and stuff already

#

kek am literally blind

#

lmao

modest forge
#

oh you meant the templates line not the entire method?

pallid yoke
#

its in the same class

#

yes 😄

modest forge
#

shh I also can't read

pallid yoke
#

def projectTitle(project: Project): String = project.name + project.description.fold("")(d => s" - $d")

#

not that this is paricular readable

modest forge
#

I swear some of this is written to be unreadable

#

maybe if description not empty?

sly mason
#

machine readable

modest forge
#

quick, call machine maker

modest forge
pallid yoke
#

yeah

main lava
#

hello, what is hangar?

modest bisonBOT
#

It is the ultimate Paper fork

stiff token
#

Read the channel description?

modest bisonBOT
#

jk, it is a fork of Ore, which seeks to be another site to obtain plugins from

narrow verge
#

the channel topic* but ye

jagged eagle
#
project.description.fold("")(d => s" - $d")

is equivalent to

StringBuilder result = new StringBuilder("");
for (d : project.description) {
    result.append(" - " + d);
}
result.toString();

'fold' is a variation on 'reduce' (as you know from the java Stream api)
fold takes two arguments, a 'zero' value and a function that given an accumulator value and a value from the source list creates the new accumulator value. In the end the accumulator is returned.
though I don't know the exact type of 'project.description'. It might be a different overload of fold.

anyway - the author couldve just used

project.description.mkString(" - ")

'mkString' works much like 'String.join' from Java, but for scala collections instead of arrays.

pallid yoke
#

Oh it's actually a loop, interesting

#

I didn't try to google, I just guessed

#

Description is just a string

jagged eagle
#

then it's definitely a weird overload, probably some extension method that is imported from somewhere.

jagged eagle
#

are you sure description is not an Option[String]?

#

cause then it would work, I got this from the Scala repl: scala scala> Option("Hello,World!").fold("")(d => s" - $d") val res0: String = " - Hello,World!"

#

(and when the description is None then fold returns in the empty string, because that was the supplied 'zero' value)

modest forge
pallid yoke
#

started setting up a hangarauth frontend in nuxt, cause I can't seem to get anything else done

#

g2g for now but pushed the progress

#

got the first few pages done layout wise, missing settings page and the email flow I think

#

no backend yet

#

maybe I can do that later today

#

Oh yeah, also found out why it for so quiet dependency related, I disabled renovate and dependabot looked in the wrong place

leaden lily
#

That makes sense

random badger
#

filesize has a lot of updates for what I thought was a relatively simple thing

pallid yoke
#

welcome to npm land

#

can you view dependabot alerts btw?

random badger
#

Yes I can see them

#

And I saw that one

pallid yoke
#

its really annoying

#

this banner on the main page

#

as its not smth we can fix

random badger
#

Pr updating it to nuxt

#

Or is it postcss-svgo

pallid yoke
#

the latter one I think

#

they fixed it in 4.0.3 by removing the dep

#

so nuxt needs to update

#

nuxt already pulled it in

random badger
#

Maybe for their vue3 branch?

#

Btw, we gonna update or nah... before, it was fine cause there wasn’t a ton of vue. But now there is

pallid yoke
#

nuxt 3 is done?

random badger
#

Eventually, still need nuxt/vuetify

#

I mean eventually

pallid yoke
#

yeah why wouldn't we?

#

its in dev branch

#

no progress ont he swagger one tho, lmao

#

just dismissed it

main lava
#

I haven't been checking on Hanger lately, how much progress has been done? Is there a roadmap of sorts? Just curious :)

pallid yoke
#

roadmap = list of todos in code

main lava
#

😆

narrow verge
#

Roadmap is open issues on GitHub

nova hedge
random badger
#

NFTs for each plugin.

#

Gotta have the NFT for essentialsX

narrow verge
#

you can buy individual lines of code

spiral current
#

@pallid yoke is there any reason as to why hangarauth is not fully rebranded yet? 👀

random badger
#

it's being re-written to a v2 rn

#

so that'll be the rebranded one

#

right now, its almost an exact copy of spongeauth

pallid yoke
#

It's a fork, that doesn't sound so bad

spiral current
random badger
#

you can contribute to the v2 branch

#

it exists on that repo

#

should be its own repo in the future, but for now

spiral current
#

there should probably be a project for stuff that hasn't been transferred yet

random badger
#

to v2? its like almost everything at this point

spiral current
#

fair enough

random badger
#

mini just did a few frontend pages but thats it

#

needs the whole spring project setup and whatnot

spiral current
#

joy

pallid yoke
#

I plan to look at stuff again this weekend

#

But i have been feeling horrible lately, need to find a way back

pallid yoke
#

mmh, how do we handle csrf in hangar? struggling to think of a way to get it to work for auth

#

oh kek its just disabled

#

mfw I forget a @Controller annotation

leaden lily
#

Makes a pretty big difference I suppose 😛

random badger
#

Yeah, we don’t handle it currently. It can be implemented I think.

#

But somehow, nuxt has to get that token. Every request to the api will change the token right?

main lava
#

what is hangar?

pallid yoke
#

checked the topic?

random badger
#

Our way better version of spigot resources

pallid yoke
#

I think for auth I can just use cookie based csrf, since auth will have static html pages

#

but that can wait

random badger
#

Auth will? I thought you were doing nuxt there as well

pallid yoke
#

yes

#

but I want it to run in static mode

random badger
#

Oooo ok nice

main lava
random badger
#

Well, they are way different. But when paper hard forks, spigot won’t allow plugins on their site if they aren’t compatible with spigot.

#

So paper needs it’s own place for authors to upload plugins

main lava
random badger
#

When, is not answerable. What, is because it makes updating way easier, can possibly do snapshots, can make breaking changes that md_5 is unwilling to make.

#

Most servers now use paper over spigot

#

And paper’s market share is always growing.

random badger
#

@pallid yoke where is the site that has the stats on that

#

Oo didn’t know there was a blog.

stiff token
#

And should move to #general, this is not a good place for further discussions :)

pallid yoke
#

its preferred to use the new domain even tho it redirects

stiff token
#

I used first thing from Google, sorry that I used one from the old domain.

#

I know, didn't remember the new one. Should get a command for it?

main lava
#

thank you, got it

#

it would actually help a lot

random badger
#

So for auth, we’re gonna nuxt generate, and have those html files served by spring controllers?

#

How’s that gonna work with developing?

pallid yoke
#

Good question

#

I got stuff somewhere around that

#

I didn't get spring to properly serve my views so I rage quit yesterday

random badger
#

It sounds like we need to kinda have two sets of controllers, one for actually serving the html, the other is the api for actually doing stuff

#

Can have nuxt generate into the resources folder I suppose

narrow verge
#

mini wut is going on with your site lol

#

why is it up for auction

sly mason
#

he let it expire

narrow verge
#

yeah i wouldve thought it wouldve been reeleased by now

random badger
#

I thought he was gonna get it back

narrow verge
#

not be put up for auction lmao

woven ridge
#

someone eles probably bought it before he could

random badger
#

rip

sly mason
#

it's being held by the registrar looking at it

narrow verge
random badger
woven ridge
#

no? It was registered by humbly (company behind park.io) on the 16th

random badger
#

Should put up a whole PaperSpigot site on it

sly mason
#

holy fuck

#

lol

woven ridge
#

yeah two bids for $99

narrow verge
#

who wouldve thought you being an asshole for scalping also applies to domain names...

woven ridge
#

probably just scrape the internet looking for domains linked to a lot and scoop them up when they expire

sly mason
#

nothing new here

narrow verge
#

not a single person is ever going to pay $11250/mo for git.com

random badger
#

Surprised that’s available

narrow verge
#

it's not, some service is hogging it

random badger
#

I feel like you could’ve made sooo much money if you got in early on domain names

sly mason
#

Pretty much, yea

narrow verge
#

you still can when new .tlds drop

sly mason
#

registrars try to cash in on it a bit now too

narrow verge
#

When Google allows registration for .meme that shit gonna be a cash fountain for scalpers

sly mason
#

But, generally they don't wanna deal with bidding on individual names too much, so, generally scalpers cash in there too

random badger
#

I’m just waiting for google to forget to renew their google.com

#

That’s my plan for success in this world

sly mason
#

I think somebody purchased another google domain in the past little while

woven ridge
#

I read a headline a while ago saying for a while you could register google owned domains on google domains for a while

narrow verge
sly mason
narrow verge
#

nice

#

Even so, Kuroña hasn’t been able to keep the domain name he briefly held. It was transferred back to Google’s control shortly after he registered it – with no refund of the 270 peso fee.

#

wtf

#

who is nic

random badger
#

Paid actor. All a ploy for free media

#

Making sure people know about google

sly mason
#

NIC is basically a bunch of companies or whatever

random badger
#

I thought ICANN was the head honcho of domain stuff

sly mason
#

A registry operator, sometimes called a network information center (NIC)

#

Yea, they are

#

ARIN deals with IPs and ICANN deal with the root, i think

narrow verge
#

I wish they forbid squatting

#

Like you have to have actual content there

sly mason
#

Down to the individual registrars

narrow verge
#

yeah

#

and some registers not only condone it but actively do it themselves

woven ridge
#

it'd be hard to define "actual content"

copper perch
#

good luck turning "no domain squatting" into legalese that people can't abuse

#

yeah exactly

woven ridge
#

that would probably kill 95+% of sites on the internet

narrow verge
#

something that isn't a parking page really

woven ridge
#

cause nothing on the homepage, but stuff elsewhere. Do I get to keep my domain?

narrow verge
#

nothin there so yeah

sly mason
#

No, it's just filled with all your knowledge

woven ridge
#

smh

narrow verge
#

well if there's active subdomains then yeah

woven ridge
#

so then how does the registrarr know that?

sly mason
#

But, now you're in the territory of registrars acting as port scanners

narrow verge
#

you mean icann, who'd be handling this

woven ridge
#

it's not a solvable problem in the current way things works

narrow verge
#

per my wish

#

Google Domains doesn't support the .MEME ending

#

doesnt support their own tld

#

ironic?

strong mantle
#

I’m pretty sure google buys any domains you search too

#

And then tries to sell it to you for higher than it was lol

random badger
#

now that…. Might be market manipulation that’s illegal. Probably in the EU, maybe the US

modest forge
#

Heard of other registrars supposedly doing that, but not heard any reports that Google does it

narrow verge
#

Tell me them, I would like them to buy a.doctor

late lily
#

where can I see hangar?

#

access it i mean

woven ridge
pallid yoke
#

It's not done yet

woven ridge
sly mason
#

is that, like, outdated?

#

coz, that looks...

#

I don't remember the layout being that bad

pallid yoke
#

We rewrote the frontend like months ago, remember?

#

You remember this?

sly mason
#

ah, that looks better

#

It just looks, so squashed

pallid yoke
#

New layout has not a single second spend on design

#

It's all new tech

sly mason
#

#ItShows ❤️

pallid yoke
#

It's literally just the default style shoved together so we can test the new backend

narrow verge
#

who is benndorf

pallid yoke
#

Am Martin Benndorf, lol

narrow verge
#

nice to meet you

spiral current
pallid yoke
#

that most likely does nothing of value, lmao

random badger
#

Where? I’ve never seen it.

pallid yoke
pallid yoke
#

Heh, I didnt bid on the domain and now its just parked cause nobody bid on it 😄

#

this is really fun to see

midnight anchor
#

what happened to your domain?

modest bisonBOT
#

gone, reduced to ashes

midnight anchor
#

definitely

leaden lily
#

What are you referring to?

barren shale
#

dont need to click it, just see the embed lol

fluid stratus
#

makes offer

midnight anchor
#

how did it get away from you mini?

pallid yoke
#

I didnt renew 😄

#

cause I didnt check mail in months

modest bisonBOT
#

in b4 mini missed his invitation to become CEO of Minecraft

midnight anchor
#

s m h

bronze forum
#

sadly happened to me too, had to wait from 2017->2020 until they stopped parking it

#

scummy business practice

devout nacelle
keen citrus
#

buy 9 years at once, ez pz

main lava
#

Just buy 1000 years, never pay again

narrow verge
#

for the low price of $20k

modest bisonBOT
#

that is a pretty low price considering inflation is a thing

narrow verge
#

🥵

pallid yoke
#

theoretically we have everything needed for discourse now

#

but, I need to figure out this job processor stuff

chilly meadow
#

Is hangar aiming to be web only? Or will there be integrations into the server? Eg package manager of sorts and/or automatic updates on restart if configured to do so

stiff token
#

I doubt there are plans to do anything bar having the web interface and api.

#

But I wouldn't be surprised if someone made a plugin for it.

chilly meadow
#

That would be pretty cool. Looking at the to-do/completed lists, Hangar as web only will be a massive improvement on the alternatives that's for sure

#

Does that mean hangar will host and allow/support direct downloads via the API/other means ? I know spigots resources have some anti autodl restrictions

stiff token
#

Yes. Spigot does have CF in front of that api endpoint unfortunately. As far as I'm aware, hangar will have a nice api accessible from scripts.

modest bisonBOT
#

can't wait for hangar to have to deal with ddos attacks 👀

#

also spigot doesn't even expose downloads via the api? so the correct statement would be: "spigot doesn't have a download api"

pallid yoke
#

hangar will have CF in front too

#

but in a way that you can download

stiff token
#

It does have downloads api. I can get you a direct url to the file. And I used to be able to download from spigot with their api until CF started working more on anti-bot detection.

pallid yoke
#

"api"

#

if its not documented, its not api

stiff token
#

It's not public/documented, but it's still an api which is used by the website.

pallid yoke
#

spigots api doesn't include download links, that request was denied

stiff token
#

That's like the same with many Twitter libraries - can't do everything through public api so you need to reverse engineer it. But it's still an api.

pallid yoke
#

internal api isn't really api in this sense tho

#

but we getting sidetracked

#

yes, paper will not have deep hangar integration as of current plans (altho there are ideas to add a hangar.yml to jars, so that uploading is easier)
and yes, hangar will provide you with all apis necessary to implement your own plugin manager

#

in fact, most of that is there already, at least the schema

#

ignore the authentication stuff for now, I think those docs are outdated

#

no clue why most of staging is bork rn

#

Caused by: java.lang.IllegalArgumentException: Instance factory 'public io.papermc.hangar.model.api.project.Project(java.time.OffsetDateTime,java.lang.String,io.papermc.hangar.model.api.project.ProjectNamespace,io.papermc.hangar.model.api.project.ProjectStats,io.papermc.hangar.model.common.projects.Category,java.lang.String,java.time.OffsetDateTime,io.papermc.hangar.model.common.projects.Visibility,io.papermc.hangar.model.api.project.UserActions,io.papermc.hangar.model.api.project.ProjectSettings,java.lang.Long,java.lang.Long,java.util.List)' parameter '[topicId, postId]' has no matching columns in the result set. Verify that the Java compiler is configured to emit parameter names, that your result set has the columns expected, annotate the parameter names explicitly with @ColumnName, or annotate nullable parameters as @Nullable

#

heh I broke it I guess

modest bisonBOT
#

@stiff token that's not official API. that's the endpoint used for the website to allow the browser to download resources

#

abusing website endpoints in automated programs is frowned upon (and even forbidden in the TOS)

chilly meadow
#

Having filters at every section should be enough to make anyone switch. Trying to sift through plugin search results as a new-ish admin, to find the most suitable plugin, based on player requests is a pain in the rear right now. Can't wait for various filters/sorts in hangar.

pallid yoke
#

yeah discovery is important

#

for both devs and users

#

we hope to get a bunch of feedback on that once more ppl play with it

modest bisonBOT
#

auto-suggesting keywords based on the description would be pretty rad 👀

chilly meadow
#

Yeah I'll be happy to provide feedback when it's released. Another sorely missed filter is the 'supported MC version' in your search results as my players want to always run the latest content. Adding to that 'verfied working in version X by server admins' or something similar would be useful for those older plugins only supported to 1.12 but work fine on 1.16

modest bisonBOT
#

a review system where users provide the used server version would be interesting 👀

chilly meadow
#

Phoenix616 will replace us all.

pallid yoke
#

reviews are out of scope rn

#

but I could see a voting style "hey I tested on this version and it seems fine, or its bork" style up and down voting to reach a "community consensus" on that being cool

chilly meadow
#

Yeah that's what I was getting at, or perhaps attaching that vote to their review as well as/instead of

#

As long as I can tick a box that says give me 1.16 supported search results/browse category - but also give me 1.16 unsupported but verified as working by admins/votes that would be awesome

nova hedge
#

If proper reviewing were to be implemented, perhaps it should be something similar to how steam handles it.

pallid yoke
#

Yeah, ultimately that's what we kinda need to do, which is why it's out of scope for now

pallid yoke
#

oh come one

#

I thought I was done with job stuff

pallid yoke
#

aayy it works

#

also started to do a bit of the job processing but need to look more into that

pallid yoke
#

It's Monday my dudes

pallid yoke
#
    Property: hangar.jobs.check-interval
    Value: P1M
    Origin: class path resource [application.yml] - 159:21
    Reason: failed to convert java.lang.String to @org.springframework.boot.convert.DurationUnit java.time.Duration
#

??

#

oh its PT1M

#

but P1D

#

or P1DT1M

#

ok guys

#

its "guess what this scala code does" time!

#
          val fibers = ZIO.foreachPar_(0 until math.max(1, math.min(awaitingJobs, maxConnections - 3))) { _ =>
            JobsProcessor.fiber.sandbox
          }
#

awaiting jobs is fetched from the db, number of not started jobs

#

max connections a param, by default 32

#

oh wait am stupid

#

I think I read that first max as min

#

its early

#

"we now return to your normal scheduled program"

#

I think this channel developed into my own private rubber duck

stiff token
#

Not so private if thousands of people can see it.

pallid yoke
#

private as in: reserved for my use 😄

#

also

expecting ppl to not mute this

pallid yoke
#

how much error handling do you want?

#

yes

#

me likey

#

I mean, no clue why it didn't find the project, but at least error handling worked 😄

#

urg

#

visibility

pallid yoke
#

this is where I give up and do a lunch break

#

but job processing itself is done I think

surreal wolf
#

just wanted to say hello so martin doesn't have to feel lonely in this channel :)

surreal wolf
surreal bronze
#

This may be annoying to ask but do you have a goal date set for Hangar? Just a date you hope Hangar would be ready for a beta?

pallid yoke
#

Nah

#

Just churning thru the last few things

surreal bronze
#

Ah. So your going with the "it's ready when I'm happy with it" approach?

pallid yoke
#

I looked earlier, last few big things are forum stuff (which I worked on today and am mostly done with), api keys for public api, and download api (internal and public)

#

And then there are a bunch of new features on the issue tracker we need to look at I guess

#

But i would say it's pretty close to a beta, if you ignore design stuff

surreal bronze
#

👍

pallid yoke
#

I plan on doing a like a proper roadmap after this weekend or smth, to better organize the last few things, prioritize etc

#

Then it might be easier to help out

#

Cause there are some really simple tasks ppl could pick up, like adding meta tags or twitter/discord etc

random badger
#

No point in doing meta tags for pages that require a login

#

So it’s just users, projects, versions

pallid yoke
#

Well yes, it would fetch the error page I guess?

random badger
#

Or do some re-direct to login?

pallid yoke
random badger
#

We don’t want an error embed to show up.

pallid yoke
#

Or doesn't do anything, ok

#

Well, staging is bork anyways

random badger
#

Nothing is probably fine

pallid yoke
#

But yeah, homepage, users, projects, versions is fine

#

And for the others some default maybe, idk

random badger
#

Ah yeah, homepage

#

Version list maybe too

#

And project discussion

pallid yoke
#

I see

pallid yoke
#

hangar staging is bork because ???

#
Caused by: java.lang.IllegalStateException: Failed to introspect Class [io.papermc.hangar.service.internal.discourse.DiscourseApi] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@7cd84586]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:481) ~[spring-core-5.3.6.jar!/:5.3.6]
    at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) ~[spring-core-5.3.6.jar!/:5.3.6]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267) ~[spring-beans-5.3.6.jar!/:5.3.6]
    ... 41 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/configurationprocessor/json/JSONException
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na]
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3334) ~[na:na]
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2446) ~[na:na]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463) ~[spring-core-5.3.6.jar!/:5.3.6]
    ... 43 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.configurationprocessor.json.JSONException
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:433) ~[na:na]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:586) ~[na:na]
    at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) ~[app.jar:0.0.1-SNAPSHOT]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519) ~[na:na]
    ... 47 common frames omitted
#

????

random badger
#

No class found?

#

Erm, not sure how that couldn’t happened?

pallid yoke
#

works locally

#

mabye its a class I wasn't supposed to use?

#

it seems like thats shaded json simple

#

ill try to use our own json simple

#

"// Note: this class was written without inspecting the non-free org.json source code."

#

mmmh

#

seems like their own thing

#

"This is to be expected I am afraid. The configuration processor is an annotation processor and is only meant to be used by the build (to generate configuration metadata). It's not a module for which you should have a dependency on whatsoever"

#

kekw

#

"The Software shall be used for Good, not Evil." is non free apparently

#

I think we don't violate that licence so ill just use that 😄

modest bisonBOT
#

well, it does violate the motto of "you have the freedom to do whatever you want" by disallowing you to do evil

pallid yoke
#

yeah I get that

#

its not enforceable anyways

#

yes, external downloads are supported, but I think we want to restrict that per rules to direct download links, else the user experience is shit

pallid yoke
#

I can't debug this dum discourse error

#

urg

#
Encountered error when executing Discourse request
Job: 5 UPDATE_DISCOURSE_PROJECT_TOPIC {projectId=5}
Type: unknown
Message: Unknown discourse error, 403 Forbidden: [{"errors":["You are not permitted to view the requested resource."],"error_type":"invalid_access"}]
#

its an api token with full perms...

#

but I want a token that can post as a user

#

which my token should do?!

#

yes

#

tho thats one of the last things we need to implement, as its kinda complicated

#

as hangar collects way more meta data, in order to properly link dependencies for example

#

but yes, we want to provide a complete friction less experience, I want to be able to create a hangar release via a github action when I push a tag to my github repo

#

"Message: Unknown discourse error, 422 Unprocessable Entity: [{"action":"create_post","errors":["Title has already been used"]}]" of fuck of discourse

#

kek even deleting the topic doesn't help, lmao

pallid yoke
#

"422 Unprocessable Entity: [{"action":"create_post","errors":["Body is too similar to what you recently posted"]}]"

#

and its picky 😄

#

Message: Unknown discourse error, 429 Too Many Requests: [{"errors":["You’ve reached the maximum number of topics a new user can create on their first day. Please wait 23 hours before trying again."],"error_type":"rate_limit","extras":{"wait_seconds":83963}}]

#

😄

#

at least I can test my rate limiting that way 😄

modest bisonBOT
#

discourse really wants to prevent you from using it huh

pallid yoke
#

I mean, its pretty good at spam prevention

#

its just sad that that also applies to an admin key, lmao

#

eZ

#

automatically retries tomorrow, cause the response told me how long to wait

pallid yoke
random badger
#

ugh, totally forget what my username and password was for the discourse instance I have setup

#

minimum 15 characters?

#

lol

#

@pallid yoke , anything I need to know to setup discourse to get it to work with hangar

pallid yoke
#

No, didn't do anything special other than defining an all user api key

#

And relaxing some settings re title similarities or smth

random badger
#

should we be using docker for discourse? to help with development?

pallid yoke
#

Yeah I do that

random badger
#

wait, am I just not seeing it? like I meant should we add a service for discourse so it requires no additional setup

pallid yoke
#

I just git cloned some repo or smth and run that, but didn't commit that folder

#

But if you can set it up in compose easily, go ahead

#

I remember it being painful

random badger
#

yeah, I suck at docker stuff so idk

pallid yoke
#

No wasn't docker stuff

#

Was discourse being uhhm

#

Interesting

ivory ingot
#

Discourse has an official docker image

pallid yoke
#

Yeah I know they are different @random badger, just wanted to connect them cause they can be implemented together. Mobile so searching for it would have been painful, thanks for connecting them ^^

random badger
#

👍

#

cant figure out how to change the port cause it defaults to 3000 and that's the frontend

pallid yoke
#

And then I had to create a definition file in some folder or smth

#

I think there was a standlone template that included a DB or smth

#

But that thing is hella confusing

#

And vastly overkill

random badger
#

k, just gonna turn it off and ignore it 😅

#

oh, well looks like the discourse isEnabled config doesnt do anything

#

not sure you need the EnableScheduleing and EnableAutoConfiguration annotations on JobService since its all part of the same context right?

pallid yoke
#

Didn't I move them?

#

Oh fuck I didn't commit that

#

I did a huge cleanup and deleted a bunch of shit, moved that stuff from job service to a job task next to the db update task do we have all scheduling in one place

#

Then wanted to look at api keys so I can delete that code too but got called in to work cause shit hit the fan

#

I can't sleep anyways, gimme a minute I'll push really quick

#

I think it was compile and run clean

#

I was gonna look at api keys tomorrow, but if you want to look thats fine too

#

I think that plus upload/download api are some of the last big ticket items

#

then we can look into cleanup, your task with the transactional, the caching, the permissions, etc

random badger
#

yeah... been really putting off doing uploads/downloads

pallid yoke
#

give everything a lookover, add the last small things for mvp, and then look into getting a proper beta setup

random badger
#

there a reason the services in JobService need @ Lazy ? I dont see circular deps

pallid yoke
#

remove it and you will see it

#

its a big loop

random badger
#

oh joy

#

yeah, I just looked one step deep

pallid yoke
#

I don't think thats worth it to resolve

random badger
#

yeah, thats big

#

when you've got time, if you could write up steps to setup discourse for local dev for the README, that'd probably be good too

pallid yoke
#

well, am here now, lets see

#

I think I just created a paper.yml in containers

#

mailserver doesn't matter, admins can activate users manually

#

ayyy, staging is fixed

#

then its just ./launcher start apepr or smth I think

#

but honestly, fuck all that, I can look into adding it to our dev compose, you use that, right?

random badger
#

yeah

random badger
#

well you say ignore the mail server, but you have to confirm the first account so

random badger
#

ok, yeah, tried to get it to use mailhog with no luck

#

man, I almost want to just never use model IDs in internal api routes

#

I think it would make this illegal name thing easier

#

or... what if we never put specific info in the url path at all?

#

so like project id, or author name, or version id, or whatever could never conflict with anything because it was a query paramter or a body parameter, or in the headers or whatever

#

I looked around for a second to see if there was a testing tool to find all possible route conflicts but didn’t see anything. I’m not sure that I believe that, we certainly aren’t the first people to need something like that

pallid yoke
#

I did keep it, cause I kinda wanted to communicate to the author the status of the thread creation or smth, but couldn't think of anything nice

#

And for the routes, Vue router should list all frontend routes in the dev tools, no?

#

IJ can create a list of backend routes too, but those aren't as bad cause they only get proxied, right?

random badger
#

Yeah, that does first list of usernames should be all frontend conflicts

#

IJs list of routes is really ugly tho

random badger
pallid yoke
#

I forgot how much nicer compared to ore the public api (impl/auth) is now

#

JWTs are magic

random badger
#

Oh shoot, no that looks nice

#

I’m running hangar via docker tho, so I don’t get that

#

I have the spring tab with the mvc sub tab that shows routes

#

But that looks nice

random badger
#

it tries to parse the string "10m" into a long

#

need to do the bean way and convert to Millis on the Duration object

pallid yoke
#

Yeah it only works with PT10M

#

But using the bean way IJ displays a warning, urg

ivory ingot
#

The official iso Duration format.

pallid yoke
#

Is stupid

random badger
#

wait, it displays a warning? where

ivory ingot
random badger
#

I dont see any warning in IJ

pallid yoke
#

It couldn't resolve the placeholder or smth

#

It doesn't matter

random badger
#

It’d rather not have to put PT10M in the config or whatever, 10m looks way nicer

pallid yoke
#

I totally agree

#

Not sure why spring uses two different duration parsers for the same config

pallid yoke
#

I think I wanna touch download api (internal first I guess) today

#

Wish me luck, lol

random badger
#

Yeah, my thought was have a download page, it requests download info, if not confirmed, shows a confirmation, if confirmed, redirects to download or smth

#

No need to have a /download, /jar, and /confirm page

pallid yoke
#

Yeah no page at all, was thinking popup for confirm?

random badger
#

Yeah, that works.

#

I don’t see any reason where the user should want to download a portion of what was uploaded. Should just the the whole thing every time

#

Idrk what the point of the /jar endpoint was on ore

pallid yoke
#

this is why we need meta descriptions, lmao

surreal wolf
#

this the prob the feature that took the longest to implement

ivory ingot
#

Yeah, because without beer mini isn't as efficient as with beer.

surreal wolf
#

well i meant that making this show up sometimes took long but that's also right

sly mason
#

I'm not saying that mini is a german machine fueled by alcoholism, but, last time we took his beer away he did start misfiring

surreal wolf
#

i mean, whatever get's the job done, right?

pallid yoke
#

It literally was one of the first things I did, back when I forked ore, lmao

#

Or even before when just configuring ore actually

surreal wolf
#

oh, i never noticed that

#

great way to represent the community tho

pallid yoke
#

It was a priority to implement

#

Also, I love the irony that almost everything is hangar is done and ready to use, but downloading isn't

#

Which is clearly not an important feature whatsoever

surreal wolf
#

just make people upload it on dropbox

ivory ingot
#

Can upload Plugins to hangar, but cannot download them. 😂

surreal wolf
#

i mean dropbox does have the dl=1 you can append to an url

#

just make redirect from hangar url and call it an api

#

so should i make a pr?

sly mason
#

The idea I think was to use b2

surreal wolf
#

whats that

sly mason
#

s3 but backblaze, basically

surreal wolf
#

oh cloud storage thing

pallid yoke
#

Hangar will support both internal and external downloads, that's not the issue

#

The issue is getting the jar or download url to the user, that's just not implemented ^^

sly mason
#

But, but, but

#

I will poop on ur rug

limpid stump
#

Do I have to donate my Amazon S3 account now?

surreal wolf
#

yes

#

your soul too

pallid yoke
#

Demon did the calc for b2 and it was fine

bronze forum
#

B2+Cloudflare 👀

pallid yoke
#

Yep

pallid yoke
#

@random badger about download confirmations:
I think its trivial to make the download button (both on main page for promoted and for version) have a model with a check, thats easy.
but those buttons also have a copy url button, which I would say is for usage in wget? having confirmation there would break wget, so that should just use public api, right? (public api has no confirmation, right?)

random badger
#

Yes that makes sense

#

And yes, no confirmations on public api

#

I forget actually, if it’ll redirect you to external url, or just error if the version has no file

#

I think it should error. Should be on the application to check if the version has a version to download

pallid yoke
#

yeah download on version without file should 404

#

oh external

random badger
#

Yeah, I think if the version has an external link, it should 404 or 400 of whatever.

pallid yoke
#

mmh, redirect would be a nice qol feature?

random badger
#

I don’t think so tho, because that just makes it more complicated

#

Cause it can either redirect or return a file?

#

That just seems weird

pallid yoke
#

yeah fine, lets not then

#

lemme check current code

random badger
#

I implemented api downloads but I forget what I did

pallid yoke
#

throw new HangarApiException("Couldn't find a file for that version")

random badger
#

Oh, ok perfect

woven ridge
#

will external downloads be required to serve a file directly?

pallid yoke
#

ill add http status 404?

random badger
#

Btw, pure api downloads don’t need i18n. Stuff that’s never used on frontend

#

No sulu

#

A link to wherever you want

woven ridge
#

ok

pallid yoke
#

am so productive and focused today, lmao

#

but I think I like this flow now

random badger
#

Doge...

pallid yoke
#

its doge, not doge coin

#

important distinction, all crypto is bullshit

random badger
#

nah, doge coin to the moon

#

💯

modest bisonBOT
#

magic

random badger
#

put leaf in charge of all that is how

pallid yoke
#

its not set in stone if and how we will enable this or use this

#

I could for example see the safety check only be used on obfuscated shit, or shit where the anti virus shit flagged something

#

that sounds hella complicated to implement right tbh

#

we will see

#

hopefully we can just automate most reviewing

#

so that reviewers only look at flagged stuff, either flagged by the community, or flagged by our automated systems

#

I heard the spigot anti malware guy (which I always forget the name, optic smth) did rewrite his stuff, so hopefully we can just hook into that

pallid yoke
#

kek

random badger
#

yeah get rid of that

pallid yoke
#

oh I am

random badger
#

I'd like to add support for uploading a zip of versions, for different platforms maybe

#

so maybe then we can go back and add downloads for specific jars

#

based on where you click the download button

pallid yoke
#

Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "project_version_download_warnings_address_key"
Detail: Key (address, version_id)=(127.0.0.1, 4) already exists.

#

uuuh

#

I think that constraint needs to go

#

cause you know, I might wanna download it multiple times, lol

#

other than that, it works!

#

now to make sure that recommended works

ivory ingot
#

Or add the created_at to the composition?

random badger
#

Did I add that constraint…?!

#

Can’t imagine what I was thinking if I did

pallid yoke
#

this Jake Potrebic dude did 😄

#

well, doesn't matter, am not sure if we need a constraint there at all

#

adding created_at makes the constraint pretty useless

#

adding download_id to it might work

#

Idk I don't wanna figure that one out rn

#

otherwise am done I think

#

I just deleted all old files \o/

#

54 todos in code and 26 issues that are currently targeted at MVP, not too bad

random badger
#

Oh wait, no you need that

#

You only have to confirm it once

#

No need to confirm it multiple times

pallid yoke
#

oh I see

random badger
#

Was thinking that was for downloads, not warnings

pallid yoke
#

lemme fix the logic then

#

we gotta make sure hangar is setup to handle reverse proxies ip wise btw

#

ah we already do read x-forwarded-for

ivory ingot
pallid yoke
#

dont think so

#

its very much implementation detail of whatever webserver you use

#

iirc

#

1024 commits to hangar \o/

ivory ingot
pallid yoke
#

it uses that internally

#

but that does say that it will return the proxy host?

#

it will return the client, or if a proxy was there, then the proxy

ivory ingot
#

Yeah, Read it wrong. Sorry my bad.

pallid yoke
#

mmmh staging always repromts for confirmation

#

aaahh

#

sad life

ivory ingot
#

sad

pallid yoke
#

should prolly figure out why it does a refresh when there is no refresh token

#

but I am not touching that code at 22:30 after a long day

random badger
#

well... we've a bit of an issue with the whole downloading thing

#

it doesnt send the JWT with the request

#

so if its hidden cause its new, or smth, no one can download it

#

we aren't putting the JWT in the cookies, just the refresh token

#

oh right, we made it so you can just use a ?t query param to send it that way

#

ok, that'll work

#

well, firefox blocked the popup

#

no idea how that stuff works, but that'll be annoying

random badger
#

So what I’m thinking for uploading… a hangar.yml that basically can override all the scanned values.

#

So you can specify version, supported platforms, everything

#

And if one is found, that’s what’s used, not trying to find a plugin.yml, or velocity.json

pallid yoke
# random badger well, firefox blocked the popup

:/
Since it's a user interaction it's allowed on chrome, is that different on firefox? Else we can do a meta refresh, loosing the current page then, but I guess that's fine?
Maybe I should look into how other sites handle that or smth, maybe we can make the confirm button be a real link or smth

pallid yoke
#

Using the same data strcuture

random badger
#

There a handy library for that? I mean, I’d rather not have to write multiple deserializers

pallid yoke
#

Well, we can go overkill and use configurate

#

It's zml's baby

random badger
#

man, for some reason eslint/prettier stuff is so confusing to me, modules, plugins, extensions

pallid yoke
#

Did you actually check that the deps you merged compile? 🙈

#

Pretty sure I left them open because they broke the pipeline, had breaking changes we need to look at

random badger
#

yeah, I fixed the issues and force pushed back to the branch and merged

pallid yoke
#

:+1:

#

Just wanted to complain that those force pushes didn't show up in discord but they did so I blame that am still in bed

random badger
#

right now, I'm trying to figure out why intellij isnt using the node configured by NVM

#

its using like version 10 with is not too old for lint-staged, so its failing to run the pre-commit checks

pallid yoke
#

IJ has a switcher somewhere

random badger
#

yeah, its not using that either

#

the one configured in Node & NPM

pallid yoke
#

Strange

#

Executing via a launch config? Maybe you overriden there

random badger
#

and the PATH is all wrong, I just had it spit out the path var and its like, almost empty

#

missing all the stuff I have added to it

#

it only sees the node at /usr/bin/node

pallid yoke
#

What exact action you doing?

random badger
#

just using intellij's commit

#

and it runs the pre-commit hook, and that fails

#

because its only using 10.19 and needs 12.13

pallid yoke
#

Do you require node 10 for anything else?

#

Else I would just nuke that and hopefully save some trouble

#

Ideally that step would use the project node but God knows what IJ is doing for that

random badger
#

well, then it wouldnt be able to find any node installation
I could update it, but I want to know whats up

ivory ingot
#

Isn't node 12.13 outdated already?

pallid yoke
#

Yes, 12 was last LTS

#

What exception are you ignoring here?

#

I made reswaaally bad experiences with ignoring exceptions like that

random badger
#

Number parsing

#

It was probably lazy of me, but I couldn’t find a nice “canParseIntoLong” or equivalent to use

pallid yoke
#

Should just catch number format exception or smth then

random badger
#

nah, Ill just move the full try/catch for that specific thing to the supports method

pallid yoke
#

or that

#

its just that I have grown to be reaaally careful with swallowing exceptions

random badger
#

yeah, its not that smart, also it kinda encouraged using exceptions as control flow which I know is discouraged

pallid yoke
#

that I don't even care about, the job/discourse stuff does that. throws a ratelimit exception deep down so top level and schedule the job for later

main lava
#

@fluid stratus you said you would help me with IntelliJ Academy

#

I'm on my PC now

#

This is what bothers me

pallid yoke
main lava
pallid yoke
#

It's fine, deleting stuff sucks cause it causes ghost unreads :)

main lava
#

I found the "Postpone" button and clicked on it

random badger
#

Nice, the seo plugin was a good idea cause stuff gets pretty repetitive

pallid yoke
#

lets see

#

not bad!

leaden lily
#

Ooo very nice

pallid yoke
leaden lily
#

Does discourse handle the discussion pages stuff?

pallid yoke
#

mmmh, that page doesn't have a description, should it use the description of the project?

#

or "MiniDigger released this version on April 5, 2021"

#

and yes, discourse integration is done

leaden lily
#

For specific versions I would say release but for regular page do project description

pallid yoke
#

mmh

leaden lily
#

Could you do Test 5.2.35 | Release Date | Hangar?

#

And then keep description

pallid yoke
#

that description for the version is fallback

leaden lily
#

Ahh okay

#

Then I think it's fine

pallid yoke
#

so like, I can generate something that makes more sense if somebody suggests something 😄

leaden lily
#

As far as?

#

I'll let Mini weigh in on that.

misty mountain
#

no, we don't have any policies set in stone, and that hasn't really been discussed internally yet

ivory ingot
#

If there is a resource report option, I'll use that on that kind of resource.

pallid yoke
#

"We reserve the right to remove plugins that break the mojang ToS, eula or commercial usage guidelines"

#

aka get fucked

#

😄

#

idk, we will figure smth out

misty mountain
pallid yoke
#

ahhh

#

hacked together some structured data

random badger
#

Can you test this stuff locally with google’s tools? Or do you have to deploy

pallid yoke
#

I can

#

they accept code

#

(thats how I took that screenshot)

random badger
#

Oh nice

pallid yoke
#

you fucking what

modest forge
#

yes

pallid yoke
#

TS did infer the type for the array wrong and is now blaming me?

random badger
#

There aren’t types out there for structured data?

#

Gotta be something out there

pallid yoke
#

man I love how fast the site is

random badger
#

Someone was complaining about it being slow. Glare?

#

Said it was 5 seconds between page loads

pallid yoke
#

on staging?!

random badger
#

Yeah I think so

pallid yoke
#

its absolutely speed

random badger
#

5.5 seconds

woven ridge
#

wow very fast for you

#

I don't have nearly the same thing, let me get video

pallid yoke
#

idk how much cloudflare caches

#

but its hosted in germany so latency might affect stuff?

woven ridge
#

it really varries, sometimes it seems decently fast (it seemed meh here) but sometimes it'll be painfully slow

#

wow can't attach video

pallid yoke
#

they dev dont cache much rn ^^

woven ridge
#

maybe it's my discord client acting up, won't let me play videos in the app

pallid yoke
#

yeah I bet thats latency

woven ridge
#

it seems pretty much fine there, but sometimes it'll go crazy slow

#

probably yeah

#

your video looks great

pallid yoke
#

"Refused to load the script 'https://static.cloudflareinsights.com/beacon.min.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-inline' 'unsafe-eval'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback"

#

git fucked cloudflare

#

holy

#

this could be a cause for slow pages

#

bad cdns

random badger
#

We wanna include those ourselves?

pallid yoke
#

maybe, ye

#

modern mode = letting the server serve es6 modules to browsers that support it

#

I think those modules also have less polyfillys and shit

#

LMFAO

#

even tho server was really slow with initial response for some reason, its wwwaay faster now

random badger
#

oh, modern adds a new loading bar

#

kinda threw me

random badger
#

So… I’ve got a custom instantiation strategy for the jdbi interfaces, but I can’t seem to figure out how to get spring to use it

pallid yoke
#

Does it? Haven't noticed a different loading bar

#

Code should be exactly the same, just the packaging is different

random badger
#

Yeah, when I ran yarn dev, there’s a 3rd blue loading bar

#

Client, Modern, and Server

pallid yoke
#

Oih

#

Build

#

Yeah

#

It builds old client and modern client

random badger
#

Yeah makes sense

pallid yoke
#

And server decides what to throw at you

#

Nuxt doesn't have a way to turn off legacy

#

There's an open issue for that

#

Virtually everyone supports modern anyways

random badger
#

But what about IE 6 compat

#

😛

pallid yoke
#

Work refuses to drop ie11 it's so annoying

#

Am gonna break it on "accident" when I move to bootstrap 5 and see how bad the backlash is

#

But we got extra stylesheets just for ie

random badger
#

Well like, when I used to do a bunch of stuff for Gamepedia wikis, I asked why they still support older IE versions, and if you have many millions of visitors, even a tiny chunk is a lot of ad revenue

pallid yoke
#

IE is like 2% or us iirc

#

But I bet that most of that is internally

#

Cause some ppl here actually use ie11, some of our apps require it

#

But we rolled out edge to everyone earlier as default

#

With a maintianed "Enterprise" mode list, aka urls that require ie 11, so that should eat into the share

limpid stump
#

IE is sad

#

We will not miss it

thorny umbra
#
TECHCOMMUNITY.MICROSOFT.COM

The future of Internet Explorer (“IE”) on Windows 10 is in Microsoft Edge. What does this mean for commercial organizations, IT admins, developers, and end users? Microsoft Edge brings you a faster, more secure, and more modern web experience than Internet Explorer. Also, Microsoft Edge with Interne...

radiant raptor
#

and this belongs here because?

random badger
#

we were talking about IE earlier

radiant raptor
#

earlier
5 days ago

random badger
#

Errr, did smth fail?

#

Oh, does that happen if you do too many quick commits?

#

I feel like it should just cancel the previous actions if there’s a new commit

pallid yoke
#

Yeah I have been meaning to look at that

#

But yes if docker step fails with "out of order update" it's because it ran too fast

#

I saw that the pipeline broke but then I got a call at work and forgot

#

Before I could look into it

#

Ah, it's a new features

random badger
#

That seems like it’ll just wait until previous is done?

#

It’d be better to just cancel the previous right? Why waste build time?

pallid yoke
#

There's an option to do that

#
concurrency: 
  group: ${{ github.head_ref }}
  cancel-in-progress: true
#

Not sure if head ref is the right variable

#

Should be the branch I guess

random badger
#

Oh yeah ok.

pallid yoke
#

I don't think we need such harsh concurrency limits on build

#

That would be ewww with dependency PRs for example

#

Or wait, GitHub ref catches that, right?

random badger
#

I think it should. on a PR I would think that references the branch the PR is coming from

#

I didnt check that tho

pallid yoke
#

Yeah it's fine

pallid yoke
#

Huh

#

Guess we have to implement a language switcher after all

random badger
#

Hey, nice. Translations

pallid yoke
#

Chinease ppl are really active with this, really cool

modest bisonBOT
#

yeah, the CCP didn't block hangar yet 👀

random badger
#

Should the language just be tied directly to the user language?

#

I think that is sent over as part of auth flow

#

But that’s all getting replaced anyways so idk

fluid stratus
#

Is there any want currently for more translations? Could contribute one if wanted.

random badger
#

I mean, I’d wait for now

#

Frontend isn’t totally done yet

#

I don’t think many msgs will change, but there will be new ones

fluid stratus
#

Okay

pallid yoke
random badger
#

I guess there has to be a switcher still for non logged in users

#

Forgot about those people

pallid yoke
#

Meh

#

Yeah I guess

#

Maybe in the footer or smth

#

And if you logged in, that will change your whole profile language

random badger
#

I was thinking it’d just change your language for the session with a note to change it across all paper sites somewhere else

pallid yoke
#

Or that, yeah, like, have it a modal with a flag button as activator, modal has drop-down with supporter langs, a note on how to contirbutor translations and a note/checkbox? about changing it in your profile

#

Let's hope we got smth to pull flags from, lmao

#

Seems easy enough, can just hot link for smaller js size

random badger
#

ok, what is happening when I try to serve the frontend

#

log just gets absolutely spammed with sass deprecation warnings

radiant raptor
#

disable the deprecation warnings /s

pallid yoke
#

That's what happens when we only use GitHub to merge stuff and don't test locally 😂

#

I got a holiday tomorrow and Friday off too, and weather is slated to get worse again (we had the first glimpse of summer here! So no pc), so hopefully I can look at hangar stuff then until 1.17 comes out

modest bisonBOT
#

a plugin hosting site like dev bukkit and spigot's resource section, yes

pallid yoke
#

Ah, that's why I got an unread here, somebody deleted their message again!

modest bisonBOT
#

smh

deft drift
#

Sadge Trying to run hangar so I can try to do smth and I can't run the spring app. I have no clue why this happens. Running IJ on windows, project is running in WSL. JDK is WSL. Project imports just fine, but won't run. I can get docker db and frontend up just not backend. Sadge

pallid yoke
#

If you want, there should be a docker setup somewhere to run hangar in docker for dev too

#

I don't run IJ in WSL for hangar, only for paper

deft drift
#

IJ is on windows, just maven and that shit is in WSL

pallid yoke
#

And IJ uses windows jdk?

deft drift
#

IJ itself is running on Windows JDK yes

#

But the project is in WSL, running on WSL JDK

untold idol
#

intellij made wsl worse when they started officially supporting it

deft drift
untold idol
#

in 2020.3 it autodetected projects perfectly then in 2021.1 when they "supported" wsl you have to spoonfeed it everything

pallid yoke
#

You don't need WSL for hangar, only for docker

#

And that is sperate WSL instance anyways

ivory ingot
#

Problems you (only) have with Windows.

modest bisonBOT
#

what can you do if there is no LSW

radiant raptor
#

there's wine

modest bisonBOT
#

that will not work with most windows stuff that aren't games

last aurora
#

run a vm

#

if you have that many windows specific workloads you might as well dual boot

#

because vm just isn't an amazing experience

#

imo

naive iron
#

i just ditched vms after running servers on them for 3 years , i have to say its night and day

random badger
#

I dont see a way to disable sass deprecation warnings,

#

and vuetify updated to move to supported stuff, but chartist hasnt been updated in a while

pallid yoke
#

Does chartist use sass?

random badger
#

yes

#

can fork and fix deprecation issues

#

it hasnt been updated in 2 years

#

otherwise, I think we are gonna have to revert the sass upgrade, and not update that any more

pallid yoke
#

How many warnings we talking about?

random badger
#

I mean, it throws the log into a big mess

#

like, look at some recent build logs for the frontend, they are 1000s of lines long

#

now, thats with vuetify which fixed theirs

pallid yoke
#

Was more talking about the work involved to fix it

#

Or if it's easier to switch to smth supported again

random badger
#

oh, it can be done with a find and replace

#

just cant use / for division anymore

#

gotta use math.div

#

k, I just downgraded sass for now

#

can figure out what we want to do later

pallid yoke
#

Fair

#

I'll hopefully will be able to take a look at things tomorrow

main lava
#

What is hangar even lol

woven ridge
#

It's going to be a plugin repository for paper

#

so like spigot's resources sections, but better and paper

main lava
#

That sounds cool I have experience with spring boot

#

But I'm rlly bad with js and html and css

#

Sounds exciting I cannot wait

#

😳

#

Paper's api is so much better

sage mural
#

so you could say it’s a hangar for plugins? kekwhyper

main lava
#

3 questions:
Will it support premium plugins?
Where you hosting it 😳?
Will there be a download counter lol?

woven ridge
#
  1. no, see pins
  2. idk
  3. I think so, not sure
#

i'm not the best person to answer this stuff lol

#

but someone else will probably come by later

main lava
#

Pog

#

Never liked premium plugins

woven ridge
#

you are gonna be allowed to charge for support and stuff though, and it will track donations just not charge for downloads

main lava
#

I see

#

Also

#

Will it allow plugins that also work with spigot and not only paper? I assume yes

woven ridge
#

yes

main lava
#

And does it store the plugins server side or do you have to provide an external download link

woven ridge
#

it will, but I think you can also provide your own link

main lava
#

Pog

mental wraith
#

wat is hangar

woven ridge
#

see last 30 second conversation

oblique sonnet
#

Inb4 Spartans gonna be BlackListed

mental wraith
#

oki

main lava
#

I love the player jump event

random badger
#

Whoa, hangar channel popping, (for like a few mins)

#

😛

unreal sphinx
#

So what is hangar?

woven ridge
#

scroll up, but basically a plugin repository

ruby rain
#

you guys need a bot that auto-responds to these 😄

fluid oyster
#

Or maybe just a #hangar-info channel where the pins can be all in one message.

#

Because nobody ever checks pins cryIgnore

hollow summit
#

.hangar

#

!hangar

woven ridge
#

there is no such command

hollow summit
#

Oh. Ok

#

Just wondering what it is

fluid oyster
#

Check the pins

hollow summit
#

Ok thanks!

fluid oyster
#

No worries ^_^

silent jewel
#

What is hangar?

mellow pebble
#

See the channel topic

random badger
#

Mfw every announcement that mentions hangar fails to describe it in the announcement