#hangar-dev

1 messages · Page 5 of 1

pallid yoke
#

Also, I still don't get how that file didn't get deleted after 1.16 release ^^

mortal idol
#

if its useless then delete it

misty mountain
#

well we don't know if everyone checked their shit

#

and the last point has to stay in some kinda file

narrow verge
#

Okay, question

misty mountain
#

yos

narrow verge
#

So hangar will have downloading via API right?

#

How will that work with plugins from external urls

misty mountain
#

redirects or proxying probably

narrow verge
#

proxi-ing pleading_apple

pallid yoke
#

Most likely just redirecting

#

You will be required to enter direct download urls tho I guess, everything else is really dum

random badger
#

Yeah, it’ll be a redirect, but it’s not redirecting to the direct download, it’s redirecting to whatever url the plugin author put as the url.

#

So it might be the download url, or it’s the gh release page, or something

pallid yoke
#

Point I was making that I kinda want ppl to require to enter a direct link

#

As everything else is bad UX

random badger
#

should we check the content type of whatevert is returned by the link then?

pallid yoke
#

This falls into policy territory I guess

#

We should make a list with all these things so we can talk about them and make decisions

random badger
#

so there are some annoying cases where we have some external constants that are defined in a js file, and then referenced inside a script tag in a template

#

that's not gonna fly

cosmic hemlock
#

Agree with direct link, makes things like wget easier

random badger
#

well wget won't work in the first place :)

if (userAgent.isPresent() && userAgent.get().startsWith("wget/")) {
                return new ResponseEntity<>(messageSource.getMessage("version.download.confirm.wget", null, LocaleContextHolder.getLocale()), headers, HttpStatus.MULTIPLE_CHOICES);
            }

and version.download.confirm.wget is

version.download.confirm.wget = Sorry, but Hangar does not support the use of wget. \
  Please use the following curl instead:\n\
  curl -O -J -L "<url>"
#

idk why, that was just taken directly from ore

pallid yoke
#

Cause wget is a really strange tool in general

#

@random badger put into into global scope? window.constName?

random badger
#

Yeah, that’s what I did

#

I just haven’t gone through more of them to see if there are others

pallid yoke
#

Altho, then IJ might not be able to find the paths

#

Wtf

#

Oh wrong chat

#

Urg

#

We really need to consolidate the two hangar channels

random badger
#

Yes please... Can we just get the gh channel and a contributors channel over here? That way there’s no reason to go to minis discord. No one wants to be there anyway. 😛

mystic ore
#

wait why won't wget be supported

pallid yoke
#

Cause curl is better

sly mason
#

-dev is basically the contrib channel? Ain't much use for it here, and I was thinking hanger gh notifs should just go in #paper-github as generally it won't be noisy enough

#

We have enough channels as is, imho; It's already a pain jumping through all of them

fluid stratus
#

hides from Z

pallid yoke
#

Idk, we often directly discuss webhooks in my channel

worthy basalt
#

@pallid yoke do you want me to just put the github notifs into here? since the discussion would likely be on the commit object, i dont see harm in using same channel

#

and does contribs REALLY need "private" chat?

#

since this channel isnt super active github coming in here should work

barren shale
#

yes please, throw a hook in here

#

right now we're discussing the important stuff on Mini's Discord, so depends if you actually want to have a say in some of its development before it's done and we have to throw stuff over again 👀 😂

worthy basalt
#

my question was, why not have those discussions in here

barren shale
#

