#hangar-dev

1 messages · Page 4 of 1

random badger
#

for example, when a project is created, it isn't visible until the first version is uploaded

pallid yoke
#

Yeah, you show 404 if you don't have perms, that's pretty standard

#

Don't leak any info

#

And yes, I guess we could enable it for the 404 page

random badger
#

we use 401/403 if you try to do something you aren't allowed on an already public thing

pallid yoke
#

Yeah

#

I Should have said don't have view perms

cinder silo
#

haven't really been following hangar development, but will hangar support download links directly to Jenkins?

narrow verge
#

I believe they are working on direct downloads

#

there will be some warning though

cinder silo
#

yeah that's fine

#

i just want to be able to link directly to jenkins latest

pallid yoke
#

Yeah, Plan is to support external links, with a warning

narrow verge
#

so like link to JENKINS/job/PLUGIN/lastSuccessfulBuild/artifacts/PLUGIN.jar or whatever?

#

so it's always latest?

pallid yoke
#

Could do that I guess, yeah

#

But like, ideally, you have a channel for proper release

#

And then could have a channel for Dev stuff

cinder silo
#

that's the idea

pallid yoke
#

But you also want to send update notifications and stuff, so not sure how good that would be

cinder silo
#

could you not just publish an update on hangar with the same link every once in a while for an important build or something

narrow verge
#

new suggestion: link to download latest dev build lol

#

download stable
download dev
or smth idk

#

MVP stuff

random badger
#

This is a link currently to download the recommended version

#

Which is something the author sets

#

Then there is “promoted versions” which are created in some massive materialized view query that I don’t ask how it works

#

So idk what they are, but they exist

barren shale
#

inb4 something's wrong with one of those giant queries and we're all just "yeah idk"

random badger
#

I mean, so far, the only changes have been decrementing any visibility number by 1 cause we made it 0-indexed, but yeah, hopefully no more

barren shale
#

that already caused enough oopsies haha

random badger
#

Ugh yeah. But it’s so much nicer if we can just use the @EnumByOrdinal

random badger
#

specifically, the List.of() bit at the end of that line

narrow verge
#

probably should do mc versions for proxies

#

especially since they support multiple ones

sly mason
#

You don't care about the mc version, you care about the proxy version

#

all aspects relevant to MC are hidden away in API, so that deals with the grunt of it, nothing really tied to MC version

random badger
#

zzzCat, what about for waterfall? it has mc versions. I just included the ones listed in the paper download api

sly mason
#

It doesn't have mc versions

#

it has versions

#

Those just happen to tie close to mc versions, but do not always line up

random badger
#

hmm

#

what versioning system should I use then?

sly mason
#

The versioning system we already use is fine

random badger
#

how should authors identify what version their plugins work with?

sly mason
#

The issue is that saying that it's the mc version is just false

random badger
#

ah ok

sly mason
#

and for stuff like velocity, 100% useless there

random badger
#

what about for velocity then?

cinder silo
#

velocity isn't the mc server

sly mason
#

velocity has their own version numbers

#

heck, they just had a major version bump a few months ago

#

what's a major version?!

random badger
#

oh? I just saw the build numbers on the ci?

#

@cinder silo ik that. im wondering what numbers and style to use for velocity

#

oh I guess I do see 1.0.9, 1.0.10, and 1.1.0

limpid stump
#

@sly mason We haven't bumped major versions at all yet 🙂 still on 1.1.0 for dev

sly mason
#

oh, I thought that you did 0.9 > 1.0 recentlyish

#

but, the general point still stands ;P

#

velocity versions don't tie into mc versions at all, it's only really bungee that does that, and for some reason we follow that

#

Slight chance I might break from that one eventually, especially as their versioning pattern has just become even more of a "we bump it when we feel like it", bleh

limpid stump
#

soon as y'all break free of the md mothership you can go to the enlightened side and promote Velocity thonk

random badger
#

@limpid stump

Do you think hangar should use the 1.x versions when asking authors what version of velocity it supports? So right now it’d just be 1.0 (and soon 1.1).

limpid stump
#

it's semver

sly mason
#

The issue with defining supported versions is that it's messy

#

Like, for some plugins 1.0 > 1.1 is nothing

#

for some, that's gonna be a major breaker

limpid stump
#

1.0.x and 1.1.0 are not major versions. The major version is 1, the minor versions add features but are backwards-compatible with the older version.

random badger
#

Right yeah, wrong word.

sly mason
#

1.1 > 1.1.1 might be nothing for some, might also totally destroy others

limpid stump
#

We already told people that 1.0.x > 1.1.0 is going to break plugins that don't stick to the API.

sly mason
#

The only real super viable way for it is to just have a list of every release, which, ofc, is also a headache...

#

even build numbers matter for paper plugins

random badger
#

I’m just talking about paper, waterfall, and velocity, not versions for other plugin dependencies.

sly mason
#

Honestly, part of me questions if "supported versions" is even worth it

limpid stump
#

for Velocity stable releases we are generally super conservative and don't tend to make breaking changes

random badger
#

I mean you do need some system right? Like how are people to know if it’s a plugin for 1.14, or 1.16?

sly mason
#

Literally nobody updates that shit anyways

random badger
#

Ok, what about in the future, a 1.16 plugin vs 1.18

#

When that happens

#

There will be older plugins on the site, we need some way to say they are outdated right?

sly mason
#

you'll have last update dates?

random badger
#

But the plugin might still work.

#

And the author knows that and just doesn’t update anything.

sly mason
#

Which is literally the point I'm trying to make

random badger
#

But it might not work.

sly mason
#

Plugin devs rarely update as is

#

The only way to actually know is to test it

random badger
#

I mean... that seems pretty annoying. To download a plugin without having a clue as to whether it’s for whatever version of server you are running.

sly mason
#

I'm not really sure what you're expecting a magical solution here to be

#

Like, you can go for throwing version numbers on, irdc

#

But, they're hardly a useful metric for "will it work on my version" unless devs actually update that

#

which especially in regards to plugins which haven't been updated in months literally highlights the issue

random badger
#

At least, for paper, having a list similar to spigot, where you check what versions of Mc it supports.

Ofc that doesn’t take into individual builds, but it’s a good step

sly mason
#

The thing is that individual builds are really solely where it actually matters

#

It's not much point if you select to search for a plugin for 1.12.2, and the plugin you're looking for is solely not listed because the latest release doesn't support it

random badger
#

There doesn’t happen to be a way to get the build number from the plugin jar right? Prob not cause you don’t shade paper api into it

sly mason
#

No

#

Because that number literally means nothing

random badger
#

Well it’s an indicator of what features the plugin might be using. Anything from that build num and below

sly mason
#

The thing is that with supported version numbers, etc; Literally every problem you're tryna solve with them is the exact same as the issues they cause in the long run

#

the version it's built against means nothing as to if it's going to work in future releases

#

and how sensitive version numbers are for plugins depends 100% on the plugins

random badger
#

hmm

#

yes, im beginning to see what you mean

nocturne delta
#

