#hangar-dev

1 messages · Page 3 of 1

narrow verge
#

Yeah, all we can do is: (for both issues and prs)

  • Close or re-open
  • Manage labels, milestones, and assignees
    that's it
#

can't even edit/remove comments

barren shale
#

the teams are team private

#

👀

narrow verge
#

ah then that link probably doesnt work

barren shale
#

... else you could just list name-description-hex color for us to copy paste then 😂

narrow verge
#

weird how you can't see teams

#

thought they could be public

barren shale
#

I think they can, but are private by default (?) and noone set them to public

narrow verge
#

Ah, teams are only visible to members

barren shale
narrow verge
#

there's visible to every org member, or only visible to team members

barren shale
modest forge
#

the system

#

@narrow verge go to sleep

narrow verge
#

IT"S 1:30 AM

#

PM*

#

oops

modest forge
#

go to sleep

narrow verge
#

in 8 hours sure

barren shale
#

slep

modest forge
#

sleeeeep

barren shale
#

@spiral current thanks for the push to do GH projects, now we actually have a better plan on what we're doing 😂

spiral current
#

:p

barren shale
#

and a nice list of future todos

spiral current
#

that's nice

#

but now I forgot what I was looking at before I checked the ping :(

random badger
#

yeah, im creating issues for api paths, frontend paths rn. will be good

spiral current
#

machine, what's your opinion on tables?

random badger
#

gonna have to be more specific... database, dinner, markdown... plenty of tables

#

100% pro dinner tables

spiral current
#

smh

random badger
#

no but really, what do you mean

pallid yoke
#

Organization?

#

Pffffff

#

One weekend where I don't use my PC and get drunk and stuff and suddenly we are organized?

#

😂 😂

barren shale
modest forge
#

times tables best tables

fluid stratus
#

But we took your table, so no time table for you

random badger
#

wow, I think I just understood what he was asking...

#

🤦‍♂️

random badger
#

🚫 table

spiral current
#

well it's too late buddy

#

you expressed interest in tables which is not tolerated :^)

#

/s

dire jasper
#

Hopefully Hangar will be a better experience than Polymart too (their ToS has typos 🤦‍♀️)

sly mason
#

Polymart also basically harassed me to try to get mcMMO on his site

#

Told him that it's nothing to do with me and to sod off as nicely as possible, but, like, damn

pallid yoke
#

ill make sure to harras md to put essentials on hangar 😄

#

but yeah, idk, generally thats not a good idea, lol

#

you want ppl to come to you cause you are a nice platform and you got users/traffic etc

solemn whale
#

When javascript transforms "2020-8-31" to 1981

solemn whale
#

If nobody is already doing the admin/stats I would like to claim it

pallid yoke
#

Go Ahead

limpid stump
#

@sly mason Polymart is selling yooniks' crap, that's how low their standards are... they're worse than MC-Market

#

I thought MC-Market was scraping the bottom of the barrel, but nope

#

So yeah, Hangar will be a much better experience, especially if no paid mods are allowed

modest forge
#

I'll make sure to harass Mini to let me put EssX on Hangar

limpid stump
#

I have semi-ancedotal evidence that Aegis is hot garbage

#

And I already proved that Flamecord has no reason to exist because of the mitigation I managed to upstream into BungeeCord after much difficulty.

reef stone
#

I heard of polymart, I don't trust anything other than Spigot. Usually something dodgy going on.

narrow verge
#

i thought polymart was that one youtube channel

modest forge
worthy basalt
#

@solemn whale transforms how" ?

#

Number("2020-8-31")
NaN
parseInt("2020-8-31")
2020

narrow verge
#

maybe it thinks month day year idk, i had a fun time trying to convert a time format like that in Java to a Date

#

had to use Calendar and just split the date string

worthy basalt
#

"2020" -8-31
1981
2020 -8-31
1981

#

seems about as correct as one could hope for

solemn whale
#

I was sending a List<String> to javascript which contained
just those dates, I had to add qoutes to the strings before it would see them as strings

fluid stratus
#

JavaScript does stupid things with dates. It doesn't represent dates as a year starting from 0 in the Gregorian calendar, but as some offset from a year in the Gregorian calendar.

modest forge
#

sending a List<String> to javascript
how? json? embedding in freemarker?

fluid stratus
#

Pretty much Javascript's entire date/time functionality is a giant joke.

solemn whale
#

i added them to the modelandview so i guess embedding in freemarker?

modest forge
#

In which case you'd be inserting the string 2020-8-31 into the template without quotes

#

Freemarker isn't magic, it doesn't know you're trying to put a string into a script vs any other part of the page

solemn whale
#

Yea, figured it was something like that

random badger
#

Dates didn’t start with year 0 tho. There was no year 0. Or am I misunderstanding what you said.

#

That’s why 2020 is NOT the start of a new decade, but Dec 31 2020 will be the last day of a decade

pallid yoke
#

Ever day is the end of a decade

#

Just depends which you mean ^^

narrow verge
#

who was talking about decades

modest forge
#

I have no idea

random badger
#

Just thought I’d bring up that lovely debate...

narrow verge
#

decads use lua??

fluid stratus
#

Year 0 didn't exist, but we start counting from it.

#

I mean, dates are super gross and nothing ever works properly with them anyway, so whatever

#

Seems like there are also different ways to count decades within a calendar, so... idk

barren shale
#

people who say 2001 was the start of the new century/2021=new decade are absolute lunatics

#

and that's a fact

random badger
#

But years arent zero indexed... there was no year 0 in the Gregorian calendar.

barren shale
#

so? doesn't mean we should drop all that is sane smolTHEMAN

fluid stratus
#

Don't even know what JS uses, could be that they use ISO 8601:2004 in which there is a year 0.

#

If a decade is ten years, though, and you use a 0-9 system for decades in the Gregorian calendar, would the "first" decade then run from 1 BC to 9 AD?

#

Cause that's eh interesting.

pallid yoke
#

A decade is just defined as a timeframe of 10 years

#

You can start wherever

#

It's just that society likes to define special decades

fluid stratus
#

Yeah, that's kinda the point. If you define a decade on the calendar as a 0-9 system, such that 2010-2019 would be a decade, then with that reasoning you'd also get 1 BC to 9 AD as a decade.

#

Subsequently 12 BC to 2 BC would be a decade, which is interesting.

#

Or you just skip a year somewhere or something, but that's even more blegh

#

I feel like a 1-0 system makes more sense on a longer timescale, since then 1 AD to 10 AD would be a decade and 10 BC to 1 BC would be one, which aligns nicely.

#

Or just don't design a garbage calendar that skips zero, but whatever,

#

0 to 9 and 10 to 19 is nice because a decade is the period where all digits except the last one of the year are the same. I.e. all values for 198x form a single decade. Problem is what I mentioned above, since year 0 doesn't exist in gregorian calendar, you get a decade that is 1 BC to 9 AD and the decade before that would be 12 BC to 2 BC, which is stupid, because you offset the last digit by two.
With 1-0 you don't have the convenice of 198x forming a single decade, because 1980 is of the previous decade while 1990 is of the decade that also contains 1981-1989, which isn't as great, but at least around year zero, you don't run into the issue that you offset the decade when going into BC: 10 BC to 1 BC is a decade and 1 AD to 10 AD is a decade.

