#hangar-dev
1 messages · Page 7 of 1
The ACH uses it so it must be!
and they can buy mega hosting plans
They don't use hosting
hosting for any site you really care about is just fucking shooting yourself in the foot
spring also takes advantage of this cool thing, I forget what it's called...
erm, threads?
and scala has fuck all to do with scaling/load, etc
now we're talking web scale
i keep meaning to setup a local copy of stuff
I just, erm, also want to get a keyboard pillow
The docker setup seems to work great for ppl
Grrrr. The whole content security policy thing in the security configuration is annoying cause it’s not gonna generate a new nonce (for inline scripts) every request if I set it up there.
It’s more of a static thing. Guess I can setup a filter to just manually add the header to every request.
I am not really an expert on security stuff like that
Am happy that I understand how to execute an csrf and how to protect against it, lol
what do we think of the create project form?
I think it should be expanded with more "optional" inputs, like the various links. So one doesnt have to then go to the project settings page after to add them (issues, repo, website, etc.)
Maybe after you create the project you are redirected to the project settings?
nah, I think I disagree w/that. should take you to home. I think maybe an additional settings button that if clicked, expands an area with some settings. Mainly probably gonna be used by returning project creators.
The layout looks ok
Idk if I like giant forms
Like we have those settings already, duplicating stuff like that is kinda meh
Maybe we want to hint the user at being able to change additional stuff in the settings
@ivory ingot is a regex possible to delete duplicated tags, like [a]asd[a]dfe[/a][/a]? so open a tag + another a open without the first being closed? 
if a generic finder for any tag isn't possible, saying that it is specifically the a tag is fine as well
just pinged you because I know you're one of the few people that have fiddled with regex a few times 😂
so you think this is too big @pallid yoke ?
bottom 5 inputs are hidden unless you click the additional settings button
Mmh
That might be ok
I'll play with it later
Hopefully am actually allowed to be in my flat today 😂
k, its a tad bigger now. But I still think its not too big...
nvm on that regex hackfest, I'll do own parsing/conversion in Java
Ah ok
So a proper bbcode parser
That has an internal model
And can output markdown?
ye
Looks better MM, I like it
and get rid of duplicated tags, could do whatever with any tags with custom handlers
Kneny was about to send you simpleish regex for that lol
Regex101 allows you to create, debug, test and have your expressions explained for PHP, PCRE, Python, Golang and JavaScript. The website also features a community where you can share useful expressions.
Unfortunately would require 1 regex for opening tags, and one for closing tags.
Since for opening you need to keep the first instance and for closing you want to keep last instance, most probably.
@ivory ingot is a regex possible to delete duplicated tags, like
[a]asd[a]dfe[/a][/a]? so open a tag + another a open without the first being closed? :smolEyes:
if a generic finder for any tag isn't possible, saying that it is specifically theatag is fine as well
@barren shale It should be possible with negative look ahead. It get's more complicated when it gets more nested.
But I would instead recomend building a tree and strip child where child has same tag type as parent.
^(?<tag>\[\w+\])(.+)(?<endtag>\[/\w+\])$
using that to get the outer most tag. Create that tag object with a child that can be a tag itself or plaintext.
Will resources on hangar be reviewed by a team (hangar team) for safety reasons, or can everyone just upload their plugins as they wish without review?
And will the plugins be hosted on hangar or externally (own download page / github...)
i dont think there will be enough time to review each plugin
but just letting them upload w/o review is meh
For the plugin hosting, you can link to an external jar but there will be a warning
has to be to a jar, not just a page to click download
So it's probably just easier to upload
iirc Hangar has the facility for reviews if Paper wishes to use it
?
What do you need Aikar for?
that relates specifically to Hangar?
We haven't talked about policies yet
Neither internally nor publicly
It's too early for that
Hey Mini, did you end up fixing your example instance of Hangar?
huh, I didnt realize it was even down. yeah, im getting 404 on main page?
oh, now bad gateway
Been getting 404 for a week or so iirc
404 means the pod isn't started
Idk what's wrong, will check at work today
Eh tomorrow, lol
alright, simple 100 line Java solution already works better than the regex hacks
basically just deduplication and fixes for bad spacing for bold/italics missing (both seen here for example https://i.imgur.com/7hK8FkU.png)
Ah, not bad
Do we want to link attachments against spigot?
Like, create an image tag, which links to the spigot url
oh wow that's incredibly easy heh
REPLACERS.put("attach", ((tag, tagArg, content) -> {
final String imageUrl = "https://www.spigotmc.org/attachments/" + content;
return "";
}));
works™️
Mini, do u think you’ll have a sec to look over that frontend pr today? I don’t want it to get too big.
Hopefully I can
Gonna go swimming after work and then get new glasses, but should have time in between
Lemme look at staging first
Flyaway broke
Did somebody touch the file again?
Yeah, you did with multi platform
Lemme nuke db
Back up
Code in the PR looks nice, didn't expect so many translations, wow
yeah, once I setup vue i18n, its really easy to do
and wrote a quick script to convert the .properties file into json
what did you think it was?
ah, ya no. We probably can automate the creation of the json files so when we get around to adding a bunch more translations, we dont have to add them in multiple places
Yeah, had the same thought, not sure what format would be leading, smth we can shove into some translation website would be best
I used POEditor before for translations, I think that did support properties
do we want to have the translations fully up (even if only with English) for initial release?
Don't think that's a prio tbh
Hello
this is not a social channel
giving the PR a spin now
I really don't like how the nav bar vanishes if you change page
thats because of how we integrate FA I bet
and I think we want a global loader
lemme play with smth
how do ppl like something like this? https://streamable.com/yhom8y
Ooo, I see that Vue PR MM. Looks good.
Hmm yeah Mini. I like it. Shouldn’t just the main page be greyed out, not including the header?
I feel like that would make more sense.
Since that’s the content that’s actually changing.
Meh, as I said, the icons in the header are also loading
Hmm ya I guess
I think am gonna give the caching headers and etags and file name hashes a try in a few
Been laying on my couch for too long now, lol
So I saw in the pipeline that it's deploying somewhere... where is it deploying to? Cause the link on the README still leads to a 404.
i'd assume
it's got a loading thing now, so that sounds correct
imma give that container a kick
I cant click
ill also put hangar behind CF
and see what happens
great
😄
no CF and my last commit
with CF and my last commit
stuff be hella fast now
Ahh
Lol
I mean
for some reason ppl already google hangar
if I wouldn't always nuke the DB, we already would be ranked quite good I think 😄
(more than a few of those are me checking in)
heh
literally worse than Z750
well I was trying to include a few small in changes in a commit I would push to master, and then the rest to a new branch. cause those 3 small ones had nothing to do with the new branch. BUT I had deleted some files and didnt realize they were also included in the commit
I stand by my statement
does intellij auto run git add when you delete a file?
@random badger if it's enabled yeah
is that the same setting that runs git add when you create a file?
yeah, I thought* I had it off
the git tab tells you what's staged and all that I believe
looks like it just goes to default changelist
oh they are different settings?
don't think I saw any options before removing from version control
weird
ok, so you can invite organizations to be collaborators on a project? does that make sense?
there is a section on a org view for accepting invitations to other projects...
and then, that brings up, you can invite organizations to other organizations?
although there aren't any ways for an organization to accept an invite to another org.
I dont think so
I don't see (in the ore source) where it filters out organizations when it updates membership in an organization
Oh for ore thought you meant github
no no, talking about hangar
on hangar rn, you can invite organizations to other orgs
and I thought maybe we missed something in the ore source but I don't see it
Yeah yeah probably shouldnt have that
but ore def has support for inviting an organization as a colab on another project.
seems unintentional, not sure why you'd want that
its def not unintentional. they even have a UI component for accepting the invites (since you don't have access to that org's "notifications")
on an organization page
the organization created VanillaTweaks (so its the owner)
but I invited it to another project
gonna see if members of the other org inherit the perms the org has
can't remember if there is logic for that
yeah, members of the org don't seem to inherit the perms... so ya idk what the point there is?
there would have to be something different done there. like what happens if you invite an org to the support role?
perhaps if you invite an org as a colab... it has its own project role that cant be changed
and then whatever a users perms in that org are, apply to that project as well?
idk, it still seems odd to me to have orgs as collabs
Yeah it seems that it's a tad complicated, let's not do it for noe
If ppl complain that's always something we can look at later
yeah, ok. ill add in some checks on the backend when inviting users
Sounds good
and probably checks on the frontend. it does query the user object so we should be able to tell if its an organization or not. Those member lists w/search bars should probably be vue components in the end so we can have easier suggestions
Yeah
Mini, what do you know about the deployment key thing with gradle? We don’t have that implemented yet and it’s the last remnant of v1 api left
I guess it's something that allows you to deploy your plugin from gradle to ore?
I bet sponge has that on their docs
SpongeGradle has an Ore deploy task
I don't see any documentation on the SpongeGradle readme but the code for the task is here: https://github.com/SpongePowered/SpongeGradle/tree/0.11/src/main/kotlin/org/spongepowered/gradle/ore
I mean the sponge docs
kenny do you want me to try and rebase your branch (add the converter to the create project vue page)?
erm....
does anyone have an organization on sponge's ore that they can invite me to?
do you still need csrf protection for json post requests?
All post I think
ok, I just wasnt sure. Im guessing you send it as a header then
what's this hangar thing about? 👀
check pins
who's got a nice and complex spigot project description that can send me the BB code for it?
I only see hacktoberfest-accepted, are there supposed to be two labels?
no
Well, their thing matches any label with "spam" or something in it for holding off on it
yea you can stop with the spam @gleaming sinew
There is a channel for discussions here, there is no need to drop an email to everybody for what is basically questions
Well, at least it's v2
I can't see logs of the production instance so idk what's going wrong
and I mean, the frontend uses the api to display some information
like, does the home page view work?
Yes, but if i click on the example plugin it leads me to localhost:8080/MiniDigger/TestPlugin
doesn't seem intentional
oh yeah, I need to replace that still lemme do that real quick
doesnt intellij have a rest client
idk, you'd have to browse around. look through the vue components for where its being used first @gleaming sinew cause the other js will probably get replaced soon anyways
ooooh kay so doing the GET /api/v2/projects with authorization just leads me to the sign in page
but it doesn't when the frontend queries that to show projects on the home page
Correct, if I copy the details from the network tab in dev tools it works
well what's the difference between them?
-H "authorization: HangarApi session=47fe4c31-bc9f-4f39-bb7e-683589ea8f5e"
doesn't
If i add ""s around it it works
specifically the session="bruh" vs session=bruh
first works second doesnt
I was looking in the blob of text at the top of the swagger page
where is that example?
i just scrolled down to the /api/v2/projects thingy
did try it out, typed in the deets
I get a TypeError as well so that may be why as well
now the real question, how does it get the session token 🤔
hmm yeah idk where that is configured in the project?
is that just a default key?
so how long does that key last? an hour?
3 hours it looks like?
that sounds right
wait a few mins for the ci to get this latest commit
should fix the swagger "try it out" thing and the url pointing to localhost
once mini takes a look at my api pr, itll move back to v1.
I eliminated all but 2 of the places where v1 was still being used in the frontend.
I wonder if there is a way I can add an input where you can input your own apikey to test stuff in swagger
that way when you get one with perms, you can use that
are you still just using your phone @gleaming sinew
😄
nice
Didn't have a promoted version or it'd show that
yeah, I have no clue what makes a version become promoted
its some super big complex query thing
Looking good.
@barren shale lol, I was literally squashing them
don't do his work
especially if it's no work at all
all of the ones except the 2 still open basically didn't have any meaningful content anyways
ya ok. I did rebase your pr tho. and it works. when you create a new project and you've saved the converted bbcode, it shows up as the root page
I didn't know if you wanted to do some more things to fill out those checkboxes before it was merged
I'll prolly skip messages since you wanted to do more about those after release anyways (?), but still want unit tests
and deduplication for the converter
good morning kneny
yeah, hold off on the messages
Why would you hate someone like? Isnt it just a waste of energy? 
@pallid yoke can you somehow make the loading screen a bit less.. 'present'? it just briefly jumps at you too hard every time with that giant circle and that strong gray-ing 😂
probably just that gray filter, since it makes the screen flicker for short loading
it shouldn't
even I got one 🤔
k, the deploy version api endpoint is gonna need some love. since we have dependency linking on project creation, gonna have to add stuff to the post form there to link all those
index.html isn't used afaik... @gleaming sinew so idk why you added that bit there
we could probably delete it, but idk if webpack would complain?
and do we need the babel-lodash-plugin? we are already using lodash-es
which splits up lodash afaik
I wonder if there is a way I can add an input where you can input your own apikey to test stuff in swagger
@random badger yes, you can configure authentication schemes in swagger
@pallid yoke can you somehow make the loading screen a bit less.. 'present'? it just briefly jumps at you too hard every time with that giant circle and that strong gray-ing 😂
@barren shale mmh, maybe an animation to appear, like fade in?
sounds good
And I mean, we can totally change the style
I literally just copy pasted the loader from work, lmao
And even there I didn't design it myself but our design agency did
It was created for a pretty white website so the filter isn't as bad I guess
🙂
Converter is well an done, and also looks nice on the frontend thanks to Jake
since I'm away for the weekend, I'll just merge now and do unit tests later next week
👍
@gleaming sinew wtf is ZAPPFIX
The issue with the other PRs, is either that you didn’t explain the changes well enough, or they were redundant, or they should’ve been in one pr together.
yeah please stop burdening open source with your useless changes, I checked out your profile and 90% of your actions this month has been submitting a bunch of 4 line text file spacing changes while begging "not to mark them as spam"
really wants that Hacktoberfest t-shirt methinks
Just open PRs to your own fucking repo then
Drop the attitude
Please just.. discuss the changes you want to make, as was requested of you
and once again, "discuss PRs first"
we won't merge stuff just so you can get commits / something changes. we will merge things we think actually benefit the project
Helping stuff that is already underway (e.g. converting jquery stuff to vue) is a great way of helping along without discussing a lot first
obviously mention it so you don't waste time as someone may already have done it just not yet pushed, but it's a good entrypoint
well look at what the existing PRs do and PR to the PRs
or check out the issues (idk if there are any? i'm not involved w hangar)
Maybe that will give me a fucking merge.
@gleaming sinew if that's the kind of language we use now, I can tell you that all what that will get you is a fucking ban
?
Aren't they trying to remove jQuery not add more?
Hangar is slowly removing jQuery but yes, some JS parts of normal Bootstrap rely on jQuery
Not sure whether the jQuery modals are still there - I recall porting a few modals but not sure if they've been replaced yet
I didn't think bootstrap models needed jquery
bootstrap 5 doesn't need jquery... so once that is released, we'll move over to there
VBS removes jQuery but I'm not sure if they are finished converting over yet.
Or waiting for BS 5 works too.
@pallid yoke I might be dum but I tried bringing up the docker-compose and got this
I don't use that part of the docker workflow, I only use the dev db, MM might be able to help
Tux, you probably need to chmod +x that
inb4 MM works on windows
hmm
wasn't there a file perm thing issue before? related?
Also you using Flex or Inline-Block for your dependency Selection?
that's a really dum question, those are possible values for thedisplayproperty in CSS
Please don't spam repeat your question, give people a chance to answer @gleaming sinew (and also, you should be able to discern the answer from the source)
@limpid stump might be because the docker user and your user aren't the same
A quick fix I did was to allow everyone read write ex perms on my hangar clone
its r+x on all groups
hmm, I don't know why I wouldn't have that issue then
The directory is world readable and executable.
Oh I missed that pic hmm I had the same perm issue and that fixed my problem
you are using the docker/docker-compose.yml right?
yep
Can you try exec bash in the container and checking the perms on mvnw? Unless that pic is off inside the container
That's from docker
I thought maybe in copying the files into the container perms where getting messed up
You don't need to send us 20 emails about changes that don't make any sense and aren't particularly useful
Steviebeenz#3050 was kicked | drop your attitude
side note, I should probably add in something so that HangarAuth will run using a "real" production WSGI container
I'll probably PR some gunicorn magic for that later
Did you get your container working tux?
nope
I'll deal with it later
the Django runserver command is just for development purposes
probably a pretty dumb reason
I can detect the sarcasm
well I'll "look forward" at looking into it, I've had to deal with plenty of gnarly Django apps
?ban @gleaming sinew Drop the attitude, I said.
dyno pls
nighty night dyno
Steviebeenz#3050 was banned | Drop the attitude, I said.
inb4 he opens 50 prs
he's blocked
Python has no threads, so to schedule a task without blocking the Django instance, it uses Redis to communicate with a second worker process
he's banned from the org
He's banned
was blocked like 20-30min ago
have yourself plenty of STUPID validation code https://gist.github.com/astei/11e6ff18600d3daf7480bc9e8e2b51c3
From a real production app
@modest forge Actually, that's pretty common, but yeah, it's a mess
Python does have threads BTW, the problem is that the interpreter is not thread-safe, so the problem is "solved" by having a giant mutex
Here's the fun part: in production, Sponge disables Redis usage, meaning the entire Redis queueing library just blocks the main Django thread anyway
runway wen?
Unfortunately, it looks like the GIL will stay with us forever.
Yeah, was just easier to explain the interpreter lock as a lack of threading as that's the parallel in other languages
So in conclusion, they introduced a worker queue library then disable it in all runtime environments
Yea, I'll have you know that he's five and a quarter years old
Hey not everyone inflicts pain on themselves with the nuances of Python
PyPy does improve the situation somewhat, simply by virtue of being faster, and if you're really into pain, there's always Jython and IronPython which have no GIL
Some guy even tried to remove the GIL from CPython, but you can't do much more than run basic code and the effort required was so immense that they gave up.
The best hope for GIL-free Python is now software transactional memory, how fun.
Then again, Instagram seems to run their main production app on Python and it kinda works, I guess.
YouTube is also written in Python, but they now transpile to Go.
Oh, wait
Reference counting: “With his complicated buffered-reference-count approach he was able to get his “gilectomized” interpreter to reach performance parity with CPython—except that his interpreter was running on around seven cores to keep up with CPython on one.”
On the other hand I guess it's nice AMD forced everyone to move to higher core counts than four...?
Wow that guy really went on a spam spree
yea
Dude just wanted a shirt
I made a few PRs here and there but I don't expect the tag
I wonder if hard project deletion even works on ore right now?
cause the way its setup, the db is gonna be mad at you for trying to insert a log record referencing a project id that doesn't exist
last I checked it didn’t work :p
the todo column is shrinking slowly...
That api pr should be good to merge now. Can just hang on to the deployment key methods.
Does the documentation for the Ore web API apply to Hangar as well?
cause the way its setup, the db is gonna be mad at you for trying to insert a log record referencing a project id that doesn't exist
@random badger depends on which branch you are based at
in vue-refactor it works
API has been merged and slightly changed in places, but it's mostly similar
We branched off staging felix, if you can even call it branching of
Ah k dunno if it's broken there
How often does Git -> Hangar site?
instantly
Oh cool
well, I think gitlab polls like every 5 minutes or smth and pipeline takes like 10 and then startup
Is that beer lol
but yeah, instantly
I don't drink 😡
lttstore com
havent dronk anything in at least 9 hours
jake where are you when we need you smh
next paper update stream @hollow nova should send out ltt merch instead of pizza 😄
finally a reason to update paper
also rocking the hacktober fest shirt right now
😄
uh oh discord dyin
hacktoberfest gang
dang proxi is cute
yep
I just hope I get one this year
I dont even have it anymore
I just hope I get one this year
@mellow pebble chances are really low
it will arrive in jan 😉
sad knowing i wont get a shirt this year
cus i highly doubt theres any left by now lol
we aer there
oops
oh yeah whoops
(that also means you complied on a later version and are running it on a earlier version, e.g compiled on 11 running on 8)
@random badger didnt your api pr get merged? why is everything at https://hangar.minidigger.me/api still /v2
Hmmmm
It should be at v1. Unless the deploy failed on the merge.
On mobile atm, so annoying to check. Will look into it
Hmm @pallid yoke did the gitlab thing run? I don’t see a check mark for that last commit
why's it not gh actions btw 😢
Idk. Talk to mini
Because he uses gitlabs CI to deploy into his own environment
this is a setup which has worked for time, not everything needs to be shoved over to githubs crap
yeah, I copy the same gitlab ci file over for like 5 years now, lmao
ill check what went wrong



no?
This may be a dumb question but will Hangar only allow plugins made with the Paper API, or will Spigot API be allowed too?
As far as I know, policy hasn't been discussed yet; that said, I'm 99% sure that as long as it runs on Paper it will be allowed, there's no plan for a requirement for it to only run on Paper
At the end of the day it would be a dumb idea to mandate that all plugins on Hangar must be Paper-exclusive, that would just put people off
spigot plugins indirectly use papers api 😛
but like, eventually spigot plugins will not run on paper anymore so we will see what to do about that then
maybe add big legacy banners 😂
Uninstall em, ez
but like, eventually spigot plugins will not run on paper anymore so we will see what to do about that then
wdym?
since spigot is dying, paper will overtake soon (tm)
Hard fork for 1.17?

I just need an excuse to rewrite all my old plugins :p
motivation:P
Pressure all ppl into adopting paper then ^^
what's a "hard fork?"
currently paper is a fork of spigot, we inherit all changes spigot does, and are dependent on spigot
we for example need to wait on spigot to do updates, cant release for snapshots and prereleases, etc
s/independent/dependent :)
a hard fork would mean we take everything we have, and stop caring about spigot changes
which eventually will lead to spigot plugins not working on paper anymore, because spigot would evolve differently (if it doesnt die)
Imagine having Paper snapshots and prereleases - you can have all plugins updated before the full release.
Don't have to wait for weeks, can enjoy the update within hours.
yeah would paper release snapshot builds unlike spigot?
(also why does spigot not release snapshots)
perhaps
release snapshot builds? most likely no
have source up for later snapshots? that sounds possible
yeah that's what i meant
I don't expect builds, because people will run and complain.
But having sources for development will be great.
doesnt sounds like hangar discussion going on here
party pooper
i mean, i don't really see an issue with snapshot builds. if we don't do them, someone else will, and people will still complain
no matter what you do, people will complain
def not saturday dependabot...
wow, vulnerabilities 😮
Is it currently possible for people to make plugins specifically for paper?
Wrong channel but ye
Which channel should I have asked in? I thought hangar was about paper plugins.
Hangar is an upcoming plugin repository, better use paper-dev/help for paper api related questions
god I love the standard bbcode editor, produces quality filtered output like
yep, that literally just becomes By enabling MySQL in the config, you can even connect multiple proxy-servers to a set value in your database, so you won't have to enable/disable maintenance on each proxy by hand! 😂
why does that look like slack
the converter itself may "break" in 2 cases; spaces between formatting tags (like [b][i]hello[/i] [/b]...), and sometimes there's no line break where one would look nicer, tho I don't think there actually is a way of concisely determining in code when it needs one and when not, since there's tons of special cases with those in md needing proper interpretation
just took the first from google (+ dark reader) lol https://markdownlivepreview.com/
This is the online markdown editor with live preview.
@barren shale apperently simple is working on exposing resource description in spigots api
As bbcode
Well, it's simple that making it
Not spigot itself ^^
It's actually already implemented
See the open PR on the repo
.g spigot xenfororesourcemanagerapi github
No bot here, feels bad man
Basically, a new field called description
isn't Spigot API still "official" Spigot just infiltrated by simple?
Well, it's like 100% written by simple ^^
Hey guys, is there anywhere i can see the Hangar site so far? And whats the goal of hangar?
And whats the goal of hangar?
https://github.com/PaperMC/Hangar#hangar---papers-upcoming-plugin-repository
@NotNull private final String string;
// or
private @NotNull final String string;
// or
private final @NotNull string string;
cast your votes now people
because this has to do with hangar?
3rd
in the same vein as you wouldn't annotate a method nullable or notnull; you annotate its return value null or notnull
I mean I usually have the annotation 1 line up
i usually 1 line that stuff
a habit from one project where I had to override a copious quantity of inherited methods
1 lining the method signature including the override basically halved the number of lines
i one line fields and one-line-up methods
my style is terrible and inconsistent tho
topkek
i don't want to scroll around copious amounts of redundant shit
at least my ide collapses most of the other redundant shit
it just doesn't do it with annotations
oh whoops, i thought i was in that sorry
annotations go first
@cinder silo
the real right answer isjava @NotNull private final String string;
no
lol im late
but ```java
private final @NonNull String string;
its a NonNull String not a NonNull private smh
it is clearly on a method level. So the return is expected to be not null. Keep it a line before like @main lava recommended.
annotations come on the type; it's not the method itself that is not null, but rather its return type
you also don't do String @NotNull method(); the method isn't what you want to be annotating
if the annotation comes on the method, that also means it becomes @Override String, i.e. you're overriding the type the method is supposed to return. that makes no sense
so those coming on the method itself are before, whereas the specifics to the type come on the type
@misty mountain whatI meant was that for methods it doesn't matter if you use violet or jmp. I'm more of a fan of multiple lines. So separating Annotations from the field/method/class itself. As they are not required.
I too like multiple lines, and would never do such heresy as to have e.g. @Override on the same line as the method, but type annotations are supposed to be on the type
e.g. consider this:
@NonNull
public Pair<@NonNull String, @Nullable Integer> createPair();```
the type annotations on the method suddenly starts to break down
For that I would have dropped the annotations in between. It's the default thing that a key must be nonNull and a value can be nullable.
For me only the information if I need to check if the Pair is non-/null is the important one.
But on private project I never use a annotation framework for that. 🙂
it's not a key-value though, it's a tuple
I use annotation frameworks everywhere simply because I am stupid and that's fine. It makes IntelliJ be able to help me when I can't hold all the context
I could also have swapped around the annotations, for e.g. Pair<@Nullable String, @NonNull @NonNegative Integer>
And so it begins
it's monday bois
Just wondering. Did hangar implement spoilers yet?
it uses markdown for discussion and info pages
Yes, but thats not a markdown specification.
Github as an example implemented spoilers along with markdown
And spigot has their own way of spoilers
They are really useful would be a cool feature to add
Is it worth a issue on github?
May be backlog
I don't think GitHub has proper spoilers, it just allows the <details> HTML tag iirc?
Depends on whether Hangar allows <details>, which I presume it does since the Markdown spec allows most HTML
Can somebody test on staging and or create an issue?
I can prolly do it in an hour too
I don't think GitHub has proper spoilers, it just allows the
<details>HTML tag iirc?
@modest forge yeah that what i did mean
Spoilers/Details are a rly cool feature that i would love to see in hangar as i really missed it in ore
Doesn't sound impossible to add
As long as it isn't filtered out it should work
mini approve my hangarauth account pls thx
@modest forge should be verified now 👍
Woah where's my verification :(
I mean, after you posted that hangarauth seemed to die
hmm okay it just gets stuck when trying to log in
jaaaaake what did you do
Jake hacked into the db I guess ^^
I think you can change it from django admin?
@modest forge I don't see an confirmation mail for you
I can see that jake created two
oh waitr theres one thats like 18 days old
yeah... something went wrong...
I tried to manually set the verified column on your account and then I couldn't even create an account for myself
It worked
Man was just joking I didn't even access the site I'm innocent 😂
oh you know, I think we still have to do the linkout stuff
like replace links in markdown stuff right?
(btw, anyone who created an account on the staging instance that wants their accounts verified, just ping one of us since the mail system isnt really setup yet)
what do you mean with replace links in md?
so they go to the linkout page right?
instead of just a direct link to whatever
the "are you sure you want to go there" page thing
oh yeah, if we do that, we should skip the warning page for verified projects
since I find that to be rather annoying whenever I look at something on dbo or ore for example
but doing both should be easy enough, just a few lines in description saving to get the linkout path with the escaped links, and a simple verified check in the linkout controller method to directly redirect
I know we talked about verified hosts
But yeah, we could have projects that are also “verified”
I wonder if in the markdown parser there’s a way to transform the links there, so you don’t have to find all the hrefs in the output html
so is hanger auth functional? or still in testing?
It works, yeah
There is just no real mail server plugged in right now, all mails go into some Webinterface where the team can view them
so I dont get the verification mail ? or I should get it?
Well I think I completed sign up so it should be there somewhere
ty
forbidden
yep, same tab even
might be due to disc? :p
did someone snipe the link lol
Don't have time to investigate right now
You can't snipe links
They only work if you are logged in
smh mini bork
When somebody else clicks the link, it asks you to login
(tried that, it does)
Did I break it by registering at a similar time?
Lmao
lol 😄
I gave chew the wrong link
just stealing my link
mine has like chew twice
Try this one chew
hey the plugin upload process is really nice
Or I should say the plugin posting workflow
nice and modern
Props for that to MM, he did rewrite it all
Is there a way to add a project description without copying it from spigot?
(I don't want to upload one, just confused by the UI 😄 )
Because there is a big "convert from spigot" button, but no "make your own description"
oop
I guss just put your description on the top and save
bottom*
dang even mini isnt staff lol
ask about bugs here?
sure
the channel desc is Development Discussion for Hangar, our upcoming Plugin Repository
Hangar has a repo with issues
Yes this channel is good to discuss potential bugs with others
But also create an issue to keep track once it's confirmed
yeah
So If I choose upload Avatar then click choose file ...it appears to freeze my browser 😛
Oh no it just took a long time
yeah that sounds like a browser bug lol
Depending on what folder you last used (giant download folder...) I could see why the browser slows down
But yeah, that's out of our control
Nah thats fine I worked that out..
Plugin Keywords didnt appear to save
The BBCode HTml links are sort of broken as well https://hangar.minidigger.me/Narimm/Prism-Bukkit/pages/'https://discord.gg/8kgkrba'
Yeah it adds ''s
thats processed from * Support is provided on the [M.O.S.S. discord server]('https://discord.gg/8kgkrba').
can you select a promoted version?
I can try
uh, that drama generator is great xD
But for me, promoted versions are not even loading
It appears once you have uploaded a version some of the params are no longer editable
You cant create alternate channels yet iether
Aside from not being able to promote a version my plugin also doesnt display the server version I selected on the main menu it does on the download
also notice how times arent local, they're UTC looks like
Yeah most times are formated on the server
* Support is provided on the [M.O.S.S. discord server]('https://discord.gg/8kgkrba') is not bbcode...?
"that's processed from: ..."
e.g.
[URL='https://github.com/JavaAPIs/ChewAPI']ChewAPI[/URL]
turns into
[ChewAPI]('https://github.com/JavaAPIs/ChewAPI')
because BBCode is strange
I see the problem
thats exactly from the spigot code
but narimm, you definitely gotta work on your descriptions lol
will fix it in like half an hour, it should auto deploy (?) then you can convert again
Yay
translate probably was not the best word to use
Mini send verification url pl0x
thx <3
Looks good
not sure what you think, but I'd either make that window wider or make it centered https://i.imgur.com/8lPPpyv.png 👀
That once was centered
Just, ew
@somber flicker couple questions on what you said. You should be able to create alternate channels, either on the plugin upload page or on the version list page for your plugin
and what did you mean by params aren't editable after you upload a version?
and the promoted versions will only happen once the version is approved.
so its not a manual thing; marking a version as promoted
like if you look now, I approved your version of prism-bukkit, and its now listed as a promoted version
If there's no approved versions and you don't have access to manage the project, it just says "Loading versions" forever
Also, clicking an admin on the staff page leads them to /admin/activities, which I assume is an admin only page
the staff page was only recently exposed to normals
so that is an issue, open one pls
for both?
"don't have access to manage the project" isn't the right condition there, I've had the same when logged out, but not when logged in when viewing narimm's project (with only being a user)
yes, if youre logged out, you dont have access to manage any project :p
whether or not you have access to manage the project doesn't matter 👀
is it only if you've signed out?
2fa flow works, says sponge instead of hangar though
I dunno, would be nice if you can play around to see
alright, can someone go here (while signed in, and no elevated perms) and see if anything loads? https://hangar.minidigger.me/Chew/SpigotDrama/versions
otherwise just open with "in yet to be determined cases" 😂
doesn't load when not logged in, and loaded (but nothing listed) when logged in for me
Ahh, so issue is not loading when not logged in, perfect
theres an issue with auth tokens for anno users
I have been meaning to track that down
dunno if this is on the todo list, but you guys should make a nice modal for the sign in message
rn it's just an alert
ye
but yeah, keep such obversions coming, we get used to shit like this and forget that it should be changed if its not documented
Yeah mini, there is some set of conditions that require you to clear your local storage to get a new api session key. Not sure what they are tho.
Machine I was referring to "Keywords" not saving - I set prism as "bukkit grief logger rollback" but it seems when I look at the setting they are not saved.
regarding channel creation - I tried to create a "development" channel - it doesnt yet work.
Also when you click "mark all as read" in notifications - not sure if its possible to reload the top bar to clear the red notice dot - it persists until you reload the page
ok, taking a look at those things now
hmm, they seemed to save when I set them for you
Please let me know if reporting this stuff here is annoying - I feel like creating issues for each one might be more annoying
try changing them to something else?
It was when I set them on project creation - let me create another project
oh set on project creation
I thought you meant in the settings page after creation
no they seem fine from there
reporting smaller issues here is good 😛
I always report here and I'll toss it on there if requested
Completely forgot about that repo MM, I'll get someone to transfer it lol
Nope definitly doesnt save keywords from project creation page
I just did DripReported with 4 keywords "metric codahale admin reporter"
yeah, confirmed that on my local instance
Delete Version does not seem to work - but that may be intentional - however without allowing editing of versions parameters it might result in a high frequency of deletion
ie I wanted to go and add a option dep to a specific version I had already created - but I was unable to do so - so I deleted it to create a new entry,,
what happens when you try to delete a version?
oh, did you get a message saying you only have 1 public version left?
and yeah, go ahead and make an issue for editing dependencies after creating the version, that's probably a good idea to have
did vue all of a sudden start supporting camel case for events?
also just clarifying that SSO with google does not work?
The JavaScript origin in the request, https://hangar-auth.minidigger.me, does not match the ones authorized for the OAuth client. Visit https://console.developers.google.com/apis/credentials/oauthclient/${your_client_id}?project=${your_project_number} to update the authorized JavaScript origins.
and yes attempting to delete a version gave me the You only have 1 public version left.
yeah, that should be fixed now. that message should only show up if you have one public version left and you are trying to delete a public version
but if you are trying to delete a non-public version (aka a New version before its been reviewed) it should be deletable now
Just attempted on test site
not sure it was deployed yet
Also did you confirm that the "CHANNEL" creation is not working on test
yes, that should be fixed too. there was a bunch of commits pretty quickly, so none of them have made it to live yet
👍
not sure why its stuck on pending but, hopefully it does its thing here soon
do you have any qualms with the version upload screen? its probably the most complex form. and idk how user-friendly the dependency selection bit is
ore doesn't have anything like that so I had to design it from scratch
Actually I love the dependency stuff - I guess what would be really cool is if the app could parse poms when they are inside the jar of plugin.yml files - or maybe even a custom dependency list file that can be optionally added to a jar as an embedded resource to basically automate that process
yeah, that idea had actually crossed my mind. might be interesting to explore that
Maybe limit the automatic linking to only Hangar based Plugins tho -
so you can autolink another plugin on Hangar but not external
Yeah, I mean linking external would mean downloading the external jar and the searching through it right?
Yeah I can show you some internal code we use to extract plugin.ymls and parse them for information - I havent done dependency parsing before but It shouldnt be hard
but year you definitely need the jar locally.
that being said you could get a jar from a remote source and parse it
load file -> zipfile -> getEntry('plugin.yml') : File -> read yaml -> get('depends')
That's how I would do it.
@somber flicker
yeah thats basically what we do
External URLs should only allow direct JARs
as it directly linking the jar?
Yes
not linking to a page
That would be ideal
how would you even detect
to use the above idea you would have to do that
HEAD in most cases is GET but only for headers
Github release page with specific release could be allowed, too for later.
Yeah but that requires automation like we are talking about above
Releases and going to need to somehow tell Hangar what server versions they support/ what dependencies they might have.
I mean if you'd upload an artifact it would grab that
sure
Then head/get it accordingly@
right
but then u need to parse the plugin.yml or require the author to include a resource inside the jar that provides hangar with the required information to create a release version
mind you that would also be helpful for the review team - it could give them some more specific information about a new plugin so they can determine if its approval is appropriate
That already happens doesn't it?
I am not privy to that side of things
Ore would parse the sponge file for relevant info
What about an optional hangar section in plugin.yml ? Where you can add these things.
hangar.supported-version-range:[1.13, 1.16]
Also BUG report Hangar is not saving the project image file permanently
I have updated Prism jpg 3 tims now and it appears to save but then resets
ysl I think you need more than that - you need to define dependencies and in particular link to the related plugin on hangar
I know they are already in depends: and soft-depends:
but thats just the names
Is there an extension planned to support loading resource descriptions from GitHub repo.
Like creating a hangar.md there and it ist automatically fetched/ displayed in hangst.?
I know they are already in
depends:andsoft-depends:
@somber flicker yeah at that point it is guessing.
With a hardfork paper we could also support objects in depends.
{
name: "Worldguard",
URL: "Https://enginehub...."
}
imagine ...you could setup recursive plugin dependency info
hangar.dependencies:
worldguard: "hangar.papermc.com/worldguard/version?min=7.1&max=7.9
And the server passes the server version as well.
imagine ...you could setup recursive plugin dependency info
@somber flicker imagine we implement it and this is the reason why most people migrate to Hangar.
I suspect if Paper hardforks - that would be the main reason
60% of the Spigot users failing because of missing dependencies.
Needs no hardfork with the hangar section.
The other consideration Machine re versions ->dependencies is the specific version of the dependency
I didnt see an option for that in the dependency picker - that might be a relevant addition
Ah ok. Head to bed now. It is 02:49 am
also just clarifying that SSO with google does not work?
The JavaScript origin in the request, https://hangar-auth.minidigger.me, does not match the ones authorized for the OAuth client. Visit https://console.developers.google.com/apis/credentials/oauthclient/${your_client_id}?project=${your_project_number} to update the authorized JavaScript origins.
@somber flicker yeah sso isn't setup yet, it's actually just using the key ore uses ^^
I like the idea of having a paper/hangar specific section in plugin.yml
You can already put in whatever you want anyways, could just collect hangar metadata with that without affecting any server impl
just noticed this when registering
thats configurable
alright, just making sure in case you missed it
aight, also i didnt get a verificaiton email i think
because I got it 😛

inb4 gets password in plain text
there is no mail server setup
ah

the channel dropdown changes color with the color thats currently selected
also a way to navigate back to resources would be nice, you're kinda stuck on the plugin page rn. Unless you use the dropdown, which isnt very user friendly imo
nvm you can just click the giant button
@somber flicker with regards to selecting dependency versions, we decided that’s too far. It’s too complex and would require authors to go back and update that when a new version is released.
Better to just have the author put that info in the plugin description if they feel it’s needed
Fair enough
Although you could use maven versioning for that feature -
ie Maven can declare a range of dependency options via a pom or a minimum dependency but I understand that decision well it had that in maven2
Well people aren’t uploading their POM right? That’s usually not included in the jar. I just think it’d get to complex for the end user at that point.
There hopefully shouldn't be too many plugins that depend on a specific version of something
If you're building a single-pom.xml project with maven, the pom is actually included in the jar, in META-INF/maven/. Just fyi
Multi-module projects package the pom.xml of that module
and even the poms of dependencies are included, atleast for me. Maybe I did something wrong, that seems excessive
No, that's standard maven-shade behaviour. Resource files are also shaded
The exception to this is anything built with gradle
Gradle can have a POM but by default doesnt
or, in the very worst case, a project without a proper build system
btw, maybe im blind, but it would be nice if you could edit the supported version. Currently it seems to read that from the plugin.yml, so it does not allow versions older than 1.13
Which would be a nice feature 😂 😂
I made the plugin for 1.16, but for some reason 1.8 works as well, so why not
If people really want to miss five years of updates 😄
this is how you select the versions
it defaults to whatever is defined as api-version
and then allows you to check whatever
@pallid yoke could it be that you cant change the channels of a plugin?
there doesnt seem to be a way to adjust it
Ah, didn't see that 😄
not after upload, I don't think so
everything is possible

what would be the usecase?
well, assigning the wrong channels and only realize later its wrong
i mean sure
Not possible because you can't upload the same file twice
thats not really user friendly tho