Imagine if changes were actually tracked, and automatically compared against built plugins to determine minimum and maximum versions.

random badger
#

I mean... we could use CI type thing to see if the plugin actually loaded on various versions

#

but that wouldn't test all the features of that plugin

nocturne delta
#

It would be more thorough to have a program check the bytecode to determine where it reaches, and compare that against what was added/removed/changed

#

And then just spit out all the versions the plugin would have no issues working on

sly mason
#

you'd also need to have some way to analyze reflection, etc

nocturne delta
#

well... should have no issues working on

#

^

sly mason
#

CI method would also be 100% unviable

random badger
#

well yeah, I was just spitballing

sly mason
#

(inb4 the version test CI falls behind as far as spigots premium resource queue)

random badger
#

yeah, itd get crazy backloged

nocturne delta
#

Well wait a second actually, would reflection actually be an issue if the programmer isn't trash?

#

There would also be a manual selection for authors

random badger
#

lol

#

that is what we were talking about

#

and how tf to do something like that, if at all

nocturne delta
#

?

random badger
#

(have manual version selection for authors)

sly mason
#

I mean, people implement their entire nms level stuff in reflection

nocturne delta
#

Whats complicated?

sly mason
#

Coz, you know reflection > doing stuff

random badger
#

well as zzzCat pointed out, its really build number based

#

cause new features in paper get added all the time

#

not just in mc updates

nocturne delta
#

Servers dont usually update with every build though

sly mason
#

I just don't think that there is a magical solution here, having version selections is nice and should be per-build, etc; But, really, you're not solving an issue here

nocturne delta
#

Aligning to minor revisions would probably be best

#

Well... minecraft patch* revisions

sly mason
#

I'd just stick to mc versions for paper, etc; whatever format bungee/waterfall is using right now, and same for velocity

random badger
#

you ofc would still have issues when authors don't update that info

nocturne delta
#

fuck em

random badger
#

but I think having at least mc versions as selections, would at least provide some information, even if its incorrect

#

is it better to be uninformed or misinformed?

sly mason
#

I mean

#

Ideally people would rely on stuff like critical thinking, reading the reviews/comments, etc

nocturne delta
#

Both have equally unfortunate outcomes

sly mason
#

shamefully we live in the real world and people are lazy morons

nocturne delta
#

A true shame

barren shale
limpid stump
#

in development for over a year thonk

barren shale
#

wasn’t it?

#

at least you’ve been working on it for a while lol (I don’t experience time as a student)

limpid stump
#

@barren shale yeah, you're correct - in fact, it's been in development for over 14 months now and I'm really tired of waiting for Adventure to have a stable API

barren shale
#

ah :p

twin token
#

Oh boi

vivid cypress
#

sorry tux 😦

modest forge
#

soon™️

ionic echo
#

Is hangar released yet? Or coming soon?

pallid yoke
#

Soon

stray wharf
#

random badger
#

holy cow. ok, now I have a full appreciation for why taking the entire frontend from sponge is such a massive time saver

#

spent like 3 hours adding one small page so admins can add versions for paper/waterfall/velocity

somber flicker
#

DraMA genERATor: Kashike annouces stable adventure is tied to hanger release!.

narrow verge
#

DMAERAT

lusty cypress
#

.

random badger
#

useful

random badger
errant widget
#

What does the label mean?
"Platform Versions"?

tacit roost
#

is that like waterfall vs velocity vs paper

#

?

barren shale
#

admin site to edit selectable versions

random badger
#

yes, to edit what versions authors can select

barren shale
#

didn't look at it yet, but that looks nice

tacit roost
#

maybe server? idk

random badger
#

yeah, I guess server is good. I just didnt want the same icon

errant widget
#

tags

#

That's my suggestion

barren shale
#

+1 on that

leaden lily
#

So do you manually add the versions or do you select check boxes? I feel like it might not be the best idea to let people free-type stuff.

mossy topaz
#

where's my good old 1.7 plugins

#

\s

random badger
#

@leaden lily that is the admin page for available versions

#

its a bunch of checkboxes when you upload a version

leaden lily
#

Okay cool

random badger
#

the versions on that page, affect what checkboxes are shown per platform

#

lol yeah, would not be good for people to free type the version

leaden lily
#

Awesome

random badger
#

k, so tags isn't working right off the bat. im not sure I understand how this whole fontawesome thing is working. there are 4 fontawesome dependencies, and idk what the difference is

leaden lily
#

Which ones are there?

random badger
#
    "@fortawesome/fontawesome-svg-core": "1.2.30",
    "@fortawesome/free-brands-svg-icons": "5.14.0",
    "@fortawesome/free-regular-svg-icons": "5.14.0",
    "@fortawesome/free-solid-svg-icons": "5.14.0",
leaden lily
#

Okay yeah those are all needed

#

They split up how the items are stored

#

You have core, and then you have transparent icons and then solid ones

random badger
#

k. but tags isn't showing up. like I do <i class="fas fa-tags"></i> and I get the not found icon thing

leaden lily
#

Lord okay I'm a little out of it right now. What language is the front-end being written in?

random badger
#

do I have to import each icon that I use?

leaden lily
#

Yeah you might have to import it. Sorry, I'm not at my PC right now so I can't check for you.

random badger
#

ah yeah

leaden lily
#

It's different in regular vs react and stuff.

random badger
#

ok, I didnt realize each new one I had to import, I thought they'd all be available

leaden lily
#

Oh this is just Vue.

#

Yeah you will have to important the icon.

#

I'd like to setup a dev environment for Hangar sometime I just need to setup docker / postgresql database.

random badger
#

ya, there are some instructions on the README

leaden lily
#

What port does it default to? Doesn't seem to print it out.

random badger
#

should be 8080

#

or you talking about db?

leaden lily
#

Hmm then maybe it didn't start properly.

random badger
#

oh yeah, if you aren't using this along with hangarauth, then you don't use docker for everything

leaden lily
#

Yeah I'm trying to do it all without docker.

#

Not on the right boot for that atm.

random badger
#

that should be possible

#

can create a run config for a spring app

leaden lily
#

Yup

random badger
#

the console output should output any errors in boot up then

leaden lily
#

Okay yeah it's something with it creating stuff in the database.

#

ERROR: relation "roles" does not exist

random badger
#

oh yeah...

#

the db migration expects that the table already exists

#

did you run init.sql?

leaden lily
#

Probably not.

random badger
#

although...

#

yeah, so what you wanna do, is make sure there is a db user named hangar, and a db named hangar

leaden lily
#

Yup I did that

random badger
#

and then run resources/db/migration/V1.0.0__init.sql

#

in that db

leaden lily
#

Okay

random badger
#

atm, the migration system expects that to already exist

#

(because it was added after the fact)

#

itll then apply the other 3 migrations when you start the application

leaden lily
#

Yup, that did it, thanks.

random badger
#

nice

leaden lily
#

How long does yarn run serve typically take? I don't think it's actually finishing because it doesn't actually bring the localhost server online.

pallid yoke
#