#

0 to 9 is nice for everything in AD, but the moment you go into BC I personally would go for 1 to 0, so you don't have to deal with offset decades.

fluid stratus
#

confused screaming

modest forge
solemn whale
random badger
#

I assume so yes. I’d have to look at ore to be sure.

#

im not sure what other uploads it might be referring to

solemn whale
#

Yea, neither do I, but sometimes there is some hidden stuff I dont know of

random badger
#

wdym hidden stuff...
the only other uploading that happens, are organizations/projects changing their avatars

solemn whale
#

oh, not really about this project (yet). But somtimes you assume something and then it happens to be something else

narrow verge
#

ok but actually, what is MVP?

random badger
#

minimum viable product

#

if you are talking about the project... To-Do is what is needed for mvp

#

and backlog comes after, so not stuff needed for mvp

barren shale
#

smh chew assuming my answer was a meme like everyone else’s

narrow verge
#

Oh you actually answered

random badger
#

yeah, I had to ask again too cause I had no clue what the actual answer was

cursive kraken
solemn whale
#

Thanks

velvet gyro
#

is hangar live?

#

dam its written in java 😦

narrow verge
#

WHATS WRONG WITH JAVA

velvet gyro
#

ReactJS / ExpressJS gang

#

for web dev

#

I made a plugin store in 3 days

#

I just feel like

narrow verge
#

excuse u, js is sucks... js

velvet gyro
#

the development velocity is a lot better

#

I use typescript

vivid cypress
#

could always go work with the scala version :p

narrow verge
#

fuck it, ChewPlugins, Hangar rewritten in Rails

velvet gyro
#

would be fun to make a plugin repo in reactjs

#

id be down

untold idol
#

nodejs is bad

#

i prefer 42000 assembler

narrow verge
#

isn't react node though

velvet gyro
#

yes it is @narrow verge

#

but once built its sending javascript to run on v8

#

in chrome

#

or whatever browser

#

but on a dev environment its node

narrow verge
#

aaacckkk

#

node

velvet gyro
#

whats wrong with node

narrow verge
#

terrible bloated nonsense

velvet gyro
#

is jvm not "bloated" then

#

idk the sizes but if we talking in docker containers

#

the docker container needs a nodejs environment or a jvm to run on

#

I generally only do mc development on jvm

#

and use kotlin

#

but for all the other stuff I use node

random badger
#

Well we aren’t about to change hangar now...

#

Part of the reason it’s in Java (spring framework) is thats what mini uses professionally, part of it is so people in the Mc community can be more likely to contribute (cause plugins are in java), and partly because ore was in scala.

untold idol
#

nodejs advocate also suggests kotlin PepeLaugh

#

but the jvm is 100x better than v8

velvet gyro
#

how so

untold idol
#

kotlin is syntax soup

velvet gyro
#

I think the jvm would scale better if the project is written correctly

#

but you arent building twitter

#

yeah @random badger I mean the frontend for reactjs

#

not the backend to nodejs

random badger
#

There really isn’t a lot of front end...

velvet gyro
#

exactly

random badger
#

Right now, it’s just a few vue templates

velvet gyro
#

I really like this

#

I use it since it has server side rendering on react

random badger
#

And we def aren’t gonna change away from that because thats actually the one thing that ore and hangar can share.

velvet gyro
#

ah ok

random badger
#

More stuff is being moved to the front end to eventually remove the query webjar dependency. But it’s not there yet

vivid cypress
#

honestly complaining about the language used is probably the least useful thing you could be doing in this channel

#

it's in java because people know java

velvet gyro
vivid cypress
#

unless you want to port and maintain ore yourself, your opinion is worth approximately nothing.

velvet gyro
#

I just expressed sadness

#

that it was written in java

#

I know its not feasible to just

#

hop on over

untold idol
#

theres no reason to use node

#

paper is a community built on java

vivid cypress
#

plus every single developer in this community already knows java

untold idol
#

^

#

why switch to node for worse perf and syntax

leaden lily
#

Skript developers punching the air right now.

velvet gyro
#

Im pretty sure last time I checked

#

nodejs is faster

untold idol
#

lol no

#

not remotely

#

for web dev specifically, Java's inter-thread memory sharing is faster than js's inter-process sharing

#

which matters

velvet gyro
#

I mean I figured jvm should be faster

#

but I be googling

#

I googled more now

#

and there are articles going towards one side or another

untold idol
#

it's largely task based

#

but generally, nodejs does nothing special and is very rarely, if ever, faster than java at a specific task

sharp quest
#

pfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffft js and speed

untold idol
#

saying that one language is faster over another is odd in the first place but eh

sharp quest
#

js is the exception

velvet gyro
#

I've built a server is Go

untold idol
#

go is decent

velvet gyro
#

which is quite liked

sharp quest
#

go is pepega

velvet gyro
#

I looked at Rust but it doesnt seem like it is fast to write code in

#

like Im tryna get stuff done, and it seems to have a steeper learning curve

untold idol
#

go is great once you learn it

velvet gyro
#

yeah

#

I am still kinda new to that, but I use javascript for backends right now because of next.js

#

it has serverless functions built in

#

so I kinda just use that

#

no deployment worries, but the latency is a bit higher

#

this is a cool framework too, I tried it

#

but you guys dont like kotlin Hehe

vivid cypress
#

kotlin is decent, but bukkit's library situation is too fucked to be able to produce kotlin apis

velvet gyro
#

Ive been building stuff in Kotlin a lot recently

#

but I agree the APIs are kinda weird champ

#

but I can figure it out generally because of autocomplete when using java

#

You just gotta know to hit Companion objects

untold idol
#

kotlin is decent, but bukkit's library situation is too fucked to be able to produce kotlin apis
kotlin-java interop in it of itself is fucked

velvet gyro
#

can we define fucked

#

it works

vivid cypress
#

there are some annoying issues

velvet gyro
#

I wrote a large plugin recently and have "plugins" for my plugin, and some are in java

vivid cypress
#

some overloads that java accepts aren't accepted by kotlin because they're ambiguous, so you have to explicitly cast to the variant you want

untold idol
#

it is very slow, and has had some major ish bugs for a long time

velvet gyro
#

yeah some of my code was lookin weird, but I didnt know it was slow

#

I guess i never considered it

untold idol
#

no no

vivid cypress
#

slow compile times or sth?

untold idol
#

i meant the time it takes to resolve

#

in ide+slower compile times

velvet gyro
#

ah

vivid cypress
#

half and half kotlin-java projects are the worst

velvet gyro
#

I dont actually do that

#

I havemodules

vivid cypress
#