because every time we threw an important question in here or the one internal (that jake also can't see), it got swept away / no input from the high up people

#

so we figured Mini's Discord is cosier

sly mason
#

Not really noticed any importante questions, but, if we miss them, yall have access to the channels we have to look at somewhat often, shrugs

random badger
#

Rip

sly mason
#

It's not that we don't like you, it's just... erm...

#

Shit, he's on to us

worthy basalt
#

so ping people lol

#

i cant remember ever being pinged on anything in here for it

pallid yoke
#

Yeah please add a webhook here

#

And can then try to limit the offtopic

#

I can ask you about a design decision tho @worthy basalt, we thinking about the discussion page. Ore just used discourse, and I kinda like that, as it increases forum usage, but then integration isn't as nice as it could be, and having additional platforms, like velocity for example, is meh cause they have their own forums

worthy basalt
#

they wont need to once we move to it

#

can just have 1 thread per resource

#

oh wait missed what you meant by that

#

well it would be up to velocity to decide to use a forum thread here or not

#

that isnt a question of discourse or not, any product that has their own forums has that as a scenario

pallid yoke
#

So embedded discourse for paper and stuff and for other platforms our own discussion implementation?

worthy basalt
#

unless we do soething like forum is optional and theres a conditional "where to go for support"

#

they can link a thread or link to their own forums

pallid yoke
#

Yeah we can make links like that, already have that for github or issues and stuff

worthy basalt
#

so just conditional discusssion tab, if yuo dont want to look on hangar for replies, dont make a topic

pallid yoke
#

Looks meh on mobile but yeah

#

So like, we do discourse integration of paper forum, just one category for hangar for all platforms, and if you don't want that, just don't enable it

#

@barren shale ^

worthy basalt
#

"Hangar Discussions" or something yeah

barren shale
#

hmm but for people to manually create threads somewhere else sounds a bit inconvenient

worthy basalt
#

what do you mean?

barren shale
#

but making the discussion thread creation optional in general and just linking to an issue tracker or something sounds good

worthy basalt
#

if you can make an option to link an existing thread sure, but im not sure thats really a big deal for people to start over on a new thread, not like plugin releases threads are heavily used

pallid yoke
#

Ppreeeetttyy sure we can make it out create threads

#

And post resource updates into the thread

#

Ore does that

#

The implementation for ore is really strange, it has a fully fledge job system with a seperate worker binary and shit, but that should be doable

barren shale
#

didn't properly read everything again, am too tired and also watching a movie 😂 so what you said was Discourse link/embed for Paper/people that want it and own impl otherwise (or external link), Mini, or wat?

pallid yoke
#

Yeah, let's go with external link for now if you don't want discourse

#

And we can later see about our own impl

barren shale
#

sounds good

#

at least if we get the embeds to work nicely, also with reactions or whatever

worthy basalt
#

why embed? just go off to forums

#

embeds are weird

barren shale
#

going back and forth between pages sounds like a user nightmare

#

like all important version info and headers just being gone because you just wanted to peek at discussions

pallid yoke
#

It's an external link, so you would open it in a new tab, but yeah

barren shale
#

I mean the specific Paper plugin forum threads

pallid yoke
#

Yeah, but that's still an external link, you leave the application from an UX point of view

hearty sail
narrow verge
#

This channel only

hearty sail
#

still 26 SquidAngry

random badger
#

Was a decision made regarding the gh webhook?

narrow verge
random badger
#

I think mini wanted it here. In this channel.

#

Cause we do talk about the various commits here.

#

Or rather, we do in the channel in minis discord

random badger
#

anyone know if you can redirect to robots.txt? is that acceptable to crawlers? idk much about this

untold idol
#

@random badger google does 5 redirects before it stops

#

Pretty sure spec is the same 5 as well

#

Actually I believe 5 is also derived from the http spec where more than 5 redirects result in a 404

#

But as long as you're under 5 redirects you're good

random badger
#

k nice

misty mountain
#

@random badger I've asked for it internally :)

proud basalt
#

done

misty mountain
#

thank u kashsama 🥺🥺

mellow pebble
#

kash uwu💕

narrow verge
#

:3

random badger
#

Have fun removing all the references to plugin id Kenny. 🙂

narrow verge
solemn whale
#

sweating thats gonna be tough

pallid yoke
#

Why are you redirecting to robots.txt? Didn't I all ready implement that?

random badger
#

You wanted it in the front end folder right?

#

In frontend/src/public.

#

But if you are using the dev server, it needs to be redirected. In production it’ll just be a class path resource

pallid yoke
#

Oh I wouldn't even care about webpack mode, but ye, I see now

random badger
#

It doesn’t matter for production, it’s not a redirect there. So I guess in the end yea, it doesn’t matter

barren shale
#

it will prolly work out fine except for the dependency stuff haha

#

but I'll probably just yeet it out there until we do those properly as well, with initial detection through slug only and manually setting them otherwise and all

pallid yoke
#

Ye, sounds good

barren shale
#

since we break a bunch of API now we might as well put everything back as V1 and unify the 2

#

I'll not do it right now, but for later

pallid yoke
#

Yeah that was the plan

languid owlBOT
#
[PaperMC/Hangar] New branch created: yeet\-pluginid
barren shale
#

have to go now, but that's the current progress. I'm also to dum to have the db recreated with the changed db init? docker-compose -f docker/dev-db.yml down -v or just dropping the db manually still recreated it with the old structures smolEyes

pallid yoke
#

Throw a build into that command

#

To force rebuild the docker file

random badger
#

did we make a decision on typescript? MD was all for it when I mentioned it a bit ago, but mini was hesitant

pallid yoke
#

as long as its not a pain in the arse, its fine by me

#

but like, do we solve an actual issue with that migration?

#

I mean, well, if we expand more into vue and stuff

random badger
#

hmm, @pallid yoke for some reason, im getting an error with the yarn running via the frontend maven plugin. Its installing v12 of node, but when it runs yarn install, it seems to be using v10 of node

#

and at least the swagger-client module requires a higher version

pallid yoke
#

Lemme see

#

Mmh, strange, seems setup all right

#

I'll check at my PC in a few

sly mason
#

inb4 "works on my machine"

random badger
#

error swagger-client@3.11.0: The engine "node" is incompatible with this module. Expected version ">=10.21.0". Got "10.19.0" that is what this is saying right?

#

after running yarn install

pallid yoke
#

Yeah

modest forge
#

I'm all for Vue 3, I don't really have an opinion on TS

random badger
#

oh maybe it was kenny who said that

pallid yoke
#

I think we on 3 already

random badger
#

yeah, we are on 3

pallid yoke
#

jake sneaked that in into the frontend refactor branch the other day

modest forge
#

Ah right

pallid yoke
#

mvn install works for me

#

maybe its grabbing your global node install jake?

random badger
#

my global is 14

pallid yoke
#

so where is it getting 10 from?

modest forge
#

it's a mystery

pallid yoke
#

just to make sure, run node -v in some terminal

random badger
#

maybe its something docker related?

#

yeah, I did. its 14

pallid yoke
#

do you run build in docker?

random badger
#

yeah, cause Im always using hangarauth at this point

#

cause I usually need multiple users

pallid yoke
#

so make sure the global in the docker image is 12+ too?

#

idk

#

what dockerfile do you use?

random badger
#

docker/hangar/Dockerfile

pallid yoke
#

that doesnt run mvn?

random badger
#

oh no, but it does in the docker-compose.yml

#

docker/docker-compose.yml

pallid yoke
#

oooh I see

random badger
#

but node shouldn't be installed on that anyways

#

idk where it would be. I had to have it install yarn for some reason, I forget why. something needed yarn before the frontend maven plugin got around to installing it

pallid yoke
#

what command do you run?

random badger
#

I just run docker-compose up --build in docker/

#

ok, so I added a temp RUN command in docker/hangar/Dockerfile (node -v) and it spat out 10.19.0

pallid yoke
#

kek

random badger
#

so im guessing it running apk add yarn installed that version of node?

pallid yoke
#

strangle I can't repo

#

oh wait no its still running

#

its running the command in the container

#

interesting

#

didnt even see that that container has yarn

#

but yeah, I bet the yarn version there is old too

random badger
#

yeah, I forget why its there. but ik there is a reason. something needed yarn before maven installed it

pallid yoke
#

you shouldn't need to if you run mvn since thats what the frontend plugin should solve

random badger
#

right, but something needed to use yarn before maven installed it

#

something earlier in the build process

pallid yoke
#

but if I look at the repo, that yarn package depends on nodejs, not nodejs-current

#

which is 12.18.4

#

but should still be enough

random badger
#

well I removed apk installing yarn, and then it failed to run node -v

#

so that adding of yarn def installed 10.19 of node

pallid yoke
#

I mean, assuming its using latest alpine, idk what openjdk packages

#

yeah its a dependency

random badger
#

oh yeah, here is the issue. ```
--- frontend-maven-plugin:1.10.0:yarn (yarn install) @ hangar ---
[INFO] Running 'yarn install' in /app/src/main/frontend
[INFO] /app/src/main/frontend/node/yarn/dist/bin/yarn: exec: line 20: node: Permission denied

#

if I remove installing yarn in the Dockerfile

pallid yoke
#

wtf

#

did you see that it ran the other goal before?

#

if not I know what the issue is 😄

random badger
#

which other goal?

pallid yoke
#

the one thats installing node

random badger
#

yeah, it ran that

pallid yoke
#

ah strange

languid owlBOT
pallid yoke
#

updated to java 16 image which has newer yarn which hopefully installs a proper ndoe version

#

so maybe try adding just yarn install back, idk

#

ill have to go now, I forgot to check time

random badger
#

yeah, looks like it installed 12.18.4 of node, and 1.22.4 of yarn

modest forge
barren shale
#

no, that's Roe

#

Spnoge Roe

modest forge
#

oer

barren shale
#

in other news; I somehow broke my Docker setup, so I'll see if I can continue/finish the plugin id stuff tomorrow snowy

random badger
#

yeah... speaking of logos... who is gonna do that

#

grr. this is getting kinda annoying. ij's find in path seems to think it should search this cli.js file that is 130,000 lines long

#

and it always freezes up for a few seconds

#

sorry, 150,000 lines

mellow pebble
#

what do you jnot like my logo

modest forge
#

my logo was first

random badger
#

yeah... Id say your logo lacked a... how shall I put this...

#

a professionalism 😛

modest forge
#

wdym ms paint isn't professional

narrow verge
#

yeah i prefer mr paint

random badger
#

k, anyone understand what is going on with the /javascriptRoutes endpoint?

#

cause localhost is hardcoded into the response

#

and its like trying to read minified js

languid owlBOT
pallid yoke
#

I copy pasted that, ore auto generates it

#

It's kinda an export of our route helper I guess

#

Idk, you will have to look where it's used in the frontend and reverse engineer it, I would be in favor of replacing that with a normal json object...

#

That regex in the latest commit tho

random badger
#

Yeah, to be 100% clear. I did not make that.

#

😆

#

But it has 300 upvotes on stack exchange. So it hopefully should work out.

narrow verge
#

Ah ye

languid owlBOT
pallid yoke
#

If am sober again tomorrow I'll pull and browse a few sites and then we can merge

languid owlBOT
#
[PaperMC/Hangar] New branch created: typescript\-migration
languid owlBOT
narrow verge
#

force

random badger
#

k, im thinking now we don't really need typescript... its more of a pain than I thought...

#

if the whole thing was started in typescript, it would be fine

pallid yoke
#

Can't you mix match and gradually migrate?

#

For example, maybe only migrate Vue stuff?

random badger
#

Yeah, we could.

pallid yoke
#

Cause like, rewriting code we want to eventually port to Vue anyways is just doubled work for no real gain

random badger
#

Yeah, there is just an odd issue, where IntelliJ is showing some errors, only for components in src/components, not src/. It’s not seeing that I have the experimentalDecorators turned on in tsconfig . Literally, if I refactor the component out of the components directory, up one level, it doesn’t show that.

pallid yoke
#

It's only IJ, not build?

random badger
#

Yeah, building works fine.

#

Also, if I install any type package, I have to close and reopen it to get rid of the message saying it cant find type declarations for lodash (for example)

pallid yoke
#

Meh

limpid stump
#

lodash omegalul

#

ngl tho typescript is 👌

pallid yoke
#

Yeah but these are exactly the issues I was talking about

#

It's nice it it works

main lava
#

What is hangar?

fluid stratus
#

An upcoming plugin repository

main lava
#

What is that

pallid yoke
#

A replacement for spigots resource section. It will be the go to place to get paper plugins (bukkit plugins utilizing papers API extensions for extra features and performance)

fluid stratus
#

Was the plan only for plugins that actually utitlize some part of Paper exclusive API, or just generally anything that is compatible with Paper?

pallid yoke
#

Anything goes

#

But it kinda is the only place for actual paper plugins, since spigot is starting to crack down on them

brazen hare
#

is there any outlines on rules for plugins yet?

#

Spigot doesnt support pay per click at all even if there'a direct link right next to the pay per click link

sly mason
#

Yes they do?

#

Take a look at what inventivetalent does

#

Saying that, given that 99% of the pay per click sites often tend to upset antivirus/malware sites, I defo err on that one

random badger
#

Pay per click?

sly mason
#

things like adfly

pallid yoke
#

Yeah, I would vote against that too

#

We have some different ideas to provide compensation to devs too

narrow verge
#

Going to use the a lot of the API so if you want me to collect/find issues in one giant github Issue I'll be happy to mess around

sly mason
#

giant issues which track 20 different things are just bad

barren shale
#

API isn't done done yet

narrow verge
#

It's all under one api umbrella though, but i see your point

sly mason
#

better off using a project

narrow verge
#

I cant modify projects :p

pallid yoke
#

One giant issue is good for brainstorming

#

Can later be split up then

random badger
#

there can be one issue for adding features to the API

#

that's not too general for a single issue

#

might just end up using vs code for the frontend folder. IJ is now not highlighting some errors that show up on build

brazen hare
#

Take a look at what inventivetalent does
@sly mason i brought that up in the spigot discord and said no and talked to Haylee who owns incentivetalent and said they they talked to some of the staff and they agreed their site was fine

#

idk perhaps i just they didn't understand me when i was explaining

#

i tend to make things confusing

pallid yoke
#

Did you actually talk to spigot staff or some randoms? But generally, spigot staff never were deterministic with decisions, which is why hangar, much like our community guidelines, will have clear rules

languid owlBOT
languid owlBOT
barren shale
#

@random badger where should the mc version selector be visible? I don't see it (and had to make the parameter optional for testing because it just didn't exist) thinking_eyes

languid owlBOT
random badger
#

It should be visible in the version creation page

#

It should have a bunch of checkboxes, with the api-version (if it exists) already selected.

barren shale
random badger
#

You gotta select a platform...

#

Doesn’t know what versions to show if you don’t click a platform.

#

Maybe that needs to be more clear.

#

(By clicking on one of the platforms in that image you posted)

barren shale
#

nope :p

random badger
#

Ok, well maybe something broke? Any errors in browser console? It’s a vue component

barren shale
#

no, nothing

random badger
#

I’ll look tmrw. It’s 4 am for me

#

Or rather later today

barren shale
#

ah fair enough

#

just another visual thing; the platform selector is kinda awkward 👀 the blue on velocity suggests that it is currently selected, on clicking the other options just pop off with that x, and not selecting a platform doesn't have proper checking but just gives a generic error page

#

they should all have the same (dark, e.g. gray) color, and show what you have selected by highlighting one in a stronger color... or something else, idk

languid owlBOT
pallid yoke
#

I would argue for a radio button list

#

Then it's pretty clear what's happening

random badger
#

Well, that wouldn’t work. Plan is to support multiple platforms right?

pallid yoke
#

I mean, I see why he just used the tags, it's also nice for consistency, maybe we can use the tags as a radio button label

random badger
#

So it’d be another checkbox group

pallid yoke
#

In one project? Mmh, I guess

#

Using multiple channels then?

random badger
#

Especially for external links

#

Maybe?

languid owlBOT
random badger
#

ugh, there's an odd issue, where flyway isn't doing its thing soon enough in the startup process

#

not quite sure how to fix that.

stiff token
#

sleep 60

stable basin
#

wait there's a github bot?

safe harbor
#

It's a webhook

pallid yoke
languid owlBOT
#
[PaperMC/Hangar] branch deleted: frontend\-refactor
random badger
#

we probably have to add another field to hangarauth for the paper forum username

#

since they might not match

pallid yoke
#

huh

#

how would that be possible?

languid owlBOT
random badger
#

someone could have Machine_Maker as their username on the paper forums and then when they create an account on hangarauth, they use something else, like MachineMaker or something

pallid yoke
#

but both forum login and hangar login go thru hangar auth

random badger
#

oh, right now they don't

pallid yoke
#

so that you have one account for all paper services

random badger
#

didnt realize that was the plan for release

#

gotcha

pallid yoke
#

yeah right now hangar auth isnt a thing

#

we will do it the same was as sponge

languid owlBOT
pallid yoke
#

is that read to merge?

#

ready

random badger
#

kenny, why did you change the v1.0.0 script, instead of adding another one

#

oh you merged them

#

ok, I didn't realize that

barren shale
#

fixing merge conflicts

#

then there's still that mc version tick box that disappeared with my changes (or maybe didn't work before either idk, didn't test that on master)

random badger
#

right, thats what I was gonna test yesterday, but got fed up with the migration thing

languid owlBOT
barren shale
#

should be properly rebased now

#

.. wut org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

#

can you check if the version checkbox works on master @random badger ?

#

meanwhile I'll fix my docker/db setup again... 😂

pallid yoke
#

am merging the entity counter PR for paper before it escalates further and then ill take another look at hangar stuff

random badger
#

k, well you at least missed 1 pluginId reference in a template @barren shale

barren shale
#

that's the dependency stuff

random badger
#

ah

barren shale
#

but I think mini or you will do a better job with those, I don't really have a good idea on how to approach those

random badger
#

hmm, found an issue with the frontend refactor. for all the vue components that use ajax requests, we need to make sure in its accopanying js file, we do $.ajaxSetup(window.ajaxSettings).

pallid yoke
#

cant we do that in a global file?

random badger
#

yeah, probably

#

lemme see if I throw it in main.js

#

no, it doesn't work if its just in main.js

#

I bet because its a different instance of jquery

#

so the jquery that's doing the ajax request in VersionList.vue is different from the one that was imported in main.js?

pallid yoke
#

uuhm

random badger
#

idk, maybe that isn't the reason. I just know if I add it to main, and remove it from version-list.js, the csrf header is missing from requests, which causes 403s

pallid yoke
#

mmhm, is there a thing as instancing?

#

well, actually, it could be two different jqueries

#

since they could be in two different bundles

random badger
#

that is kinda what I meant

#

yeah

#

instance was probably the wrong word to use there

#

I think that's what the global imports in webpack solves right? its the same jquery in all bundles? or maybe it still would be different jqueries

#

oh @barren shale ik why the list is empty... you prob didnt add any versions to a platform

#

so hangar things there are no versions for that platform

barren shale
#

ohh

random badger
#

yeah, go to the admin page for it

#

and add some

#

yeah, it should be fine.

languid owlBOT
barren shale
#

so dependencies obv don't fully work anymore, but everything else on that should be finished and working

random badger
#

is there a gh issue for deps?

barren shale
#

I'll create one and how I thought of how it should look like (also for multi-plat in mind)

random badger
#

I had some idea for deps, there was a json schema I posted somewhere, idk where it ended up

barren shale
#

can you programatically add defaults to the platform versions for first starts so you won't have to manually add those when doing a clean setup?

random badger
#

yeah, that's probably a good idea.

#

yeah, ill add some rn

pallid yoke
#

we definitely want to move swagger to its own bundle, lol

#

its one mb

random badger
#

hmm. then idk why it doesn't work if I only configure ajax in main

languid owlBOT
#

With plugin ids being removed (https://github.com/PaperMC/Hangar/pull/141), project dependencies need to be updated as well, also with multi-platform support in mind.
This could mean:

  • Searching a dependency on Hangar by slug and linking it by default if a match is found
  • Being able to manually unlink a dep and set links yourself in project settings (possibly to other websites)
  • Having dependencies per platform - in settings they have to be separated, and they have to be slightly...
barren shale
#

right now it's https://i.imgur.com/sX3Unzy.png, but as it'd be better for multi-platform separation, Sponge 7.1.0 should be a little sub-header with its dependencies, then platform X with theirs, and so on..

random badger
#

yeah, should be easy to differentiate between a platform dependency and then a plugin dependency

barren shale
#

in code I think we should in general not put the platform in the dependency list, but as an extra list (or then map to its dependencies)

#

the platform just being any other dependency and then with weird checks smells a bit hacky, and changing that should be more future proof anyways

random badger
#

where are dependencies shown, on the version page right? or are they shown on the general project page as well

barren shale
#

on project page as well for the promoted version imo

random badger
#

if its just on the version page, I think mini was right. we should encourage seperate channels for different platforms

barren shale
#

hmm

#

that might also entail someone having to upload the same jar 4 times smolEyes

random badger
#

hmm yeah. I wonder if we should then have it be able to release to multiple channels then

barren shale
#

all of those should be shown in promoted/recommended versions then if set

random badger
#

yeah, a promoted version for each channel

#

idk how the promoted versions get calculated

barren shale
#

I don't either :D

random badger
#

its one of those big sql queries that we just copy and pasted and hoped it just worked

barren shale
#

yeah haha

#

doing separate channels for platforms sounds like a good idea, but we'd have to plan that out a bit, since that's a change with a few more consequences

languid owlBOT
pallid yoke
#

this was way too much work

#

lol

#

but at least the bundle size is smaller now

#

I still don't 100% get why we have a vendor chunk at all

#

but oh well

#

webpack is a mess

#

muuuch better

#

now chartjs is only imported on the stats page

#

is main.js imported on all sites?

#

mmh, when I disable the vendor chunk, FA breaks

#

strange

languid owlBOT
random badger
#

im curious, why do you have to require swagger-ui in the swagger.js file?

#

isn't that imported in the Swagger.vue?

languid owlBOT
#

Ok, so is it best for each version uploaded to only have 1 platform, and use release channels for different platforms, or should each version uploaded allow multiple platforms to be selected?

I think its best that each version uploaded (essentially each row in the db) should only be 1 platform. I think that simplifies things pretty dramatically. If we go that route, we can add a platform column to the versions table. Then the dependencies column in the versions table could solely be for ot...

random badger
#

what do we think about an edit history for project pages that project owners can view?

#

we've got project page diffs in the user action log, but that's for mods and up

#

maybe also for version descriptions?

untold idol
#

yes to all!

languid owlBOT
#

Project owners, or well anyone who can edit pages/version pages on a project should have access to an edit history for that page. Currently that info is visible in the user action log, but that is only for Moderators/Admins. Along with this would come page rollbacks. This shouldn't be a big issue since that information is already stored in the logs table.

uncut juniper
#

you should use lodash-es to get rid of the lodash bloat

random badger
#

is that better than import difference from 'lodash/difference'?

languid owlBOT
#

Ok, so is it best for each version uploaded to only have 1 platform, and use release channels for different platforms, or should each version uploaded allow multiple platforms to be selected?

The way I do things, I prefer to distribute a single jar with support for multiple platforms. It makes user transitions and providing support and updates easier. Some other plugins I know of also follow this pattern.

languid owlBOT
uncut juniper
#

is that better than import difference from 'lodash/difference'?
@random badger lodash is not tree-shakable, so webpack is unable to extract only the code which is used. lodash-es lets you do

import { difference } from 'lodash-es';

which will only import the code needed for that, thus reducing the final bundle size. I noticed there are only 3 functions used from Lodash so it'll improve the bundle significantly.

#

I mean you can do the same syntax with lodash as well but it won't have the same effect

random badger
#

ah ok

uncut juniper
#

alternatively you can do

npm install --save lodash.difference

which will only install the difference package from the official lodash.

then do

import difference from 'lodash.difference'

this does get a bit messy in package.json if you start using lots of lodash functions however. I prefer the lodash-es method.

#

I just recently did a lot of research for my job into bundle sizes with lodash and which method was best for importing, so this info is fresh on my mind haha

random badger
#

sweek ok.

languid owlBOT
uncut juniper
random badger
#

thats funny that there is an eslint plugin for that

uncut juniper
#

yeah, it's super useful if you use a lot of lodash haha

languid owlBOT
limpid stump
#

lodash PepeLaugh

pallid yoke
#

im curious, why do you have to require swagger-ui in the swagger.js file?
@random badger I just played around, I didn't manage to actually fix it, so I created an issue

#

The same thing that's true with lodash (you don't need it), is also true with moment btw

#

Which is another giant lib we use cause it has localization of time stuff

#

I think moment is also offical sunsetted now or smth

languid owlBOT
pallid yoke
#

Staging works again now ^^

#

I'll try to setup auth for staging later I guess

random badger
#

would be nice

pallid yoke
#

I have a stupid ass meeting for two hours today and fucking 8 hours tomorrow

#

Time enough to get that running ^^

random badger
#

you have a meeting that lasts 8 hours tomorrow?

#

what kind of meeting is that?

pallid yoke
#

Increment planning for some new project

#

aGiLe

#

My boss told me to give it a chance, if it's as much bullshit as I think am just gonna leave early

#

I don't need planning, lol

#

I have til April, I have two competent coworker and half of our marketing team who are the product owners, i can manage that without a project lead or all this shit, just lemme code and talk to ppl

#

We will see

random badger
#

well let me know if you run into any issues. remember to use my fork of md's fork of your fork

#

of hangarauth

pallid yoke
#

I guess we should transfer that to the paper org too

random badger
#

also, what do you think about the release channel per platform thing? and adding the ability to upload a version to multiple channels?

#

I think that properly solves the multi platform issue

#

doesn't require uploading the jar more than once if a single jar is designed for multiple platforms

pallid yoke
#

Oh I haven't gone thru the comments in issues yet, lemme do that in a few, finishing up smth at work

pallid yoke
#

this is the bledding hangarauth branch, right?

random badger
#

Yes. There’s a pr to your fork

pallid yoke
#

most likely gonna just move that branch to the paper org

languid owlBOT
pallid yoke
narrow verge
#

Pangar

languid owlBOT
worthy basalt
#

re lodash, yes use lodash/foo UNLESS you have webpack with lodash optimizing plugin

#

there is a lodash plugin for webpack i use at work that rewrites your imports for you

#

without that plugin, a single import from "lodash" is the entire bundle, no tree shaking possible

#

what is "disable webpack for staging" does that mean the webpack dev server?

pallid yoke
#

no we had a config that told the backend that you use webpack dev server, so that it would change urls for assets

#

and that wasnt disabled for staging

worthy basalt
#

so you meant to say "yes" because thats e xactly what i asked lol

#

unless you have a common bundle your wanting to move it to

pallid yoke
#

we dont have reuse over pages

#

well yes we have

#

but even if we dont its currently all in that one chunk

worthy basalt
#

webpack should be able to make a common chunk of "super shared" code

pallid yoke
worthy basalt
#

but, is this all as a single page app design or is it multiple entry points

pallid yoke
#

notice how we only use chart js in stats.js for example

worthy basalt
#

well yes, that should of been automated, did the config force all vendors into vendors if so yeah thats iffy

#

at work we have common bundle ,that only stuff thats u sed over like 5+ entry points gets promoted there

pallid yoke
#

yeah, thats default vue-cli behavior, everything under node_modules goes into chunk-vendors

worthy basalt
#

you mean thats the default webpack config vue generated 😛

pallid yoke
#

ye

#

and you need to override it

worthy basalt
#

where is the webpack config

pallid yoke
#

in memory

worthy basalt
#

i mean in the project

pallid yoke
worthy basalt
#

where is the build configured

pallid yoke
#

the optimization I copy pasted from the generated

worthy basalt
#

the hell, vue is controlling webpack to that level?

pallid yoke
#

vue-cli is

#

its optional

#

designed so that you dont need to touch webpack

#

if I comment that commented out code back in, with the dum test, then it produces the second image

#

but smth is wrong with FA so I didnt commit it yet but created the issue

worthy basalt
#

which is fine for simple apps, every production quality apps gonna need their own customization

pallid yoke
#

well, normally you would use it to build SPAs and dynamically import stuff

#

which we cant since html templates dont go thru webpack

worthy basalt
#

yeah thats the bes then it can handle chunks super effecient

#

at work we have per-page entry points

#

so every url has its own entry js

pallid yoke
#

there is no way to shove our html templates thru webpack, right?

worthy basalt
#

yes, there is like webpack-html-plugin and it can even manage js includes

pallid yoke
#

I know basically nothing about webpack, so all I do is try and error basically

worthy basalt
#

i dont know what the latest webpack is like, im still behind

pallid yoke
worthy basalt
#

i assure you its possible in some way

pallid yoke
#

ok, so we should really look into that then before working too much with chunks

worthy basalt
#

well defining your own splits wont impede it

#

if you only have a single entry point shared over all urls, thats where your lodash cant be smart and only appear on a single page

#

err chart.js i mean

#

i dont know how this framework is managing entry points though

pallid yoke
#

its only referenced in one entry point

#

its just that dum default rule of everything in node_modules goes to chunk vendors that is blocking us

worthy basalt
#

well it prob doesnt really hurt. the idea is, let users ownload the static shit once, and that chunk will change less

#

and if the build can maintain static file names across versions then browsers wont have to redownload anything until you change a dep

pallid yoke
#

yeah, I just played around a bit, its not really an issue

#

its just meh, considering chart.js is only used for admins

worthy basalt
#

well that can be fixed on where chart.js is imported

pallid yoke
#

and ye, we will have to enable file name hashes again, but for that we need to have that webpack html plugin

worthy basalt
#

const { default: _ } = await import(/* webpackChunkName: "lodash" */ 'lodash');

#

replace w/ chart.js

#

webpackChunkName is the magic there

pallid yoke
#

if I name the chunk the same as the entrypoint, it complains, and I don't really need two files

worthy basalt
#

give it its own name

#

chart.js lol

pallid yoke
#

I just need to remove the default node_module rule and figure out why that breaks bootstrap, then it will work fine, button chart.js into the stats.js file, together with the code for that page

limpid stump
#

I might throw myself into this meat grinder this weekend.

pallid yoke
#

I mean, the whole code splitting stuff isnt a problem right now, we could even go into prod with suboptimal chunking

limpid stump
#

I don't like chonky JS bundles.

#

On the Velocity website I sent way too much time slimming down our chonky JS bundle.

pallid yoke
#

but yeah, if you guys have experience with this, please, go ahead

#

I am a java dev that somehow became a frontend dev

#

or well, fullstack

limpid stump
#

And I have less options there as much of the bloat is React and Gatsby-related

worthy basalt
#

react is not bloat lol

#

its pretty damn tiny

modest forge
#

and Gatsby

limpid stump
#

although tbf our bundle size is good now

#

The biggest component here is actually React itself 😛

#

Generally I try to aim for <1MB bundles after being gzipped

pallid yoke
#

(with adblock)

languid owlBOT
pallid yoke
#

@barren shale uuuhm

#

CREATE USER $database WITH PASSWORD '$database';

#

wat

barren shale
#

I didn't make the docker setup scripts i dunno

#

😂

pallid yoke
#

oh

#

really

#

oh jake did, sorry

barren shale
#

the dev-db one is botched anyways, aside from that

#

had to setup stuff manually

pallid yoke
#

we don't really need two users I guess

#

and the script shouldnt need to create a user

languid owlBOT
worthy basalt
#

@limpid stump lol 300kb is tiny in modern age

#

specially if the page is good about splitting so entire thing isnt dl'd at one load

#

but 300k total geez a single bundle is fine there

languid owlBOT
worthy basalt
#

our common bundle at work is 1.7MB ._.

pallid yoke
#

uuuhm, how do we generate DB tables right now?

#

oooh, db migration

#

well, thats not working

#

it seems to run too late I guess?

#

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webMvcObjectMapperConfigurer' defined in class path resource [springfox/documentation/spring/web/SpringfoxWebMvcConfiguration.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataSourceAdvisor': Cannot resolve reference to bean 'methodSecurityMetadataSource' while setting constructor argument; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'methodSecurityConfig' defined in URL [jar:file:/app.jar!/BOOT-INF/classes!/io/papermc/hangar/config/MethodSecurityConfig.class]: Unsatisfied dependency expressed through constructor parameter 2; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userService' defined in URL [jar:file:/app.jar!/BOOT-INF/classes!/io/papermc/hangar/service/UserService.class]: Unsatisfied dependency expressed through constructor parameter 6; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'roleService' defined in URL [jar:file:/app.jar!/BOOT-INF/classes!/io/papermc/hangar/service/RoleService.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.papermc.hangar.service.RoleService]: Constructor threw exception; nested exception is org.jdbi.v3.core.statement.UnableToExecuteStatementException: org.postgresql.util.PSQLException: ERROR: relation "roles" does not exist

worthy basalt
#

but those sizes are pre compression

barren shale
#

the migrations were merged

worthy basalt
#

441kb compressed

barren shale
#

if you didn't already, you have to nuke your db

pallid yoke
#

I did, this is staging

barren shale
#

ah

pallid yoke
#

where in code are the migrations?

#

like where are they triggered?

#

mmh

#

so magic?

languid owlBOT
worthy basalt
#

so many db frameworks treat migrations as magic, i hate it

#

sspecially when its "run this sql file!" well what if you need app code to properly do the migration too?

limpid stump
#

@worthy basalt Django has some nice abstractions for DB migrations

#

A migration can run arbitrary code to do the migration properly

languid owlBOT
pallid yoke
#

mmh

#

where the fuck is v1.0.1 coming from, lmao

barren shale
pallid yoke
#

I have a dum feeling thats some old version?

barren shale
#

sounds like very black magic

#

probably lol

pallid yoke
#

finally an excuse to add a custom banner generator that prints the commit 😄

random badger
#

Mini, the migrations seem to run too late. I had this problem earlier and I couldn’t find a fix.

pallid yoke
#

I just ignore errors now, thats fine

random badger
#

Also, make sure you drop all the db tables on staging

pallid yoke
#

I did

random badger
#

I think a solution is to move just the init script back to the docker folder

pallid yoke
#

nah its fine like it is now

#

you just gotta restart once if you start from zero

random badger
#

oh ok.

pallid yoke
#

the try catch did

#

postconstruct still runs too early

random badger
#

hmm, could make it a scheduled task with a delay?

pallid yoke
#

I guess

#

but like, they are ugly anyways

#

two locations, role init and platform version init

#

we gotta have some better solution

random badger
#

ApplicationListeners?

#

there is an on ready event

pallid yoke
#

or do it more generalized, one service that handles populating the DB

#

almost

random badger
#

yeah, we could do a population service. I wonder if an @Order(Ordered.LOWEST_PRECEDENCE) would run late enough

pallid yoke
#

lol

#

flyaway is an InitializingBean

#

whatever that is

#

so we need to be that too I guess

#

its also ordered

pallid yoke
#

InitializingBean seems like what we need

#

and then we can set the order on that

random badger
#

it looks like FlywayMigrationInitializer is already ordered 0

pallid yoke
#

so do negative

#

Ordered.HIGHEST_PRECEDENCE is negative

random badger
#

you can probably autowire that and change its order

pallid yoke
#

am offically too dum to do maven resource filtering

#

wtf

#
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>


    <properties>
        <hangar.version.full>${project.version}-${git.commit.time}.${git.commit.id.abbrev}</hangar.version.full>
#

yet file in target is still Hangar version ${hangar.version.full}

random badger
#

huh

pallid yoke
#

ok spring is special

#

wtf

random badger
#

for resource filtering? there's something extra that has to happen?

pallid yoke
#

no, they just changed the delimiter

#

since spring also uses the maven syntax for it configs

#

to avoid confusion

random badger
#

ah @xxxx@

pallid yoke
#

ye

random badger
#

don't think ive ever seen that syntax lol

languid owlBOT
pallid yoke
#

ok anyways

#

still no clue where that migration is coming from, lmao

#

wait

#

maybe smth is not running clean

languid owlBOT
pallid yoke
#

since we cache everything in build

#

@random badger @modest forge what do I need to do so that hangar auth runs? its complaining about missing redis, do I need to add redis to my stack? with special config?

#

didn't we agree we don't need redis?

modest forge
#

As far as I know, we do for hangarauth to work properly and not break anything

#

I asked the Sponge folks whether they were using it with or without redis in prod and they didn't know

random badger
#

it looks like they are. in prod.py, they configure redis as the host for rq_queues

pallid yoke
#

in our or in their?

random badger
#

oh that was changed by md

modest forge
#

The alternative is to hack around django-rq to remove the redis dependency, but then there's no proper error handling in either hangar or hangarauth (unless that's changed?)

#

Yeah idk if they override the config in prod and neither did the people who answered me

languid owlBOT
modest forge
#

but basically if redis isn't used and the forums/hangar are unreachable, user creation on auth will break

#

Also fakeredis didn't work with django_rq last time I tried it

pallid yoke
#

what config did you use for redis?

modest forge
#

Can't remember, whatever the docker setup was using in my old branch that machine forked off

pallid yoke
#

oh didnt even see the redis section

#

lemme steal that

#

its literally default config

languid owlBOT
languid owlBOT
#
[PaperMC/Hangar] New branch created: dependabot/maven/org\.springframework\.boot\-spring\-boot\-starter\-parent\-2\.3\.4\.RELEASE
#

Bumps spring-boot-starter-parent from 2.3.3.RELEASE to 2.3.4.RELEASE.

Release notes
Sourced from spring-boot-starter-parent's releases.

v2.3.4.RELEASE
:beetle: Bug Fixes

@ManagementContextConfiguration is meta-annotated with @Configuration(proxyBeanMethods=false) which does not disable proxying #23305
Signed jar dependency performance problem when repackaged in a single jar #23264
ValidationHandler no longer works with certain map keys #232...

#
[PaperMC/Hangar] New branch created: dependabot/maven/org\.flywaydb\-flyway\-core\-7\.0\.0
#

Bumps flyway-core from 6.5.5 to 7.0.0.

Release notes
Sourced from flyway-core's releases.

Flyway 7.0.0
Flyway V7 is here! See https://flywaydb.org/documentation/releaseNotes#7.0.0
Flyway 7.0.0-beta1
Flyway V7 beta is here! See https://flywaydb.org/documentation/releaseNotes#7.0.0-beta1
Flyway 6.5.7
Bug fixes. See https://flywaydb.org/documentation/releaseNotes#6.5.7
Flyway 6.5.6
Bug fixes. See https://flywaydb.org/documentation/releaseNotes#6.5.6

Commi...

#
[PaperMC/Hangar] New branch created: dependabot/maven/org\.jdbi\-jdbi3\-bom\-3\.14\.4
#

Bumps jdbi3-bom from 3.14.3 to 3.14.4.

Changelog
Sourced from jdbi3-bom's changelog.

3.14.4

fix performance regression on statement preparation, #1732

Commits

3732a54 [maven-release-plugin] prepare release v3.14.4
f4b2dd6 QualifiedArgumentFactory$Preparable: only compute prePreparedTypes once
b9fe27d [maven-release-plugin] prepare for next development iteration
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badg...

random badger
#

we were spared the spam for a few weeks lol

barren shale
#

thanks, kash

languid owlBOT
barren shale
#

has anyone looked into bbcode->md converters yet? I found one, but that doesn't seem too updated and just ignores tags it doesn't know (including size for example)

pallid yoke
#

I posted a regex based one before

proud basalt
#

uwu :)

pallid yoke
#

spam is set to once a week again

barren shale
#

kash, you can't use the forbidden word

#

not in this channel

#

you monster

pallid yoke
#

we kinda want automated dep updated, since this is frontend stuff and could actually impact user security

proud basalt
#

^

languid owlBOT
#
[PaperMC/Hangar] branch deleted: dependabot/maven/org\.springframework\.boot\-spring\-boot\-starter\-parent\-2\.3\.4\.RELEASE
#
[PaperMC/Hangar] branch deleted: dependabot/maven/org\.flywaydb\-flyway\-core\-7\.0\.0
#
[PaperMC/Hangar] branch deleted: dependabot/maven/org\.yaml\-snakeyaml\-1\.27
#
[PaperMC/Hangar] branch deleted: dependabot/maven/org\.jdbi\-jdbi3\-bom\-3\.14\.4
proud basalt
#

yes kneny, uwu here too

#

lmao @pallid yoke

#

congratulations

#

you broke dependabot

pallid yoke
#

I always break that thing

#

the team already knows me

#

😄

proud basalt
#

hehe

pallid yoke
#

and I "helped" with gradle

languid owlBOT
#
[PaperMC/Hangar] New branch created: dependabot/npm\_and\_yarn/src/main/frontend/fortawesome/fontawesome\-svg\-core\-1\.2\.31
pallid yoke
proud basalt
#

here they come

languid owlBOT
#
[PaperMC/Hangar] New branch created: dependabot/npm\_and\_yarn/src/main/frontend/prettier\-2\.1\.2
#

Bumps prettier from 1.19.1 to 2.1.2.

Release notes
Sourced from prettier's releases.

2.1.2
🔗Changelog
2.1.1
🔗Changelog
2.1.0
diff
🔗 Release Notes
2.0.5
🔗 Changelog
2.0.4
🔗 Changelog
2.0.3
🔗 Changelog
2.0.2
🔗 Changelog
2.0.1
🔗 Changelog
2.0.0
diff
🔗 Release Notes

Changelog
Sourced from prettier's changelog.

2.1.2
diff
Fix formatting for directives in fields (#9116 by @sosukesuzuki)

Input

type Query {
someQuery(id: ID!, someOtherData: String!):...

#
[PaperMC/Hangar] New branch created: dependabot/npm\_and\_yarn/src/main/frontend/eslint\-plugin\-vue\-7\.0\.0
#

Bumps eslint-plugin-vue from 7.0.0-beta.4 to 7.0.0.

Release notes
Sourced from eslint-plugin-vue's releases.

v7.0.0
:rocket: Highlight

Support for Vue.js 3.0 "One Piece".
Support for ESLint 7.x.
Support for ECMAScript 2020.
Added 66 new rules.

💥 Breaking Changes

#1209 Change support version of ESLint from 6.0.0 to 6.2.0.
Updated presets configs.

Changed plugin:vue/base config.

#1237 Removed jsx:true from shareable configs.
#1209 C...

random badger
#

hello

languid owlBOT
#
[PaperMC/Hangar] New branch created: dependabot/npm\_and\_yarn/src/main/frontend/sass\-loader\-10\.0\.2
#

Bumps sass-loader from 8.0.2 to 10.0.2.

Release notes
Sourced from sass-loader's releases.

v10.0.2
10.0.2 (2020-09-03)
Bug Fixes

source maps generation (#886) (8327d55)

v10.0.1
10.0.1 (2020-08-25)
Chore

update deps

v10.0.0
10.0.0 (2020-08-24)
Bug Fixes

handle absolute windows path in source maps

See notes for https://github.com/webpack-contrib/sass-loader/releases/tag/v10.0.0-rc.0 release
v10.0.0-rc.0
10.0.0-rc.0 (2020-08-24)
⚠ BREAKIN...

#

Bumps @fortawesome/free-regular-svg-icons from 5.14.0 to 5.15.0.

Release notes
Sourced from @fortawesome/free-regular-svg-icons's releases.

Release 5.15.0
Minor version upgrade notice: there are some backward-incompatible changes to this release. See the
UPGRADING.md guide for more
information.
Added

Added guilded, hive, innosoft, instalod, ns8, octopus-deploy, perbyte,
uncharted, watchman-monitoring, wodu sponsored brand icons
Added commissio...

#
[PaperMC/Hangar] New branch created: dependabot/npm\_and\_yarn/src/main/frontend/fortawesome/free\-regular\-svg\-icons\-5\.15\.0
proud basalt
#

dependabot will open more PRs once the ones it sent already are merged or closed, fyi

#

it hit the default limit of 5

barren shale
#

"we have too many channels already" :kappa:

#

but yeah, dat's good 😂

proud basalt
#

its not a new category too, at least :p

pallid yoke
#

am going thru changelogs to catch stuff

narrow verge
#

looks at voice chat and channels being their own category

random badger
#

yeah, couple major version updates

pallid yoke
#

Changed Removed the adobe icon at the request of Adobe

#

kek

narrow verge
#

adobe? more like adobeen

random badger
#

is that font awesome

primal vector
pallid yoke
#

ye

proud basalt
#

needs to be chew, otherwise it was too close to waiting room and people accidentally clicked there and had to be dragged back in :P

narrow verge
#

put it between waiting room and typing sounds think_smart

#

oh wait, discord's dumb, you cant

#

re

#

put typing sounds above waiting room think_smart

proud basalt
#

harder to see them with that, but anyhow this is the wrong channel for this discussion :p

narrow verge
#

true true, anyway

barren shale
#

where's that converter regex?

#

also, regex for that sounds scary oO

pallid yoke
#

cant find it

#

we would port that

#

and like, properly cache the stuff

barren shale
#

tested that one earlier, but it had some issues with duplicated and empty tags

#

(like bbcode allows/xenforo often does)

random badger
#

Duplicates tags?

barren shale
#

[FONT=Verdana][SIZE=4][SIZE=4][FONT=Verdana][/FONT][/SIZE][/SIZE][/FONT]

random badger
#

Gotta be a way to remove duplicates tho right?

barren shale
#

yeah just uh, I certainly can't do that with regex 😂

random badger
#

Nah, you’d almost have to write something of a parser for it.

barren shale
#

for example attached images

modest forge
#

yay kneny orange

barren shale
#

md is ugly in pink

modest forge
#

arguably I've barely contributed to hangar but shhhhhhhh

pallid yoke
#

its just in anticipation of the hangar auth rewrite

#

runs

#

thats easy to work on isolated

#

also: unit tests

barren shale
#

yeah for sure

pallid yoke
#

totally need unit tests for conversion

#

you kidding

#

now that auth is running

#

app doesnt

#

nvm auth is still 500ing

#

nobody knows why tho

#

log should doesnt tell me

#

reee, its broken on localhost too

proud basalt
#

lol

modest forge
#

Are you using the prod settings for auth? If so, errors are probably being suppressed

pallid yoke
#

I mean, I did update flyway-core to 7.0.0

modest forge
#

django logging is 💩 even in dev mode

pallid yoke
#

I bet spring doesnt support flyaway 7 yet

#

altho that error makes no sense, as that method exists

#

oh wait, return time changed

#

spring doesnt care about the return type tho

#

we should ship our own version, spring bundles it

#

seems like whatever prettier config we used changed some defaults

random badger
#

The prettier config should be in .prettierrc.

#

What changed?

pallid yoke
random badger
#

I told kenny that there were template issues

modest forge
#

knenwald pls

random badger
#

He said it was just dependency stuff

pallid yoke
#

could be

random badger
#

Wait did prettier really want trailing commas now?

#

Ugly

pallid yoke
#

no it removed them

#

I think

#

no wait

random badger
#

Not in eslintrc.js

pallid yoke
#

it added them

#

I mean, they make sense for less div

#

and stuff gets auto formatted anyways

random badger
#

I guess, it just looks nicer w/o them

pallid yoke
#

ok, lets see if I can enable logging for hangar auth somehow

#

lets try adding the DEBUG true env var

random badger
#

Any way you can just tell it to use dev settings for the moment?

pallid yoke
#

I know that fixed shit the last time

random badger
#

I forget how those are enabled

pallid yoke
#

of course it works with debug true

#

why would I doubt it

#

Hooray! Your email has been verified successfully. Thanks!

proud basalt
#

oi

#

you are not sponge! :p

pallid yoke
#

the mails really suck

proud basalt
#

suck?

pallid yoke
#

oh, they are just not html

random badger
#

Got rid of hangar-new too?

pallid yoke
#

ye

#

I can't run that much shit on my poor vps

narrow verge
#

owo

#

are you anti-owo too keny smh

barren shale
#

here I can blame you for being off topic

pallid yoke
#

hell its already 2300

narrow verge
#

nah it still 2020

pallid yoke
#

where did my day go

random badger
#

Ooh we have some mobile css to do. Can’t even see the login/logout

pallid yoke
#

this is fine

random badger
#

Yeah, no issues found. 😛

pallid yoke
#

at least we didn't break it, lol

random badger
#

Is that actual sponge?

#

Wow.

#

They didn’t put any effort into that.

#

Need to do a lot more flex stuff

pallid yoke
#

sponge auth is offline rn, lol

random badger
pallid yoke
#

oh wait

#

I only did the debug on cli

#

its now back in prod mode 😄

#

service is updating

#

lemme commit this

sly mason
#

ITT: Mini breaks stuff

languid owlBOT
random badger
#

do I have perms on HangarAuth?

pallid yoke
#

should have, yes

#

I can't check

random badger
#

I didn't before

pallid yoke
#

github should send you an email I guess

#

do I feel adventurous and try to rebase hangarauth on spongeauth?

random badger
#

the only changes were python package updates

#

like all 24 of them

pallid yoke
#

yeah

random badger
#

so there really shouldn't be any issues with doing that

languid owlBOT
pallid yoke
#

rebased

#

I would say that was quite the successful day

sly mason
#

force-pushed

#

Literally worse than NN...

pallid yoke
#

how else would I rebase my fork?

random badger
#

people here seem to be against all force pushes...

sly mason
#

IT'S A MEME BRO

#

force pushes destroy git history and screw up people who've already got the repo checked out, etc; Not an issue here, but, I still just had to fire off a few bombs ;P

pallid yoke
#

so basically, you can sign up now and break shit

#

hit me up if you need your email verified, I can forward you the link

#

nice, I can even see active sessions

#

should prolly make it use forwarded-for headers

#

heh, my admin user isn't admin in hangar

#

how fun

random badger
#

yeah, you have to add the role

#

I just did, so if you refresh, you should be in

pallid yoke
#

shouldn't sync do that?

random badger
#

it did

pallid yoke
#

oh wait, you mean role in sso

random badger
#

yeah, just refresh the page

pallid yoke
#

nice

random badger
#

yay, super nice to have this working

#

Mini, did you resolve the migration load order thing?

#

w/o the try catch that is

pallid yoke
#

as I said, I just caught the errors at the two locations (roles and platform versions) and ran it

random badger
#

hmm ok. ill see if I can put both those in their own service and change the order of the flyway initializer bean

pallid yoke
#

yeah go ahead, ill go to sleep now

random badger
#

do we wanna have an auto generated maven/gradle dependency blurb if a project owner provides the required info for that?

#

would be neat to have a standardized "copy maven/gradle dependency" thing

pallid yoke
#

I doubt there is much use for that

#

90% of plugins arent on a repo

random badger
#

yeah, that's true. but some of the more used ones are. idk might be too little used.

stray wharf
#

would be quite nice

pallid yoke
#

open an issue I guess

#

not smthing that needs attention right now tho

random badger
#

yea ofc

#

would be later, the idea just popped into my head

pallid yoke
#

I kinda want to start brainstorming rules and stuff soon

random badger
#

yeah, me too. I just don't know where to start 🙂

#

oh I don't have perms to push to hangar auth

pallid yoke
#

Urg

languid owlBOT
random badger
#

oh, that webhook is still here lol

narrow verge
#

I think it's just push commits here

random badger
#

o rly

proud basalt
#

no

narrow verge
#

oh, nvm then

random badger
#
      :::    :::           :::        ::::    :::       ::::::::           :::        :::::::::
     :+:    :+:         :+: :+:      :+:+:   :+:      :+:    :+:        :+: :+:      :+:    :+:
    +:+    +:+        +:+   +:+     :+:+:+  +:+      +:+              +:+   +:+     +:+    +:+
   +#++:++#++       +#++:++#++:    +#+ +:+ +#+      :#:             +#++:++#++:    +#++:++#:
  +#+    +#+       +#+     +#+    +#+  +#+#+#      +#+   +#+#      +#+     +#+    +#+    +#+
 #+#    #+#       #+#     #+#    #+#   #+#+#      #+#    #+#      #+#     #+#    #+#    #+#
###    ###       ###     ###    ###    ####       ########       ###     ###    ###    ###

k, there's gotta be a better version of this.

untold idol
#
 _   _                                   
| | | |                                  
| |_| |  __ _  _ __    __ _   __ _  _ __ 
|  _  | / _` || '_ \  / _` | / _` || '__|
| | | || (_| || | | || (_| || (_| || |   
\_| |_/ \__,_||_| |_| \__, | \__,_||_|   
                       __/ |             
                      |___/              
#
 /$$   /$$                                                  
| $$  | $$                                                  
| $$  | $$  /$$$$$$  /$$$$$$$   /$$$$$$   /$$$$$$   /$$$$$$ 
| $$$$$$$$ |____  $$| $$__  $$ /$$__  $$ |____  $$ /$$__  $$
| $$__  $$  /$$$$$$$| $$  \ $$| $$  \ $$  /$$$$$$$| $$  \__/
| $$  | $$ /$$__  $$| $$  | $$| $$  | $$ /$$__  $$| $$      
| $$  | $$|  $$$$$$$| $$  | $$|  $$$$$$$|  $$$$$$$| $$      
|__/  |__/ \_______/|__/  |__/ \____  $$ \_______/|__/      
                               /$$  \ $$                    
                              |  $$$$$$/                    
                               \______/                     
random badger
#

what about that Doh font? I can't paste it, its > 2000 chars

untold idol
#

not bad

random badger
#

easy to read, and large

untold idol
#
                                                                     
                                                                     
   .                         _..._                                   
 .'|                       .'     '.    .--./)                       
<  |                      .   .-.   .  /.''\\               .-,.--.  
 | |               __     |  '   '  | | |  | |       __     |  .-. | 
 | | .'''-.     .:--.'.   |  |   |  |  \`-' /     .:--.'.   | |  | | 
 | |/.'''. \   / |   \ |  |  |   |  |  /("'`     / |   \ |  | |  | | 
 |  /    | |   `" __ | |  |  |   |  |  \ '---.   `" __ | |  | |  '-  
 | |     | |    .'.''| |  |  |   |  |   /'""'.\   .'.''| |  | |      
 | |     | |   / /   | |_ |  |   |  |  ||     || / /   | |_ | |      
 | '.    | '.  \ \._,\ '/ |  |   |  |  \'. __//  \ \._,\ '/ |_|      
 '---'   '---'  `--'  `"  '--'   '--'   `'---'    `--'  `"           
narrow verge
#

thanks

random badger
#

the first one you posted is also easy to read, but its smaller

untold idol
#
  _   _       _        _   _        ____       _         ____     
 |'| |'|  U  /"\  u   | \ |"|    U /"___|u U  /"\  u  U |  _"\ u  
/| |_| |\  \/ _ \/   <|  \| |>   \| |  _ /  \/ _ \/    \| |_) |/  
U|  _  |u  / ___ \   U| |\  |u    | |_| |   / ___ \     |  _ <    
 |_| |_|  /_/   \_\   |_| \_|      \____|  /_/   \_\    |_| \_\   
 //   \\   \\    >>   ||   \\,-.   _)(|_    \\    >>    //   \\_  
(_") ("_) (__)  (__)  (_")  (_/   (__)__)  (__)  (__)  (__)  (__) 
#

lmao

narrow verge
#

do comic sans

random badger
#

k, that Doh one is way too big

#

gonna go with the $$ one

#

 /$$   /$$
| $$  | $$
| $$  | $$   /$$$$$$   /$$$$$$$    /$$$$$$    /$$$$$$    /$$$$$$
| $$$$$$$$  |____  $$ | $$__  $$  /$$__  $$  |____  $$  /$$__  $$
| $$__  $$   /$$$$$$$ | $$  \ $$ | $$  \ $$   /$$$$$$$ | $$  \__/
| $$  | $$  /$$__  $$ | $$  | $$ | $$  | $$  /$$__  $$ | $$
| $$  | $$ |  $$$$$$$ | $$  | $$ |  $$$$$$$ |  $$$$$$$ | $$
|__/  |__/  \_______/ |__/  |__/  \____  $$  \_______/ |__/
                                /$$  \ $$
                               |  $$$$$$/
                                \______/```
stray wharf
#

you should inject this to all of the plugins downloaded from hangar

#

so when people start up their server their startup logs are 50% ascii art

random badger
#

lol yeah, on startup, it logs this

#

ik server owners are big fans of massive plugin startup messages

stray wharf
#

i'm sure someone has written a plugin to filter them out

narrow verge
#

have a hangar conf folder to turn it off, easy

random badger
#

is paper gonna add a builtin update notif system once hangar is up and running?

stray wharf
#

why leave things halfway

#

direct auto updates, enabled by default

random badger
#

well cause that's bad.

stray wharf
#

and only way to disable them is to use a secret startup param

#

that isn't documented anywhere

narrow verge
#

i agree

#

auto update or im out

obtuse orchid
#

maybe opt-in auto update

#

sounds like a nice feature if you could select which plugins you may want to auto update and only have it by opt-in so that things don't get wrecked by it accidentally as easily

stray wharf
#

ideally releases could be marked as stable after-the-fact and you could choose to only update to stable releases

obtuse orchid
#

but if no one is interested in doing it properly its probably not worth adding imho

uncut juniper
#

hate to throw a spanner in the mix but you should really consider using a static generator like Nuxt or Gridsome for this

#

it'll improve SEO ten-fold

random badger
#

for...?

uncut juniper
#

the frontend