do I have to import each icon that I use?
@random badger yes you need to

random badger
#

shouldn't take that long. but all yarn run serve does is allow hot-reloading of all the files in the frontend folder

#

ya, I figured that out mini

pallid yoke
#

Both Kenny and I stumbled upon that before

leaden lily
#

Oh so then what's the proper command to get the webserver up and running?

random badger
#

should just be starting the spring boot app

#

via the run config in intellij

leaden lily
#

Could've sworn that's what I did.

random badger
#

or mvn spring-boot:run, or whatever the maven goal is

leaden lily
#

Ahh let me try that.

random badger
#

maybe its spring-boot:start idk

pallid yoke
#

Yarn run serve never quite

#

Quits

#

It's a dev server for the frontend, it runs indefinitely

leaden lily
#

Yeah I'm, trying the spring-boot run now.

#

I think it did it because it got to the spring part

random badger
#

should be some big SPRING ascii art

leaden lily
#

Aha I got it.

#

I told it to start and then I stopped it and then I did run.

#

This is really cool!

#

Oh I love that you can have multiple pages for each plugin page.

random badger
#

yep! atm there is only 2 deep pages, but itd be nice to have more than that at some point

leaden lily
#

Yooo the ability to release from gradle?

#

That's sick

random badger
#

yeah, not implemented yet, but is the plan.

leaden lily
#

Would be funny if you had an "import from spigotmc" button.

#

Okay so actually it kinda works to an extend. You can use an online converter from BBcode to Markdown.

random badger
#

can probably just link to that converter when editing a page right?

leaden lily
#

Yeah, it's just not perfect yet, still playing with it.

#

The markdown seems to be different in ore than on github. I copy and pasted directly over and not all of it came out properly.

random badger
#

what seems to be different?

leaden lily
#

Not sure it works properly declaring variables to use later.

random badger
#

hmm. if you want, you can take a look at the MarkdownService. that is where its all rendered

leaden lily
#

Okay!

#

While I do that, I'll also tell you what's wrong. It's not allowing for MarkDown placeholders to be set (apparently GitHub does). So it's like in a class where you assign a variable to use later. It's using the variable instantly when declared vs initializing when it's declared somewhere else.

random badger
#

yeah, I see what you mean. I don't know anything about flexmark-java, mini set that up.

#

should be possible ofc

leaden lily
#

Yup!

pallid yoke
#

It was the first Google result that looked decent, lol

#

It has ton of options, I enabled GitHub like stuff already iirc

leaden lily
#

Yeah there's some GitHub stuff enabled, I don't know if it supports this placeholder stuff tho. If not, not the end of the world.

random badger
#

hmm, I don't see anything for placeholders in the documentation

random badger
#

k, adding an external link system for versions is pretty darn complex

random badger
#

slowly but surely, cleaning out that TODO column. @pallid yoke do you know what the plan is for email?

And we need to get the discourse situation figured out.

modest forge
#

I don't have access to my main PC for the next few days as I'm moving (and I cba to set up auth/discourse on my laptop)

barren shale
#

well looked like it's gonna be the same kind of discourse integration as Sponge has

modest forge
#

heck I don't think my laptop would cope with Discourse lol

#

does Sponge have anything custom on the Discourse side? or does it just post with a link to ore?

barren shale
#

just looks like they're slapping the exact messages on the forums, with 2 minor additions: updates get an extra header, and the main doc page is edited/sent to the forums (as the thread start)

pallid yoke
#

slowly but surely, cleaning out that TODO column. @pallid yoke do you know what the plan is for email?

And we need to get the discourse situation figured out.
@random badger just make it take config options for smtp stuff (spring got an api) and for testing, plug it into the thing that is configured in docker

#

Forgot how it's called

modest forge
#

mailhog?

pallid yoke
#

Yep

#

That's perfect for testing, a real mail server without having to have all the troubles of running a mail server

#

In prod we then just use aikars mail server

pallid yoke
#

Man, machine maker be overtaking me in amount of commits

#

It's really time that I get back into stuff :/

barren shale
#

@pallid yoke hangar wen

pallid yoke
#

You look two weeks away and he just finishes the project

last aurora
#

lmao

modest forge
#

@barren shale hangar wen

barren shale
#

as soon as I emptied my 2 ovens

random badger
#

Oh, totally forgot about one thing. Caching. We need to go about and implement that everywhere

pallid yoke
#

Yeah, but spring makes that amazingly easy

#

Just slap @cachable on service stuff and be done basically ^^

ivory ingot
#

Without redis it is easier as well.

raven solstice
#

hi im new to this channel... what is hangar? :I

barren shale
raven solstice
#

paper hangar is it like a hangar for paper airplanes?

#

oh ok

#

oh a plugin repository

#

so a hangar for paper plugins... i was close

solemn whale
#

for plugins*

random badger
#

Hey @pallid yoke. If/when I get around to adding all those other admin pages for value changes, should I do it in Vue? Ik ore is making some shifts to more front end stuff.

random badger
#

its significanly easier to setup tables like that with vue than to manually add table rows and such

#

and is probably easier to get looking nicer

narrow verge
#

bootstrap-tables ?

random badger
#

I mean... right now that version page I showed earlier is just a table that has buttons that add rows to it

#

or are you talking about bootstrap-table the addon thing

#

cause we aren't using that atm. we could for sure

narrow verge
#

yeah

#

we use it, very useful

#

mainly for searching and stuff

#

99% sure it can handle adding rows and stuff, though I dont like getting anywhere near js

random badger
#

ok yeah sure, that is an option. but its setup looks more complex than setting up that system with vue, or a vue table addon. and since we are already using vue, I feel like switching there would be better. but we shall see what Mini says

narrow verge
#

indeed, am not dev unf

#

missed that window

random badger
#

should hangar support IE?

narrow verge
#

🤣

#

no

#

well, nothing earlier than latest IE

#

but like, just use edge

random badger
#

well we are using babel so its not such a big deal

narrow verge
#

EdgeLib.suggestEdge()

pallid yoke
#

Totally do new stuff in Vue is it's possible

#

Long time we want to get rid of jQuery

#

I meant to say that yesterday when I saw your commit but got distracted

random badger
#

yeah ok. ill rework it. I was gonna use the bootstrap-table package (which has a vue addon) but it requires jQuery. should I find some other table component?

#

we should probably wait to upgrade bootstrap when boostrap 5 comes out, as that removes the jQuery dependency

pallid yoke
#

Bootstrap Vue is a thing

#

Also, don't really need a plugin for tables, should already be really easy to generate tables with Vue, right?

modest forge
#

Does bootstrap vue replace the jquery stuff? I thought it just wrapped the jquery components inside Vue components

random badger
#

@pallid yoke yeah sure, but im sure there is a useful component that makes adding/removing rows nice

pallid yoke
#

No, bootstrap Vue has no jQuery iirc

#

And generally, I don't really care

#

I want to get rid of the code where we directly use jQuery and use Vue cause it's easier to use

#

The internals I don't care that much about