(that's where PEX is right now lol)

velvet gyro
#

which are pure java

#

or pure kotlin

#

I did pure java modules to test if other devs can use my api

untold idol
#

i think of kotlin like i think of lombok

velvet gyro
#

oof

#

I dont like lombok

untold idol
#

don't use it in public

velvet gyro
#

this is like 200 kotlin files

#

the compiler is really slow

#

but if you dont clean everytime

#

its quick enough

untold idol
#

you're using

#

maven

#

with kotlin??

velvet gyro
#

ok I dont anymore

#

but

#

this project I had other developers working with me

#

and they didnt know gradle

#

I use gradle for everything I need

#

gradle's compiler for kotlin is a lot faster or whatever magic it does

#

I think its the same compiler but

untold idol
#

ok we should stop crowding up hangar channel 😄

velvet gyro
#

tru

#

I go to sleep

#

nice talking to u jroy

untold idol
#

:p

main lava
#

how do you delete someone else's message

vivid cypress
#

ban them

pallid yoke
#

I feel like we need to moderate this channel better, lol

vivid cypress
#

no moderation

#

let's talk about sandwiches

untold idol
#

free channel

pallid yoke
#

If you got nothing better to contribute to this project, other than ewww java, I'll ask you to kindly troll elsewhere

distant jasper
#

Let's rewrite it on brainfuck

barren shale
solemn whale
#

Ah okay, good to know! Thank you

random badger
solemn whale
#

Yea I can see why 😅

random badger
#

cause it doesn't pop out as an error

solemn whale
#

Yea, guess it was the same for me

solemn whale
random badger
#

yeah, I don't think there should be any caching on any of the admin pages

#

since they aren't gonna be used by everyone (only those with perms) and its important for them to have the latest information

cursive kraken
#

I was looking at the admin/health and the missingFiles, do we want to check all files everytime someone opens admin/health? Or all unhealthyProjects in that list? I cant really figure it out from ore's code, not sure where the projects is from https://github.com/SpongePowered/Ore/blob/staging/ore/app/controllers/Application.scala#L147
@solemn whale https://github.com/SpongePowered/Ore/blob/9445350c31c59be7d96164943873bec764372fbc/orePlayCommon/app/db/impl/access/ProjectBase.scala#L119

#

It's an implicit from OreControllerComponents

solemn whale
#

oooh, there it is! Thank you

cursive kraken
#

No problem

narrow verge
#

Do yall have an email service in mind? I just use sendgrid

pallid yoke
#

No clue what the forums use

#

We would most likely just use that

sweet heron
#

how will we be able to design our plugin threads? with markdown? bbcode?

worthy basalt
#

ill prob just handle the mail

barren shale
#

markdown

sweet heron
#

great👍

narrow verge
#

bbcode is torture

#

markdown and html too maybe? Just no styles or script?

#

oh and import from github readme, very useful there too

barren shale
#

markdown. 😛

#

yeah that’s also planned with the whole GH integration

pallid yoke
#

Doesn't markdown support html anyways? I don't remember which engine I implemented

narrow verge
#

Oh, I suppose it does

modest forge
#

Pretty sure it's just plain SMTP (at least, that's what auth uses so I assume Ore is the same)

pallid yoke
#

Oh yeah for mail we can just use javas mail api

narrow verge
#

ah, i was referring to sendgrid being the actual SMTP server

pallid yoke
#

Do they offer smtp? I assumed it's a fancy api

narrow verge
#

Yes, I use it

pallid yoke
#

But then it's even easier and we don't need to do anything fancy

#

Just smtp via javas api and config

narrow verge
#

Yep, it's as simple as setting up the dns records, I don't know the pricing or plans though

#

ah, 100/day on free

pallid yoke
#

Yeah, that's not gonna cut it

#

Am assuming there is already a mail server setup for the forum that we would just configure

#

Like, actual mailboxes and shit

narrow verge
#

fancy, hope that works out

random badger
#

markdown can support html, but it can be made to not support it (see github's markdown)

pallid yoke
#

GitHub supports some html

#

I think we should do too, as long as it's save and ppl don't go crazy

random badger
#

yeah

#

no iframes or something tho 😆

#

and... no script tags 🙂

fluid stratus
#

Aww, why not? I can't imagine any issues would come up when allowing people to put their own custom scripts on hangar.

random badger
#

open a feature request....

and get banned subsequently from opening issues

#

pretty sure there have been pure css games that have been created. if we allow style tags, you probably can make one of those

solemn whale
#

Yea, have seen a few people claiming that css is turing compleet, havent seen any evidence about it yet

vivid cypress
#

yeah, let's get customizable pages myspace-style

random badger
#

I think I remember someone in my 4th grade class having a myspace page... but other than that...

random badger
#

k, finally figured out how to get docker to run everything (Hangar & HangarAuth) together and STILL have hot-reloading via spring devtools. if anyone has any better ideas, ping me https://github.com/PaperMC/Hangar/pull/108

somber flicker
#

@pallid yoke are yy seriously using sendgrid as an SMTP server?

narrow verge
#

no, not enough for what we need apparently

somber flicker
#

At last check the entire infrastructure is blacklisted by hotmail/outlook anyway

#

unless you stump up for a private IP

worthy basalt
#

ill be handling the mail. I run my own mail servers 😛

#

but i did use mailgun for my super important emails, but "you gots mail" just goes out smtp

grave gazelle
#

ill be handling the mail. I run my own mail servers 😛
Any recommendations for the mail server app

pallid yoke
#

@pallid yoke are yy seriously using sendgrid as an SMTP server?
@somber flicker no, I never used sendgrid before, and hangar doesn't use anything right now

somber flicker
#

Ok cool - the free service they provide is shocking

#

its deliverability is bad

hearty lynx
#

(if you have the GitHub student pack their pro plan is free for 2 years)

narrow verge
#

Yes but only for educational purposes

#

As with anything in the pack

#

Not supposed to be used for stuff like this or anything professional

worthy basalt
#

@somber flicker because us ESP's tend to keep high risk clients separate from low risk clients, free = abuse, dont want to risk impacting paying customers deliverability

#

we have separate sending pools for our customers at work, and if people pay, they can get a dedicated pool/ip

somber flicker
#

No I understand why @worthy basalt but I didnt want Hangar to go with that infrastucture

#

you would be better off using a VP

gleaming pagoda
#

What is hangar

mortal idol
#

if you are serious, read pins
if you are not, well its your death

gleaming pagoda
#

Oh ok thank you

random badger
#

Hangar is life

#

Anyone know anything about caching maven dependencies in a docker container?

stiff token
#

What you mean exactly?

#

If you want to cache them on build-time, I don't think it's viable tbh.

#

Unless you only mean caching them as long as pom.xml doesn't change - then you could add pom.xml to image, run some maven command to fetch dependencies (not sure what it'd be), add rest of code, build.

#

And the cache will invalidate on pom.xml change, but if only code does change, it'll have the deps cached.

#

If you are running on Linux, you might try to abuse Buildkit build-time mounts, not sure if they are rw though. And it doesn't work on Windows, so...

random badger
#

Yeah, caching as long as the POM doesn’t change

#

Or wait

pallid yoke
#

Yeah, layers will work then

#

I think I tried to do that?

#

I remember smth

stiff token
#

Hmm, it looks like maven can't do that. At least I can't find it.

#

Oh, nvm. There seems to be dependency goal.

barren shale
#

no, a better replacement ;)

#

have fun

pallid yoke
#

What just happened

main lava
#

spiot is better than paper happened

barren shale
#

spiot*

modest forge
#

spiot

distant jasper
#

spagit

main lava
#

spaget

solemn whale
#

Yea, lets call it spaghet

sly mason
#

Anyone know anything about caching maven dependencies in a docker container
What you'd do is store the containers .m2 folder somewhere on the disk

stiff token
#

But you can't do that on build time Cat.

#

You can do that with making sure there's a step that downloads the deps, but no steps before it can invalidate the cache.

sly mason
#

changing source files such as the pom would bust that one though?

stiff token
#

You can copy POM - download dep - copy rest of sources - build.
At least if onyl source and not deps change, it'll reuse it.

#

I wonder if the Buildkit builder mounts are RW and can be used for directiories - maybe they could be abused.

#

I'll see what I can come up with when I'll get off of work in like an hour or so.

sly mason
#

See, the normal "fix" is often to just use a volume for the .m2 folder so you can shove it on disk, docker really wasn't designed for stuff like this too well

stiff token
#

I mean, you can use volume, but you can't do it on build time.

#

And dockers caching works quite well, especially with Buildkit enabled. But it won't provide incremental caching like maven has.

random badger
#

yeah, its not that big an issue. it only has to download deps once per dev session. just when I initially build the containers, it downloads them, but then I can rebuild with intellij, and no need to download them again

#

hmm... it seems that on a users page, you can't see any projects they are a member of, only projects they own

#

I feel like you should be able to see projects they are a part of as well right?

barren shale
#

doesn't fit the userpage's purpose, if anything in an extra section (or even page) only visible to yourself

#

imo that is

#

similar to how GH does it, just not as hidden away as there (you have to go to settings->repositories, which is rather annoying)

random badger
#

so you don't think other people should be able to see a list of repos you are a member of?

#

only if they come across a project that has you as a member, they'll know

barren shale
#

yeah, since it's not your project then (and otherwise of the org)

sly mason
#

There are some orgs you might not wanna be associated with

random badger
#

well they do see a list of orgs you are in

barren shale
#

he's specifically talking about project membership I think

random badger
#

that's already part of ore

sly mason
#

e.g. that rando joke project you have from 6th grade

random badger
#

yeah, im talking just about project membership

barren shale
#

so you don't think other people should be able to see a list of repos you are a member of?
yea

random badger
#

ok

barren shale
narrow verge
#

Like GitHub?

#

I mean on GitHub everyone can be private

barren shale
#

yeah like github. being able so set membership private in projects and orgs (just except your own non-org project)

narrow verge
#

Yeah

random badger
#

k, so we're gonna def need to add a db migration system

#

cause there's no way were are gonna think of everything before release

random badger
#

wow...

#

see there is where I would amend the latest commit and then force push

#

but idk if I should, mini said something about force pushing messing up gitlab or something

barren shale
#

I'll get rid of them with another one-line fix lol

random badger
#

I think you missed your daily commit yesterday

barren shale
#

yea :(

random badger
#

k, onto org invites

narrow verge
#

I just modify the database in production

solemn whale
#

You're a monster!

narrow verge
#

dont worry, I enabled heroku maitanence mode if it goes wrong

#

and when i remember to, take a backup

#

it's a miracle everything is still intact lmao

#

prod database USED to be dev database too, thats a whole other can of worms though

narrow verge
#

what java is hangar going to be ran on?

#

i.e what sdk do i use?

stiff token
#

I saw java-14 being used in docker.

random badger
#

yeah, the docker is 14, but pom has 11

#

idk why

narrow verge
#

we need siwtch exporesson!

random badger
#

is that 14?

stiff token
#

We need to select all the java files in IJ and run Ctrl+Alt+Shift+K !

random badger
#

what's that do?

stiff token
#

AKA convert all Java files to Kotlin 😛

random badger
narrow verge
#

ru serious? NO

#

lol

#

imma make a pr that does all the java 14 fancy changes since we're running on 14

random badger
#

go ahead

narrow verge
random badger
#

idk what im looking at?

narrow verge
#

thats the map of all files

#

middle is root

random badger
#

huh, ive never seen something like that before. neat

barren shale
#

we didn't have any reason to use 14 (since there's not too many features helpful to us in code), so we stuck to 11 to also have more people able to run it on their own setup (cc mini)

#

not sure why the docker part uses 14

random badger
#

but I mean, if someone is going to contribute, it can't be that much of a hassle for them to install 14 right?

narrow verge
#

all i have is 8 and 14

#

holy hell all the deps lol

random badger
#

yes, there are a bunch

barren shale
#

for the discussion page I'd personally vote against signatures, since they mostly interrupt read flow

narrow verge
barren shale
#

if you want to say something, put it in your profile sig imo

random badger
#

but HOW CAN I advertise my plugins 🙂

barren shale
#

or what do you think

narrow verge
#

eh, signatures are useless, ive never seen one that im like "now that's a signature"

#

it feels like those blimps with ads flying behind them

barren shale
#

even just 3 lines of signature text can put off if the reply itself is just 1-2 lines smolEyes

narrow verge
barren shale
#

so yeah, if noone has a strong case for signatures, I'll remove them from the discussion issue again 👀

narrow verge
#

it's an against from me

random badger
#

the way the bukkit forums handle sigs, is they only have it on the first reply in the thread

#

so its not taking up a ton of space through out the entire thread

barren shale
#

sounds like an alternative. or even having an option to hide them kneneny

random badger
#

and well just use markdown for formatting for posts right?

#

ore doesn't have a review/rating system, do we want to add one of those too?

narrow verge
#

bad news for the hangar crew

#

75 spring errors and counting

random badger
#

what errors are you talking about?

narrow verge
#

it's finishing up

random badger
#

nope, ignore them

narrow verge
#

smh the beans are erroring and youre ignoring?

random badger
#

they are all either for HangarDao<?> or HttpServletRequest

#

the beans exist

#

the IDE just doesn't know it

narrow verge
#

smh

#

IDE is

#

whatever the word is

#

oblivious?

random badger
#

well its just so we don't have to manually create a bean for every DAO since there are like 20

#
    @Bean
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    public <T> HangarDao<T> hangarDao(Jdbi jdbi, InjectionPoint injectionPoint) {
        if (injectionPoint instanceof DependencyDescriptor) {
            DependencyDescriptor descriptor = (DependencyDescriptor) injectionPoint;
            //noinspection unchecked
            return new HangarDao<>((T) jdbi.onDemand(descriptor.getResolvableType().getGeneric(0).getRawClass()));
        }
        return null;
    }
barren shale
#

a lot of people here dislike rating systems, so I think that’s a no (tho I feel indifferent about it)

narrow verge
#

pretty much it

barren shale
#

lol going over ide warnings won’t get you anywhere

#

since 9/10 of them are probably just eh, wrong

random badger
#

fix all typos first

stiff token
#

chew go over warnings and put @SuppressWarnings() on all of them 😛

random badger
#

what's the freemarker error?

narrow verge
#

the img alt for the paper logomark is "spongie" still, intentional?

#

AH HA

#

TYPO SPOTTED

#

literally unusable

#

misspelled class name... uh oh

random badger
#

what is misspelled?

narrow verge
#

"PagesSerivce"

modest phoenix
#

It’s intenden

#

It’s a serivce not a service

narrow verge
#