random badger
narrow verge
#

pins

random badger
#

why tf would the style tags in a vue component file not be loading? what are some possible reasons for that?

mortal idol
#

in 194891 years, 934561 months, 958194819 days, 85927924857773415 hours, 9591894995 minutes, and 5731328564832555 seconds

modest forge
#

@random badger in your browser dev tools, does it detect webpack?

random badger
#

oh ok, I have to manually add the generated css file to the page

#

there's gotta be a better way of doing this right? Right now, if I want to use a vue component on a page, I have to add both the css file and the js file for it

modest forge
#

hmmm

#

iirc typically stylesheets get built as a separate file to the JS, not sure if there's a standard way to bundle them?

random badger
#

yeah, that's what I just discovered, that they were build separately. I don't know alot about how webpack does its thing, im usually using it in an abstracted sense, not directly

pallid yoke
#

I bet the frontend isn't setup for single file components?

random badger
#

wdym single file components?

pallid yoke
#

Where you have style, template and js in one file

#

It needs special handling in webpack to extract the css

random badger
#

it does that. it extracts it to another file

#

that's the thing I was missing, I had to add a link to that stylesheet in the page template

#

it also looks like bootstrap vue requires bootstrap 4

#

idk how well itll play if we have bootstrap 4 and 3 at the same time

narrow verge
#

yall are still on 3??

random badger
#

not by choice, that is what ore is on

pallid yoke
#

Urg

#

Is there a migration guide to 4?

random badger
pallid yoke
#

Since if long term we want to go 5, Vue 3, remove jQuery

random badger
#

there aren't many breaking changes, if any, between boostrap 4 and 5

#

just new things

narrow verge
#

isnt jquer a dep of bootstrap tho?

random badger
#

its not like 3 to 4

pallid yoke
#

Yeah that's too long to read rn, lol

random badger
#

not in bootstrap 5 chew

pallid yoke
#

Open an issue I guess

narrow verge
#

i cant find any trace of bs 5 anywhere

random badger
#

alpha in june

narrow verge
random badger
#

they are also dropping IE support in 5

narrow verge
#

finally

random badger
random badger
#

@pallid yoke you got a preferred js library for making http requests? if we want to eventually get rid of jquery, $.ajax wont be an option right?

pallid yoke
#

I always use axios

#

Idk if that's good or bad

#

I think Vue nowadays has a client too

random badger
#

its what ive always used as well, but I also dont know if its good or bad

pallid yoke
#

But axios is nice to use

random badger
pallid yoke
#

5 min Google says axios is fine, let's just use that if you got experience with it too

random badger
#

ok

random badger
#

man yeah, I just re-did the platform versions thing in vue, was easier to understand

random badger
barren shale
#

oh yeah sexy

random badger
#

hmm.. I wonder. right now, if you upload a zip, it tries to find the first jar file in that zip. what if... what its actually supposed to do, is support multiple versions by putting them all in one compressed file

#

and it tries to load the meta from all the jar files in the top level of the compressed folder.

narrow verge
#

dang fancy

barren shale
#

the whole multi-platform support hasn't been figured out in general

random badger
#

is that what ore does?

barren shale
#

we need to support that in multiple places

random badger
#

like, what's the point of uploading a zip otherwise

cold ridge
#

will you make an app? lmao

narrow verge
#

hangar api exists, make your own :)

barren shale
#

yeah right, an app to download and upload plugins from your phone smaiel

cold ridge
#

oh, ok. Well, i think i should start with figuring out what is spring...

narrow verge
#

nah, you dont need to

#

api is api

random badger
#

its a season 🙂

narrow verge
#

pls say json api

random badger
#

graphql

#

nah its json

cold ridge
#

no

#

i mean

random badger
#

ive always wanted to do a graphql api

cold ridge
#

spring for paper app

#

what is graphql?

random badger
#

its a query language for apis

cold ridge
#

oh, cool

random badger
#

instead of having various api endpoints, you only have one. and you request exactly what you want

narrow verge
#

o thats cool

cold ridge
#

whats this endpoint from? Communication Endpoint or service-oriented architecture?

#

lmao

#

well, ok, ill read all of this topics

pallid yoke
#

I will never understand graphql

#

It's such a dum concept to me

random badger
#

huh, it seems cool to me, ive just never had a chance to use it

narrow verge
#

hey api, give me all memes by this author, but dont tell me the author, i already know them
api: "gotchu" then sends all memes without author field

#

like that?

pallid yoke
#

You basically posting scripts around

#

It's like the dum Nexus api where you post groovy

#

Like, wtf

#

Just gimme rest

cold ridge
#

now i kinda get what endpoint means

vital fiber
#

Will hangar be able to filter plugins by popularity, # of downloads, ratings, etc?

random badger
#

no ratings

vital fiber
#

That's not good

narrow verge
#

how is that not good

random badger
#

yes it is

pallid yoke
#

Ratings are a mess anyways

vital fiber
#

If a rubbish plugin with bad code is uploaded, how will most people know?

pallid yoke
#

Read the forum

random badger
#

yes

mossy topaz
#

View the source

narrow verge
#

^^

pallid yoke
#

And that

#

Hangar will highly encourage open source

#

And punish obfuscation

narrow verge
#

i thought it would force

pallid yoke
#

No policies are decided

mossy topaz
#

Well, some plugins are just so small and the creators so inexperienced they don't go open source

#

but they aren't obfuscated either

vital fiber
#

Still think ratings is the best way to tell at a glance. It would be pretty bad for example if Amazon didn't have ratings. Not quite like for like sure, but similar concept

narrow verge
#

i rarely care about rating, mostly reviews/discussion

random badger
#

words say so much more than 3/5

mossy topaz
#

Ratings are the worst way to tell. 1-star rating with stacktrace? Yeah, that never helped anyone

untold idol
#

I usually ignore 4-5 star reviews but will read 1-3

mossy topaz
#

Often it's YAMLException due to a missing colon or quote.

sly mason
#

can you star resources or anything? serve as a nice marker vs downloads, etc

random badger
#

yes you can star

#

and watch

#

and those are public

narrow verge
#

finna make a hangar api lib 😤

untold idol
#

hangar skript api lib?

random badger
#

are we doing that? making a "skript" platform category?

untold idol
#

lol pls no

#

that was a joke

random badger
#

ok just checking 😛

#

if someone wants to write up some hangar guidlines, we might be able to start that discussion. although idk if aikar already had some in mind

hearty agate
#

graphql is pretty cool. I've used it for a work thing. some of the frontend clients for it tho are :peppega:

mossy topaz
#

Must be compatible with Java 8

#

why?

barren shale
#

inb4 11) must be compatible with MC 1.8

mossy topaz
#

Just as plugins should decide which MC versions to support, so too should they decide which Java versions to support

random badger
#

should that be a thing? a java compatiblility selector?

mossy topaz
#

I don't think so

barren shale
#

that's a nice idea, actually

mossy topaz
#

Variances in support for java versions are less common than for MC versions

barren shale
#

there's plugins that don't support 8

narrow verge
#

of all of those, you pick that to debate lol

white pier
#

Hard req. on Java 8 will never be a thing

barren shale
#

but well eh, people should just mark that in their docs, I don't think an extra checkbox is necessary

narrow verge
#

mc stil uses 8 doesnt it? a tonof servers are still 8

white pier
#

and ?

#

I have written plugins that require 11

cold ridge
#

realization is cool, idea is bad

white pier
#

others have as well

#

just note it and move on

#

it will not be a hard rule

mossy topaz
#

Unlike with MC versions, supporting future Java versions is something your plugin should probably be capable of without any changes

random badger
#

not closed source. Are we doing that? I thought we were encouraging that

mossy topaz
#

Encouraging closed source??

narrow verge
#

yall took that joke way too far, geez

random badger
#

open

barren shale
#

pretty sure chew was just writing a bunch o nonsense down :p

white pier
#

There are no official policy positions here, it's all suggestions

random badger
#

wow

barren shale
#

like, guidelines

narrow verge
#

nuked that as soon as a debate started

hearty agate
#

it's ok chew, i was gunna debate #6 cuz i prefer my plugins not to exist

white pier
#

troll plugins only

narrow verge
#

see, thats what i was lookin for

random badger
#

wow, I was actually trying to be serious... 😛

barren shale
#

add a category that only allows closed source, obfuscated plugins with backdoors kappa

narrow verge
#

let's try again
hangar guidelines:

  • Plugin MUST do 15 or more of the following
  1. Work
  2. No phone home
  3. Not trolling
  4. Exist
  5. Load properly
  6. Be a plugin YOU wrote
  7. Must be compatible with Paper
#

there ya go

#

no debate, all 100% perfect

#

there aint even 9

barren shale
#

it's almost like it's a joke

cold ridge
#

dont forget the most important rule - ppl are stupid and lazy. They wont read duscussions, they just want to plug in and play. So thats why we still need ratings, and also it motivates to do more

white pier
#

You're only allowed to upload plugins kenny wrote

#

unless youre kenny

barren shale
sharp quest
#

you missed 4 and 5

barren shale
#

thank you for informing us of that leaf

#

very kind of you

sharp quest
#

I am aware you are all idiots and need me to point out the obvious.

mossy topaz
#

That's exactly the reason why ratings are a poor indicator. As you have stated, most people do not read the description. When they realise they can't use the plugin because they didn't read one of the nuances of the description, they make a fit.

narrow verge
#

I removed 4 and 5, they were too controversial

mossy topaz
#

And by nuances, I mean glaring red letters.

sharp quest
#

i see plugin devs get so mad over ratings when they really shouldn't

narrow verge
sharp quest
#

"wow it's rating me bad cuz i had bug that did bad"

white pier
#

Pretty much every discussion/rating system is gonna get abused by dumb people at some point when a plugin dev doesnt bend over backwards for their request

mossy topaz
#

yeah they get too caught up about it

white pier
#

just need to figure out how much youre going to tolerate it, draw your line, and start dealing with it

cold ridge
#

how about we make a test over the description, so to make a rating ppl will have to answer questions to prove that they read description well

sharp quest
#

sounds dumb

cold ridge
#

just like me

barren shale
narrow verge
#

lmao

mossy topaz
#

how do you know whether the user answered correctly?

white pier
#

lol kenny

narrow verge
#

so like the discord guideline gate thingy

cold ridge
#

put answers to overview page

barren shale
#

it's sad that they actually needed the page, it's not even meant to be that much of a joke :D

cold ridge
#

when you set it up

narrow verge
sharp quest
#

kek welcome to supporting older versions

cold ridge
#

what is this?

mossy topaz
#

view link

cold ridge
#

ok

barren shale
#

let me get off-topic by getting on-topic again, @random badger things currently get rather messy with multi-platform, since dependencies are just all over the place then, and we still kinda need to make it a bit prettier in showing that it supports multiple platforms (like a clearer separation between platform dependency and plugin dependencies, as well as the display in the home listing)

#

if you don't sanic through that as well, I'll look at it after I've relaxed a few days now 😂

random badger
#

im wondering if we should expand the "recommended version" to "supported versions"

barren shale
#

hm should be pretty clear that latest always = supported, + dev builds if you specifically select them (otherwise people might confuse supported with stable or actual recommended or whatever)

random badger
#

ok, so for some reason, there is some weird caching going on where its not using the updated /assets/main.css file...

#

hmm

#

ok... so I have to rebuild the app, not just rely on webpack

#

because spring gets main.css from the classpath as a resource, and that doesn't get updated when webpack rebuilds

random badger
#

oh boy... this converting to v4 is gonna be painful. not even done with the home page...

stray wharf
#

you should just be real men and write everything in html and php

narrow verge
#

im guessing api auth doesnt work yet?

#

if so im so lost 😂

random badger
#

Api should be working

#

I think there is only 1 or 2 endpoints that haven’t been implanted

#

@narrow verge what did you try?

solemn whale
#

Is it much what needs to be changed in the convert?

random badger
#

Yes

#

Bootstrap 3 to 4 has a bunch of changes

narrow verge
#

@random badger the authenticate endpoint

#

Gives me a session token

#

But when i try it on say project, just gives me 401

random badger
#

is it a public project?

narrow verge
#

I'm just searching

#

/projects?q=test

#

In swagger shows response properly

#

The 3 test plugins

random badger
#

the 3 test plugins?

narrow verge
#

Yes

random badger
#

what 3 test plugins?

narrow verge
#

not hangar-new

#

Since there's nothing there

random badger
#

its literally just ore

narrow verge
#

ah

#

No wonder no worky

#

Lol

#

I'll try -new in a bit I suppose

random badger
#

you can probably create some projects as the fake user on hangar-new

#

we can get it pretty much working, if mini has time to setup the auth

narrow verge
#

Also, will users have API keys or will it just be through the session things

random badger
#

yeah, users can create api keys

#

and you give those keys certain permissions that you have access too

narrow verge
#

Oh like GitHub tokens?

random badger
#

ive never used gh tokens, so idk

narrow verge
random badger
#

oh those

#

yes I have used those

#

yes its similar

narrow verge
#

nice

#

So could have a read-only token that can't modify anything

random badger
#

yeah, i mean, generally that would be the public session

#

which you don't need an api key for

narrow verge
#

Ah, but you still need to authenticate every hour or so right?

random badger
#

I forget what the expire time is, but yeah

#

you will need to get a new session every so often

narrow verge
#

also, is the header for those still gonna be smth like WWW_Authenticate or whatever

random badger
#

for sending the session token thing?

narrow verge
#

yeah, at least thats what ore hangar spring says

random badger
#

pretty sure you send the session token in the Authorization header

#

Authorization: HangarApi session="<token>"

narrow verge
#

ah

#

Unsupported media type
hmn

#

ah because i didnt provide a json body

#

Internal server error now 😄

random badger
#

looks like you have to send the content type header

#

works for me

narrow verge
#

nah on /projects?q=bruh now