intended typo??

modest phoenix
#

Yes

#

Nono service

narrow verge
#

why

modest phoenix
#

Yesyes serivce

random badger
#

its a serivce

#

not a service

narrow verge
#
java
ChannelService.InvalidChannelCreationReason validateChanneUpdate(long projectId, String oldChannelName, @Define String channelName, @Define long colorValue);```
I assume that's intentional too?
modest phoenix
#

Yes

#

Channe no l cause we no loosers

narrow verge
#

but above it's java ChannelService.InvalidChannelCreationReason validateChannelCreation

#

hm

modest phoenix
#

Don’t worry about it drink some alcohol

random badger
#

#BlameKenny

#

pretty sure he was doing channel creation

narrow verge
#

what about java String header = request.getHeader("X-Frowarded-For");

barren shale
#

it’s just... frorwarding

modest phoenix
#

It’s new https6 standard chew

narrow verge
#

alright well other than those I found 1 legit typo

modest phoenix
#

Lies

narrow verge
#

Unless resolved is spelled... resovled

modest phoenix
#

Give context

narrow verge
#

I forgot the file

#

But it was something like "Flag resovled by" instead of "Flag resolved by"

random badger
#

ok, so how tf are org members supposed to edit a project owned by an org

#

where is the logic for that?

thorny bane
#

They can't :D

#

That's why paper explicitly requests that PRs are submitted through non org accounts

#

Oh org members

random badger
#

huh?

#

im talking about hangar

thorny bane
#

Yes and? I thought you were talking about people editing PRs submitted by orgs

#

I misread

random badger
#

no, talking about plugins that people post to hangar that are owned by an organization they created on hangar

random badger
#

k, I figured it out

random badger
#

@modest forge ok, got an issue here with hangarauth

#

for some reason, the calls to /sync_sso aren't synchronous or something when they are called post_save on the user model

#

any ideas? the create user endpoint needs to wait until it makes the /sync_sso request and gets a response before its sending its own response

#

from top to bottom, except the create_user response is being sent before the /sync_sso request is sent

#

which is big no-no

#

k, so for the time being, the user will still be manually created in the org create method. its not a big deal because the /sync_sso will still give it the global organization role

random badger
#

k, org invites are done

narrow verge
#

Hell yes

random badger
#

there really isn't a whole lot of big things left

narrow verge
#

Well done, I assume just some polishing up, then beta, then bug fixes, then release

random badger
#

yeah, the issues are a bunch of small things that need to be checked and done

narrow verge
#

Yes, ask there

random badger
#

in ore, where do you go to edit your channels?

#

the release channels

random badger
#

holy hell, the user admin page is a mess. but finally got it error/free and functional

barren shale
#

yeah I don’t think you actually have any button or something to go to channel editing, I always manually opened author/slug/channels

random badger
#

Yeah, there supposed to be one, but no one had the perm to see it.

#

So I gave that perm to project dev/owner

modest forge
#

@random badger There's two modes that the scheduler library works in, one synchronous and one asynchronous, and I don't know how they're running SpongeAuth in production

#

We can make it always synchronous, but that means if auth can't reach Discourse or Hangar then any request that triggers sync_sso will fail

#

ie user creation, profile edits etc will just error out

random badger
#

Well the only place I can think of where it has to be sync is org creation. But we can get around that by manually creating the org user instead of relying on /sync_sso to create it.

#

K, so what’s up with these actor routes? What are they supposed to do?

#

GET /pantopticon/actor-tree

#

GET /pantopticon/actor-count

barren shale
#

looks like some local debugging thing?

#

not sure if useful, but certainly not required

#

yeah you can throw it out lol

main lava
#

What is hangar?

dire jasper
#

Upcoming Spigot/MC-Market/Polymart alternative

main lava
#

Ah

thorny bane
main lava
#

Mobile

#

Sorry

#

They are like hidden in the side panel

#

So I never check unless on desktop

#

¯\_(ツ)_/¯

untold idol
#

pretty sure nobody reads pins :p

main lava
#

Heh

thorny bane
#

Sounds like a them problem lul

modest forge
#

Well the only place I can think of where it has to be sync is org creation. But we can get around that by manually creating the org user instead of relying on /sync_sso to create it.
@random badger that leaves the possibility for a race condition if a user gets created on auth at the same time as an org gets created on hangar

#

does the create user endpoint accept an ID?

random badger
#

Hmm, we might have to change it so it creates the user in hangar before auth.

#

If it doesn’t, then we can make it accept one

modest forge
#

Yeah

#

Did you modify hangarauth at all? I don't know which one is the right one to work with right now

random badger
#

I made some changes.

#

Mainly to get it to work with docker better

#

There is a pr for all your changes + my small one on minis repo rn

modest forge
#

Do we want Hangar roles to be included in the migrations?

#

Also the Organization role was missing from my list in migrations because I didn't know whether we were planning on using it

#

Hnnng so it looks like org creation in Ore assumes SpongeAuth never does sso sync calls asynchronously at all

random badger
#

yeah, I guess include them

#

I didn't realize they weren't included in there already

random badger
#

anyone know how to, with spring, take a bean created in a request scope and use it in a thread that doesn't know about that request?

#

I could probably deep copy the object, but im not sure thats the best solution

ivory ingot
#

So you have the problem that this bean is destroyed and cannot be used in the thread?

random badger
#

well idk what exactly is causing the problem. all I know, is I get an error when I try to pass that bean into a jdbi update method

#

the error is a bean creation error and it cant created it because its trying to create a request-scoped bean outside of the request scope

#

but idk why it would have to create it again. cause if I log the object right before, its there

ivory ingot
#

Why you passing the bean to that update method? Do you want to get some data from that bean in that method?

random badger
#

so I made some request-scoped beans so that if the route contains parameters for a project, you could get the project in a bean rather than in every project route getting the project and doing a null check there

#

and sometimes, I need to update info on that project

#

I got around it kinda, by just making a copy constructor

#

pass the copy in, and it works fine

ivory ingot
#

Sounds like an interesting approach. Is it a private project or Hangar?

random badger
#

hangar

narrow verge
#

it's always the beans isnt it

random badger
#

im just confused as to why it tries to construct it again... cause the object exists. right up until I pass it to jdbi for it to do its thing

ivory ingot
#

Ah ok.
Now I see another approach.

Most the time the bean is something providing data not being the data itself.

Another approach would be to return a Supplier<Project table>

#

So that the table isn't the bean itself.

random badger
#

oh wait, I think I saw an example of a Provider<Something>

#

hmm

#

that is a good idea... are those final classes tho?

#

I was trying to use Optional<Something> for a bean and it didn't like it

#

cause Optional is a final class

ivory ingot
#

And with a projectSupplier#get you get your table.

#

It's a functional interface so non final

random badger
#

ok, that might be the solution. lemme check it out

ivory ingot
#

Yes, spring Boot sometimes want to proxy instances and for that it needs to inherit and wrap it

random badger
#

yeah, that is what I found out when I was trying to figure out why optional wasn't working

#

was trying to set one up for the current user, which of course can be no user

ivory ingot
#

Would do it similar.
Supplier<Optional<User>>

random badger
#

yeah

ivory ingot
#

That's why I love open source projects. I can see the actual use case instead of asking for hundreds of years until the guy/girl provides actual information.

random badger
#

you think I can have it autowire a supplier, and then have a private final of whatever its supplying? instead of calling get() everytime?

ivory ingot
#

You do it in the ctor of the service, so yes.

random badger
#

yes

ivory ingot
#

Or not because it returns null without that request. Not that sure.

random badger
#

thing is, it wont be constructed unless its needed

#

and itll never be needed when its null

#

either it exists or throws not found

#

if its null, it wont be accessed

ivory ingot
#

Let's see

random badger
#

hmm it didnt like suppplier by default

#

I changed it to ObjectFactory which is essentially the same

#

huh... I got the same error. I guess lemme try calling .get everytime

#

nope, still got the error... lemme try one more thing

#

ok, got it to work

#

so spring won't autowrap it in a supplier, the bean actually has to return the supplier type

#

and I can't use get() in the ctor

#

because sometimes that ctor is gonna be called not in the request scope, like at the very start of the program

#

calling get() shouldn't be a big problem tho, its still a big simplification

sly mason
#

the bean actually has to return the supplier type
You mean the object mapping stuff for a response?

#

If so, people generally just have some "response" type object to be able to wrap their responses into

random badger
#
    @Bean
    @RequestScope
    Supplier<ProjectVersionsTable> projectVersionsTable() {
        Map<String, String> pathParams = (Map<String, String>) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
        if (!pathParams.keySet().containsAll(Set.of("author", "slug", "version"))) {
            return () -> null;
        } else {
            ProjectVersionsTable pvt = versionService.getVersion(pathParams.get("author"), pathParams.get("slug"), pathParams.get("version"));
            if (pvt == null) {
                throw new ResponseStatusException(HttpStatus.NOT_FOUND);
            }
            return () -> pvt;
        }
    }

re: the return type

#

if the return type was just ProjectVersionsTable, spring could autowire that to Supplier<ProjectVersionsTable> or ObjectFactory<ProjectVersionsTable> or Provider<ProjectVersionsTable>. but apparently not the way its setup currently

sly mason
#

What would be wrong with returning the type itself?

random badger
#

because then I can't use outside the request scope, which apparently using that object via jdbi to update some row in a database is

#

that's what was causing the initial issue. it needs to be wrapped in something

#

and if I rely on spring to auto wrap it, it still can't use the object outside the request scope, it has to start out wrapped

#

any difference performance wise, between making multiple calls to get() on the supplier or storing it as a local var in a method

sly mason
#

each get will run that code

#

wait, nvm

#

Your supplier is literally just a "return X", so, no real difference

random badger
#

yeah, I figured

ivory ingot
#

👍

solemn whale
#

https://github.com/PaperMC/Hangar/pull/111 My pull request has conflicts with master. Leaving aside or it would be merged with them being fixed. What would be a good way to resolve this? Merging master into my branch would mess up the commit history, right? And I cant rebase because of the conflicts (or maybe im just doing something wrong)?

Or would it be better to make create a new branch of master and redo my work on there and than create a new pull request?

misty mountain
#

just rebase onto master

#

and fix conflicts as you're rebasing

solemn whale
#

Okay thanks!

misty mountain
#

often, the hangar folks can also just resolve em ^^

#

its rarely a lot of work lol

solemn whale
#

Yea it isnt much work, but its also nice to know the solution yourself

random badger
#

k, so im a little confused as to what exactly locking a user means? I mean the lock button only shows up for yourself.

random badger
#

MAN, the more I use spring, the more I love it. just getting into parsing spel in custom annotations

narrow verge
#

spring when

vivid cypress
#

sproing now

random badger
#

be super useful for hangar to have a contrib/github channel here btw

narrow verge
#

I agree

#

Where's the Hangar Team role

random badger
#

lol, I'd love a role 😆

#

currently we go back and forth between a couple channels in Mini's discord

narrow verge
#

lol

random badger
#

and finally putting everything here, would be nice

narrow verge
#

Yeah you could join the big bois

random badger
#

man, its so close to being done

#

well done initially, like not bug free for sure lol

narrow verge
#

I'm too far behind on development

#

I can't help idk what's going on lol

cold ridge
#

wen is hangar? I have to upload my plugins which are using paper api on spigot, so ppl complaining about NoDefMethodError etc, although i noted that this plugin works only with paper

misty mountain
#

you can use paperlib to check if paper & disable in the meantime

#

hangar is here when hangar is ready

cold ridge
#

so it doesn't solve main issue: ppl are stupid

#

they don't read that plugin works only with paper

tacit roost
#

you dont even need paper lib just do a try catch around java Class.forName("com.destroystokyo.paper.PaperConfig");

#

and if it throws put a big error in console saying to download paper, and dont load the plugin

cold ridge
#

Ok

#

mb that will work

misty mountain
#

or just use paperlib, its very small and does the job even after we change the package of the config

#

if youre gonna depend on paper code in your plugin, please depend on API

random badger
#

ugh. running out of stuff I want to do...

barren shale
#

you could fix the view counter to also insert into that single_view table / not actually insert everytime you refresh

#

one of the few little things :p

random badger
#

its supposed to be every refresh as far as I can tell...

#

its not what I thought it was

barren shale
#

preetty sure it doesn’t on SpongeOre

random badger
#

right, but that number displayed, doesn't equate to unique rows in that table

#

its from the home_projects view

#

which does a bunch of complicated stuff

barren shale
#

do that then smolMonkey 😂

random badger
#

like, look in the ore code, unless I missed something, its every time

barren shale
#

would make sense for why they’re storing so much data in the single views table

modest forge
#

machine: do you feel like rewriting SpongeAuth? :p

random badger
#

@modest forge like you mean Runway?

#

I figured that what we've currently got is sufficient for now

#

I mean, its functionality all works

modest forge
#

aside from org creation (unless you modified hangarauth?)

random badger
#

I did

#

my branch does the sync sso call on org creation

modest forge
#

That's the main reason I haven't bothered with runway tbh

random badger
#

was a tiny change, just called the method to update it in the endpoint method handler. works like a charm

somber flicker
#

maybe Hangar should be moved to its own category?

narrow verge
#

nah, it's just one thing atm

#

not quite done

somber flicker
#

so close....so close

sly mason
#

The only real business of this channel is going to be when dev is going crazy, I can't see it being active enough that we can't just shove it into #paper-dev at some point, we have plenty of channels as is, and I don't really see how well a section for hanger will fit

pallid yoke
#

We use a channel on my discord most of the time anyways 🤷

dire jasper
#

Is said discord restricted or available to the public?

pallid yoke
#

Do you plan on contributing?

sly mason
#

I meant, #paper-github for notification; help requests will probs just go in general/paper-halp, any other channels are basically gonna be staff only type deals

barren shale
#

still waiting on that one

solemn whale
#

We use a channel on my discord most of the time anyways 🤷
Can i get an invite to that discord? bettereyes Got one, thanks mini

cinder rain
#

sup,

#

I am watching with interest

#

I'd love to replace SpiGet

#

If you had a SpiGet compatible API that'd be huge in its own right

#

a robust API to allow integration is a must though

barren shale
#

see pinned

cinder rain
#

👍

#

I don't see an endpoint for a list of categories, searching by category, etc

pallid yoke
#

We can easily add more apis later

#

But for now it's obviously not a focus

cinder rain
#

is there any route for me to sponsor having specific features added?

#

or to outright offer some sponsorship to the hangar project?

pallid yoke
#

Uuhm

#

I would need to talk to the team and stuff, but I don't see why that wouldn't work

#

I mean, the software itself has a feature to display sponors already, we inherited that from the sponge guys

#

But again, let's focus on shipping an MVP first and then talk about stuff like that later

#

But be sure to open an issue for search by api and stuff so that it isn't lost

#

Or just a more general API expansion issue with a giant wish list

#

You were representing a panel, right?

modest forge
#

well, BukkitDev never went away

narrow verge
#

spiget is a 3rd party services to get stuff from spigot :p

#

well, not really

#

assuming they actually will implement it lol

mortal idol
#

soon, spigot will be abandoned, and Paper will be the leader

narrow verge
#

nah, crappy premium plugins will stay behind

#

it'll just be mc-market 2

#

lol, all the api si already documented

#

you could legit be ready day one

#

well thats not api we have so of course it wont be documented

#

i mean good enough

#

do you search for "multipurpose plugin" or do you search for "essentials"

#

well the site will have it

#

but this is the api we're talkingabout

#

if you want to find a plugin, you go to the site, if you want to download it, you use the API

#

otherwise you just have mini hangars everywhere (what a coincidence)

worthy basalt
#

well since spigot doesnt even allow people to make new premium plugins of certain categories now, that compromises it as being a premium host too

narrow verge
#

yee it has to be in the "Premium" section

worthy basalt
#

no i mean that no one is allowed to make new anti cheats now on spigot

narrow verge
#

it is

worthy basalt
#

hey nothing wrong with 2008 forums 😛

#

mines older than spigots lol ._.

narrow verge
#

im gonna fork hangar and use it to release my ti-84 programs

mortal idol
#

no i mean that no one is allowed to make new anti cheats now on spigot
so THAT's why there are no good public anticheats

worthy basalt
#

dont need bland, need the job to get done clean

#

i was talking about premium little

narrow verge
#

premium can still be good and public, given it follows the LICENSE theyre supposed to follow :P

worthy basalt
#

they only allow free new anti cheats

mortal idol
#

i didnt mean "good and public" as "free" i meant "public" as like not custom-coded ones that are only used on 1-2 servers

worthy basalt
#

oh

narrow verge
#

spigot's main problem is they dont care if you violate license

cinder rain
#

@narrow verge if there's no way to find plugins without using the site then it's not worth integrating into anything, I might as well just scrape the frontend.

narrow verge
#

um hello? search?

cinder rain
#

categories, new, popular, etc

mortal idol
#

i dont understand

narrow verge
#

like i said, whats the point of just integrating hangar into your panel

#

people arent there to discover theyre there to install

cinder rain
#

the fact that they don't have to leave it, and I can tell you they absolutely are there to discover

mossy topaz
#

a ton of people use those panel plugin installers

#

it's kind of disappointing

narrow verge
#

i mean sure, but at that point what's thepoint of hangar having a front end if every panel is just gonna implement their own version of it lol

cinder rain
#

arguably there isn't much of one - just have it be a way for developers to upload their plugin and let the panels implement it how they please

mortal idol
#

I have been using panels and I would rather search/explore inside the panel than go to the website externally
imo not a big deal

barren shale
#

there already is api to get a list of projects in categories etc..

#

again, see pinned, it's all based off SpongeOre

cinder rain
#

I took a look and couldn't see that endpoint, but I'll check again

#

couldn't see a category list either

narrow verge
barren shale
#

like the very first entry in the projects dropdown

cinder rain
#

no I mean an API endpoint to get the categories list

narrow verge
#

Available values : admin_tools, chat, dev_tools, economy, gameplay, games, protection, role_playing, world_management, misc

#

are you saying an api to get those?
because i highly doubt those will change

barren shale
#

and as mini said, adding a basic query to get something like a list of categories is an absolute no-brainer, but we will worry about that kinda stuff after the MVP

narrow verge
#

yes

barren shale
#

developing hangar

narrow verge
#

smh

#

slashes are specific

cinder rain
#

this is what I have right now with SpiGet, but Spiget is really unreliable

narrow verge
#

"ChatControl???" lmao

cinder rain
#

it also knows if updates are available, etc

modest forge
#

???????????!

narrow verge
#

Nani???

cinder rain
#

this kinda thing is common

mortal idol
#

bro i thought that "spiget" just meant "spigot" in a bad way

cinder rain
#

the site scrapes the spigot plugins frontend, puts it in a database, exposes as an API

#

works fine here?

#

but the backend has some issues and frequently has bad downloads

#

or sometimes it'll return a file that's actually the HTML for a cloudflare challenge page WraithEyeroll

narrow verge
#

i remember seeing some api that worked through cloudflare walls, idk how reliably

cinder rain
#

AMP has some logic to fetch through cloudflare walls, but it depends on what mode is in effect

#

it can do the "hey is this a real browser that has javascript" challenge but of course not anything with a captcha in it

#

but yeah, my interest in Hangar is focused squarely on its API - using its frontend would require extra integration (embed in an iframe, hooks to tell the frontend when the user wants to install something, how to check if a plugin is already installed, etc)

narrow verge
#

ok nvm just tried the "some api" i talked about, got an error about "This website was blocked due to forums content" lmao

cinder rain
#

xD

narrow verge
#

reCaptcha
outdated

cinder rain
#

The solver never worked well on the captcha ones, just the "I am under attack" ones

#

which took you past 90% of the things I encountered

#

these days it can integrate with 2Captcha and AntiCaptcha as paid services

#

which is nutty

#

there was one plugin API that was ass-backwards stupid, when you did a search it just returned a list of plugin IDs, if you wanted the names you had to make an API call for each result to get the name...

narrow verge
#

i do the opposite with my api, it returns every single detail for every single object lol

cinder rain
#

aye I'd rather too much data than too little

narrow verge
#

getting memes? memes have authors, so each meme call always has the author objects lol

barren shale
cinder rain
#

just ignore luka

#

hes been banned from my discord more times than I can count

barren shale
#

lol

narrow verge
#

check :pins:

#

i worked very hard onthat faq

cinder rain
#

API question - is CORS enabled?

#

if not could it be so?

misty mountain
#

CORS will probably be decided on later on in development

cinder rain
#

it'd be handy, it mean I won't have to proxy the requests, and you'd get better metrics about the actual users

narrow verge
#

proxi 🥺 the requests

cinder rain
#

aye via AMPs backend

misty mountain
#

we'll see akkoShrug

#

if it isn't on release, you're always free to PR it

pallid yoke
#

Oh yeah, api should obviously have cors so you can use it in a browser

cinder rain
#

yup, being able to touch it directly from the browser would save a few steps

pallid yoke
#

Not sure if it does right now

#

But that's thankfully easy

#

Generally, stuff like this is part of the reason we rewrote ore from scratch. We have full control and ownership over the codebase and can implement basically anything

cinder rain
#

there's a bug in the API browser, it's trying to load requests over HTTP rather than HTTPS

pallid yoke
#

And since it's really popular tech, everybody can contribute

cinder rain
#

Mixed Content: The page at 'https://hangar-new.minidigger.me/api#/Projects/listProjects' was loaded over HTTPS, but requested an insecure resource 'http://hangar-new.minidigger.me/login?returnUrl=/api/v2/projects'. This request has been blocked; the content must be served over HTTPS.

pallid yoke
#

Urg, that's just swagger-ui not sure wtf they do

#

Oh wait, no, it's because it's asking you to auth

#

Theres a dum bug currently that if you have a open session, and we restart, that session is invalid on the server but not on the client

narrow verge
#

How does that work

#

Isn't a valid session based off of what client and server have

#

not independent?

pallid yoke
#

If the client would ask the servwr if the session is valid it would say no

#

But client doesn't do that for whatever reason, we haven't really touched client yet

narrow verge
#

Ah

worthy basalt
#

replace all http:// with https://

#

looks like a base url is set to http:// for login

pallid yoke
#

No clue where, I'll check when I actually have the project open

cinder rain
worn swallow
#

😳

narrow verge
cold ridge
#

When you click on paper droplist you just getting redirected to main page

random badger
#

yeah. you hover to show the dropdown

#

or if you are on mobile, try clicking on the drop down arrow. someone did report something similar I think on mobile

cold ridge
#

i do so

barren shale
#

on mobile it was an actual bug tho, drago fixed it already

random badger
#

well apparently not? the new builds have been deploying right?

cold ridge
#

and i am still getting redirected

barren shale
#

you can click anywhere on the dropdown icon on mobile and it will open the dropdown and only redirect on the second click

cold ridge
#

no

#

i click in it once

#

and getting redirected

barren shale
#

what's your phone

cold ridge
#

zte blade a6

barren shale
#

and what exact url did you open?

cold ridge
barren shale
#

that's the wrong url

pallid yoke
#

That's old

cold ridge
#

and new too

barren shale
#

you should take that down mini lol

pallid yoke
#

Hangar-new

#

I still use it for comparison ^^

cold ridge
#

i got redirected from new hangar to old

barren shale
#

kinda doubt that 👀

cold ridge
#

now im just getting redirected to main page

safe harbor
random badger
#

its working just fine for me. on mobile taping once brings up the dropdown list, and then taping again goes to the home page

cold ridge
#

omg it's working

#

im stupid

random badger
#

inb4 mini did a fix in the last minute

pallid yoke
#

Am innocent

cold ridge
#

no one is blaming you

random badger
#

that's the only one the fix is on

cold ridge
#

ive tried new hangar

#

its working fine

#

just thought i was on new hangar

random badger
#

ahh

cold ridge
#

and i remember that i put "new" to address

#

but i got redirected to old version

#

i think

narrow verge
#

whwt are we talking about?

#

the one bug on android?

cold ridge
#

damn, feel dumb

narrow verge
#

hangar mobile app when think_smart

odd grove
random badger
#

im not sure what you mean?

narrow verge
#

like

#

click to view previosu versions?

random badger
#

the versions aren't loading for me on that url

narrow verge
#

idk

#

unless thats an example idk

random badger
#

if mini would deploy my branch of hangarauth, we could actually have a pretty much fully functional system

narrow verge
#

dang gg

#

my vps is LXC so cant run docker

barren shale
#

(it's also the wrong url)

random badger
#

yeah, although if anything was changed there, so his same suggestion might still apply IF I understood what his suggestion was

cinder silo
#

inquiry: hangar wen

narrow verge
#

enquiry: check pins

random badger
#

hmm, whats the recommended way of dealing with circular dependency issues?

mossy topaz
#

refactor

random badger
#

yeah, I did to avoid having to use @ Lazy

random badger
#

the inline if?

narrow verge
#

oop was gonna move that to #general but yes

random badger
#

isnt it the ternary operator?

narrow verge
#

yes that

#

thx

random badger
#

but that was a bad example

#

cause you couldve just returned x > 10

#

rather than x > 10 ? true : false

narrow verge
#

yee, someone was telling me about it, apparently cs has their own term for it

ivory ingot
#

Yeah ternary operator or to keep is simpler shorthand if

obtuse orchid
#

i have never heard anyone call it anything else other than ternary

#

that's what it's called so if you want people to understand you you call it that lol

fluid stratus
#

In Java it is actually formally referred to as either "ternary conditional operator" or "conditional operator", yet not as "ternary operator".

modest forge
#

screw formality! all hail colloquialisms!

solemn whale
barren shale
#

almost all of the big guides I could find also call it ternary operator (as the short of ternary conditional)

fluid stratus
barren shale
#

I guess if even Java can't agree on that, we can agree on both ternary and conditional operator being good.. but not "shorthand if" lol

solemn whale
sly mason
#

oracle

#

java

#

expecting consistency

#

plz

ivory ingot
#

I guess if even Java can't agree on that, we can agree on both ternary and conditional operator being good.. but not "shorthand if" lol
@barren shale
https://www.w3schools.com/cpp/cpp_conditions_shorthand.asp

It's not the official name for that but everyone will know what you mean with it.
Saying to some noob: "Just use a ternary operator for that", doesn't mean the noob knows what he need to use. From the simplicity point of view with the term short-hand if-else everyone has a clue what could be meant with it.

sly mason
#

everyone has a clue

modest forge
pallid yoke
#

W3schools, reeee

narrow verge
#

Someone i worked with called it an integer based Boolean or whatever

fluid stratus
#

Integer-based boolean?

mossy topaz
#

I think they mean using 1 or 0 to represent a boolean

#

but truly it's confusing to say that

narrow verge
#

maybe thats what they call it in C# idk

untold idol
#

typically if you are referring to the number representation of bools people say bits

#

i think that's what sql calls them too

fluid stratus
#

Yeah

mossy topaz
#

the bit type in SQL is different from a boolean

#

i thought

untold idol
#

sql doesn't have bools

#

it has bit-type

mossy topaz
#

it does

untold idol
#

which are often converted to bools by the sql driver

mossy topaz
#

well, not all vendors have the boolean type

#

mysql also has the boolean literal/alias but not the data type

#

it's in the standard but is an optional feature

barren shale
#

@modest forge hangar wen

random badger
#

@modest forge runway* wen 🙂

modest forge
#

@barren shale hangar wen

narrow verge
#

@modest forge hangar whn

#

also check pins!!!! ! ! !snmh

barren shale
#

only we are allowed to do that chew, sorry

narrow verge
#

smhh

misty mountain
#

@barren shale hangar wen?

narrow verge
#

hangar wen (including this message) counter: 28

random badger
#

there are reason why the Login / User account info button is hidden on error pages?

#

like on a 404 for example, I think the login button should be there. Because sometimes the page 404s because you don't have access to that page (an unpublic version for example)

narrow verge
#

shouldnt that be a 401/403

random badger
#

well see, I wasn't sure it should

#

because then it proves it exists

#

rather than 404 means well... it could exist, but it might not

#

ore does 404s if the user doesn't have perms to see that project/version