#

ye it's a bit broked i guess lol

#

maybe because no projects?

random badger
#

oh, yeah, just one thing wrong w/that endpoint

#

tiny sql formatting error

#

k, wait for latest to deploy

#

should work now

#

and the ?q= isn't what you think it is.

#

its literally insertted in after an AND in the query

#

so... ?q=p.plugin_id='test' or something

narrow verge
#

wtf

solemn whale
#

No it isnt? If it were, you could perform sql injections with it. query will use the words it get to look throught the name and description and maybe some other text which is being saved

narrow verge
#

yeah that still doesnt work but still lol

#

finna learn spring to fix your api issues smh 😤

random badger
#

oh hold on, I forgot about the queryStatement thing

#

idk why it wouldn't work in deploy... its working fine for me 🤷

solemn whale
#

Also, I think that @Define is necessary. Since the it will throw a superfluous exception if you removing without adding the AllowUnusedBindings annotation. Although the count project query has always been and odd one

random badger
#

if you do @Define, it can't find the named parameter :query

solemn whale
#

Thats odd

random badger
#

nah, if you do @Define, you can't use it in the format :varName

#

you can only use it like <varName>

solemn whale
#

You can if you add the DefineNamedBindings annotation

random badger
#

that does the opposite I think

#

allows you to use params w/o @Define as if they were also defined

#

cause :varName is a named paramenter

#

so DefineNamedParameters sounds like it should define all the parameters that don't have @Define on them

solemn whale
#

I would say it does, because when I made them with it, i needed to define them because string template, but then it throw the exception that it couldnt find it. After adding that annotation it did find them

#

but maybe my memory is just messed up

random badger
#

If in the query string, you have :varName, you can't have @Define on that argument

solemn whale
#

And there are no exceptions thrown when something is null? 🤔

narrow verge
#

is that why it's 500 internal server errorin

solemn whale
#

It used to be why

random badger
#

No, because there are a bunch of string template ifs to check for null

#

If something is null, it’s not included in the query

solemn whale
#

But if they arent used nor @define nor @allowedunusedbinding, the superfluous exception would be thrown, right? That could also cause a 500 response

random badger
#

I think we have allowunusedbinding

#

tbh, I don't really know why they aren't that by default

#

unless there is some massive performance hit if there are unused bindings

random badger
#

ok, so I think a majority of the conversion to v4 is done.

#

if someone is developing, try using the boostrap-v4 branch and note anything that looks wrong. I know a few things that still need changing, but im sure I missed a bunch

narrow verge
#

What're the steps to test? Unless that's documented somewhere

random badger
#

no steps

#

just mess around with different pages

#

and see if something looks wrong

#

I tried to check them all, but I may have missed some popups, or dialogs, or some obscure pages

narrow verge
#

No no, like how to run the server

#

:p

random badger
#

oh. I mean readme should have instructions

narrow verge
#

Ah neatill

#

I'll mess around with it when I get home*

#

After I take my exam**

#

And finish my essay***

random badger
#

ok, I cannot figure out how to include the bootstrap js file w/o including it in the resources/public folder

modest forge
#

something something webjars? idk exactly how they work tho

random badger
#

Yeah, idk anything about those.

#

Maybe that’s a solution. But it seems stupid to have to have something installed as a webjar, and an npm package. Like jquery

modest forge
#

hmm maybe the webjars are only for the non-webpack stuff then?

solemn whale
#

Cant you also add it to the resources like its done with the public folder? the method for that is in the MvcConfig class

pallid yoke
#

I really want to restructure the whole frontend build

#

Like, webjars suck, we just want webpack bundles

#

And then I can solve a ton of other issues with the frontend

random badger
#

right, well I remember back when we moved the javascripts folder to the frontend. way back near the start of all this. And you said that each of them really ought to be entries themselves, rather than just using the copy plugin to move them

#

well I tried making them entries, and they just didnt work

#

I made them all entries, and then adjusted all the references in the various script tags

pallid yoke
#

Vue 3 shipped ^^

#

I'll take a look next week and basically redoing all frontend stuff with it

#

The build and stuff

random badger
#

did it literally just happen?

#

what are the chances of that?! 😆

barren shale
#

sexy

pallid yoke
#

Actually

#

Lemme spend work time on this instead and migrated our main website

#

Then it's easier for hangar ^^

random badger
#

wow mini thinks work > hangar .... smh

pallid yoke
#

Heh, that would be fun. The main other contributor to the website frontend is on vacation for two weeks

#

He gonna come back and not recognize his website ^^

random badger
#

I did a bit of reading on the changes a while back, but I should read up on it too

pallid yoke
#

Meh, v2 to v3 migraiton and ie11 support isn't done yet, coming q4

#

Best thing about v3

sly thunder
#

hows things going for hangar?

pallid yoke
#

Really good

#

But not thanks to me, lol

limpid stump
#

ie11 support
Who cares about IE11 @pallid yoke?

pallid yoke
#

12 % of my users at work 😂 😂

#

Excluding internal traffic

#

Website traffic to our main website

#

Thankfully half of our edge users migrated to the new edge already, so that's good

sly thunder
#

noice

random badger
#

you work for an insurance company right Mini?

pallid yoke
#

Ye

narrow verge
#

oh cool now you can insure hangar plugins against fraud or something idk how they work

random badger
#

and 11% of your users use IE11? what kind of insurance?

thorny bane
#

Electronic @random badger

#

I wonder if there's any correlation between browser used and insurance rates where @pallid yoke works peepoJuice

#

Also this is getting off topic aaaa

pallid yoke
#

assuming our systems are sophisticated enough for that 😂

random badger
#

ok, so say a version has an external download link

#

what should happen when someone tries to navigate to the download link for that version.

#

redirection right?

narrow verge
#

Navigates to some "hey! You're leaving hangar and going to x, we don't endorse or whatever this site, click continue to confirm"

#

Unless it's verified then just yeet them

untold idol
random badger
#

ok, there are specific urls to download a jar from a plugin. should those return a 404?

random badger
#

so, the way I see it, if you want to remove all the webjars, you need to remove javascript code that requires any of that stuff from the templates, and the javascripts folder.

#

and then each of those javascripts file can be switched over to a webpack entry, and then included in their respective files

pallid yoke
#

Lemme handle all the webpack stuff

#

I sunk enough hours into that for work

random badger
#

ok, ill steer clear

pallid yoke
#

At most I'll be busy with this shit till Tuesday, then I can look at hangar again

random badger
#

What’s hangar? 😛

pallid yoke
#

Yeaaah

barren shale
#

everyone always asks what's hangar, but never how's hangar ;(

thorny bane
#

when's hangar

wispy sonnet
#

where's hangar

pallid yoke
#

Why hangar

misty mountain
#

hangar who

untold idol
#

hangar me

#

i am hangar

narrow verge
#

Y'all on thin ice

#

Almost had to update the counter

hasty trout
#

hangar where

vivid cypress
#

hangar wen

misty mountain
#

henger wan

thorny bane
#

hunger wen

somber flicker
#

in Australia we ask ..."How is it hanging? " which is colliqual for "How you going" to which the correct response when your fine is " A little to the left..."

#

pronounced Howzit Hanging

pallid yoke
#

I just opened the hangar project 😮

narrow verge
#

:O

barren shale
white pier
#

is the hype level so high that every time he opens hangar, he announces it 😮

fluid stratus
#

"I opened my file explorer"
loud cheering

barren shale
pallid yoke
#

thanks intellij for handling multiple windows properly

white pier
#

I seem to remember Mini having to break out beer cam to get that much love

pallid yoke
#

see, I havent worked on hanagr in a while sadly

barren shale
#

I've almost crossed 3 weeks as well

#

aside from issue spam tiny_potato

pallid yoke
#

closed all other projects, restarted IJ, now it works

#

ffs

narrow verge
#

epic 😎

random badger
#

something I'm annoyed at intellij is if I click on a dialog box on one monitor, it brings any other projects I have open on other monitors to the front, covering up anything else

#

not sure why it does that

white pier
#

yep

#

it has a few issues with multiple instances like that

#

I thought they fixed that one specifically but maybe Im misremembering

pallid yoke
#

I have the git toolbox plugin, which auto fetches stuff in the background. if it fails to fetch stuff (like merge conflicts), that instance goes into foreground

#

even if I dont touch any IJ instance

pallid yoke
#

ok, I cant do this webpack shit without using work config for reference, lol

pallid yoke
#

prettier is really happy

random badger
#

does prettier look through the .ftlh files?

pallid yoke
#

no

#

this is all js it seems

random badger
#

ya, didn't think so

pallid yoke
#

we can make it format the template later too I guess

random badger
#

idk how itll handle all the extra <@ /> inside stuff tho

pallid yoke
#

but like, I wanna focus on rebuilding the js and (s)css part first

random badger
#

ya, I was just curious

pallid yoke
#

this is such a mess, we will properly need to export all methods and shit

random badger
#

do you mean methods that are called from some script tags in a template file?

pallid yoke
#

no

#

from one script to another

#

down to 439 errors already 😄

random badger
#

those should probably be moved to a util file and then imported in the js file

pallid yoke
#

134 errors after importing jquery everywhere 😄

random badger
#

can't you have webpack auto import jquery to all files?

#

instead of doing it in all the files

pallid yoke
#

I could

#

but no real need for that

#

webpack will treeshake everything anyways, not every bundle will have jquery

random badger
#

right

pallid yoke
#

ok, the rest will take a while, lol

#

its also stuff like this

#

ij is already warning that

#

and then there is stuff like this

#

where the fuck is that var defined?

random badger
#

lol what? it only appears once in all of ore as well

pallid yoke
#

80, wooo

random badger
#

hey, are those 4 html files in resources/public/errors actually used?

pallid yoke
#

ok then

#

pretty sure they are, yes

random badger
#

where? cause we have an error template that the error controller uses?

pallid yoke
#

oh wait, I see

#

joink them and see what happens? 🤷

narrow verge
#

ah yes

random badger
#

cause all 4 have the user icon and dropdown hardcoded in

#

which doesn't make sense if they were used

pallid yoke
#

17 \o/

#

there are countless of methods not used in the frontend or anywhere, lol

random badger
#

well I assume most of those will get weeded out when most of those individual js files get switched over to vue components

pallid yoke
#

I just delete them now

#

since eslint is being a bitch like it should

random badger
#

inb4 they are called in an eval()

pallid yoke
#

I did a string search

#

so as long that eval isnt base64 encoded we fine 😄

#

ah yes

random badger
#

should ask about that in the sponge discord

pallid yoke
#

meh, we can figure it out later

#

not bad

#

in theory, those should already work exactly the same as the old ones 😄

random badger
#

right, those are the vue components

#

or most of them are

pallid yoke
#

no, those are all js files

random badger
#

right, but the ones that load the components

pallid yoke
#

those are the compiled bundles

#

urg

random badger
#

does that link 404? I sometimes see that error after it 404s trying to find it

pallid yoke
#

it does

#

I dont get why my html isnt updating, urg

random badger
#

you have to rebuild the project. add a comment in a java file, rebuild, and remove comment

#

I ran into this as well

pallid yoke
#

normally it worked just by hitting build

random badger
#

its cause /assets looks in the classpath right? and that wasn't updated

pallid yoke
#

well, kinda

#

I had to add a /css to the path too

#

which isnt showing up

#

even after restarting everything and shit

#

wtf

random badger
#

is main.css located in target/classes/public/build/css/main.css?

pallid yoke
#

oh ffs

#

<link rel="prefetch" href="<@hangar.url "build/css/main.css" />">

#

I only edited prefetch 😄

random badger
#

lol

pallid yoke
#

its late...

#

not bad!

random badger
#

bleh

pallid yoke
#

first setting everything up for deployment, can later look into making hotswap work

#

so that we have live reload for frontend stuff, especially when we do more vue shit we want that

random badger
#

yeah, we will need for vue stuff

#

otherwise, would be a massive pain

pallid yoke
#

review pls

#

😛

#

(pls dont)

#

+8,077 −8,908

#

at least that will get my contribution stats back up, lmao

random badger
#

wow...

pallid yoke
#

I mean, a ton of moving shit around and prettier formatting shit

#

but yeah, I think all that is left now is hunting down those 404s, replacing htem with proper stuff, prolly playing with how the webpack chunks are created, making sure all webjars and manually copied libs are moved to yarn, and then we should be fine!

#

tomorrow ill most likely have to finish my contract thingy, so after that I have time again

#

this is way easier than I anticipated

narrow verge
#

Lovely

random badger
#

whats the dummy entry point

pallid yoke
#

webpack was complaining not finding the 'app' entry

#

ill get rid of that junk later

#

added a few TODOs

random badger
#

so how do we serve, say, the filesize script to the frontend?

pallid yoke
#

should be installed via yarn

random badger
#

right it is

pallid yoke
#

then we can decide if we shove it into a common chunk, or if we create a new entry point for that file (where you would import the thing)

#

every file in entrypoints creates a new webpack entrypoint and thus a new chunk (aka file with bunch of stuff)

#

so like, we look if the thing is just used on one or two sites, then it should be put in a bundle for those pages, else it can go into a common bundle

pallid yoke
#

(it should end up in a common bundle if its imported in some other js file managed by webpack)

#

pls screenshot, diff links on such large diffs dont really work well 😄

#

oh I see

#

that was my thing to force a rebuild 😄

#

fixed

#

am done for today tho, its 12 now and I wanna go swimming before work with my sis tomorrow, so I need to get up early, lol

random badger
mellow pebble
#

I love that my logo is still in there

random badger
#

oh wait, what about all the js files, the ones in frontend/src/js

#

webpack isn't doing anything w/those

stiff token
#

Oh, ffs MM. I was supposed to take a look at fixing stuff at VT and forgot until you showed that screenshot lol

random badger
#

yeah, I have been doing stuff on hangar, haven't really spent any time on vt

pallid yoke
#

Webpack merges them into the entry points

#

If they are referenced somewhere

random badger
#

they are only referenced in script tags in the templates

pallid yoke
#

Else they get discarded as unused code

random badger
#

<@hangar.url "build/javascripts/whatever.js" />

pallid yoke
#

Then you need to manually import stuff in the entry points I guess

#

Oh yeah those should be entry points

#

We don't want to manually import individual files that aren't entry points

random badger
#

right, but those should be entry points I think

#

but most of those will eventually be replaced with vue stuff

pallid yoke
#

Yeah it looks like

#

The old webpack config had two loops for entry points and I only copied one, I thought the other went into an empty dir

#

Or wait, yeah, that's fine

#

Those files were really just manually referenced without webpack

#

Which explains why they don't use modern js features

random badger
#

yeah, they were just copied as is, not bundled

#

yep

pallid yoke
#

Since they didn't go thru babel

#

We want everything thru webpack so that we can use all the new stuff js has to offer

random badger
#

and since they are going thru webpack now, Im not sure the functions defined in them will be availible where needed?

#

unless exporting them does that

pallid yoke
#

Exporting them allows you to import them in other js files

#

They aren't placed into global scope anymore

random badger
#

yeah, that'll be an issue

pallid yoke
#

No clue how we gonna handle that with the js code in the templates

#

Ideally we move that code away I guess

random badger
#

cause ik for a fact that some functions defined in main.js are used in a vue component somewhere

pallid yoke
#

Since that's also not getting the babel treatment

#

Vue components go thru webpack, they can use import

random badger
#

yeah ok, so thatll be fine

#

but also, there are function calls in script tags in templates

pallid yoke
#

But like, maybe webpack can handle html files and detect the js code? Never did that before

random badger
#

which wont work

pallid yoke
#

If webpack can't handle that, we should move most of that code out of there

random badger
#

oh lol. some of the eslint disables you put on the same line as functions got moved one line down cause prettier I imagine

pallid yoke
#

Oh lmao

#

Use disable next line then I guess

random badger
#

switching to use the next-line yeah

#

hmm, also, yarn serve doesn't work anymore. cause it starts a dev server on localhost:8081, which isn't what the templates are looking for to load whatever

pallid yoke
#

Yeah, that's what I said, I worked on making full build work first, then I can use the url helper we already have and change the urls to localhost there in local mode

random badger
#

or maybe the reason is, that only yarn build actually puts the files in the target folder

#

oic

pallid yoke
#

I mean, we could construct the old way, watch and incrementally build, but as said before, I want live reload, that's what we need the devs server with the websockets connection for

#

Added to Todo

#

But now I really have to go to sleep

random badger
#

💤

random badger
#

Are we switching to vue 3 now? Or waiting for more of the phased releases to come out?

pallid yoke
#

The migration tools weren't published yet when I looked at it on the weekend

#

So it would be meh to do manually I guess?

#

I stilled stayed up for another hour yesterday and now I had 5 hours of sleep 😭 😂

random badger
#

There is hardly any migration.

pallid yoke
#

Mfw you have been finishing my todos again ^^

random badger
#

Wait hmm?

#

I didn’t realize they were your todos...

pallid yoke
#

That's not even what I mean

#

But you have been working on stuff I started again is what I am saying

#

It feels so strange not being the only one to work on a project

#

Progress while sleeping, what madness is this?! ^^

random badger
#

Well hopefully it’s better to have more than one person working on it. 👍

pallid yoke
#

Yeah absolutely

#

I would have abandoned this project already if I was alone, lol

random badger
#

So I think one of the things that needs input, is how to determine whether or not to get the scripts/css from local host:8081 or /assets/.

#

The former is when you run the local dev server, and the later is when you aren’t developing the front end or you are in production

errant jacinth
#

An Environments file that handles dev vs prod?

#

That's the generally accepted practice for webdev

random badger
#

Yeah, we have a file similar to that, (application.yml) I’m just wondering if I need to add yet another setting to it. It’s becoming kinda cluttered

random badger
#

An even better solution, would be to have html script and style sheet that have fallbacks if the primary source 404s.

#

Not sure what the best way to set that up would be.

sly mason
#

should can be

#

Mini is back!

pallid yoke
#

I mean, the overkill solution would be to let all asset links go thru spring and let spring ping webpack or smth, lol

#

The question really is, in local mode, do we want everybody require to have the webpack server running or not?

#

Since you would need to build once anyways, I would argue making required to have webpack running is ok

#

Then we can just send all asset links to 8081, or, if we get cors issues, run 8081 as base and proxy everything using webpack to spring

random badger
#

Well the build once happens via maven.

#

Currently that’s how it’s setup, if the hangar.debug (idk if that’s the right setting) is true, it gets the webpack stuff via 8081

pallid yoke
#

Oh right

#

Yeah, that's fine then, have a option to enable usage of webpack

random badger
#

Ok, yeah, it can be it’s own setting

pallid yoke
#

Not sure if the global hangar debug is good, but I see your point with more options

random badger
#

Yeah, I feel like there are already redundant settings.

#

Idk what the debug is even doing

pallid yoke
#

I still think auto detection could be cool, surely you could ping 8081 and see if something that looks like webpack is answering

random badger
#

Yeah, it does seem like overkill tho. Cause in production, you know not to use 8081

pallid yoke
#

Yeah, right, let's not then

#

At work we have a stage env var, but for local I always require yarn serve

#

You haven't looked at bootstrap yet, right? I remember downloading a zip via a config website for the theme, we really want to do that via scss

random badger
#

Yeah, the config.json was bootstrap 3

#

But that’s just there for reference now.

#

You override sass variables now. Look at _custom.scss

#

That has a bunch of overrides already.

main lava
#

Hey, i have a question i don't if i ask here would be wrong., how the bukkit plugin loader work?

random badger
#

Yeah, wrong place

#

If you want to look at possible overrides, look in the bootstrap folder in node_modules. There’s a variables.scss somewhere in there

pallid yoke
#

Oh so it's not needed anymore?

#

That nice

#

I know how to configure bootstrap via scss

random badger
#

The config.json? No.

pallid yoke
#

Just wasn't sure, so you did that with the bootstrap 4 port already?

random badger
#

Yeah

random badger
#

Can probably easily get rid of bootstrap from the public folder. Just need to add an entry point for both the bootstrap css and js files. You can do that right, add an entry point for something in node_modules?

pallid yoke
#

I guess

#

Or like, add a js file as entry that just imports it

solemn whale
#

That materialize style Machine-Maker mentioned in that newest issue, is that Vue Material? Or are those 2 different things?

pallid yoke
#

Materialize is a css framework

#

I wouldn't be surprised if whatever Vue material is uses it

solemn whale
pallid yoke
#

Nah rhsts a different implementation that seems to be closer to Google's guidelines

solemn whale
#

Ah okay

pallid yoke
#

Oh they finally hit 1.0

#

No wait

#

I had smth else in mind