#hangar-dev

1 messages Β· Page 12 of 1

devout nacelle
#

tailwindcss is cool

pallid yoke
#

It's not a component library tho

#

And tbh, i much rather have reusable classes than a bunch of what is basically inline style

random badger
#

hmmm. so typescript errors aren't showing up with the normal linting...

#

which means they aren't caught on commits. That needs to be fixed, or we will always end up having to double commit to fix any typescript errors we missed that cause the build process to fail

pallid yoke
#

Well, typescript errors also show up in serve output

random badger
#

idk why they aren't, eslint is extending the config nuxt says to if you are using typescript

#

yes they do, but that doesn't prevent you from committing/pushing the error

#

the pre-commit hook prevents you from committing linting errors but that doesnt cover the typescript ones apparently

#

I guess double commits to the master branch can kinda be avoided if we just do prs that require a successful build before merging, but thats kinda annoying for small fixes. It'd be good if that check was done on the developer side

misty mountain
#

be 100% PR-based tbh

#

for small fixes, just don't require an approving review

pallid yoke
#

Well, later, yes

#

But for now, it doesn't matter

#

It also doesn't matter if we push shit to master

random badger
#

is there a reason not to allow spaces in page names?

#

regex is ^[a-zA-Z0-9-_]{3,}$ currently

#

we do slugify the name for url stuff so...

random badger
#

dang ok, I'm pretty happy with the pages stuff

#

and did we decide that it should be...
author/projectSlug/versions/platform/versionname?

#

to avoid ugly numbers in the url?

pallid yoke
#

I don't remember, but let's go for that for now

pallid yoke
#

And yes, adding a space to the page name as you did is fine too

random badger
#

man, looking through at the version creation code... YIKES

#

I'll be glad to delete a lot of that πŸ™‚

#

from back when I was just trying to copy function for function from ore

pallid yoke
#

Yeah so was I

#

And like, it wasn't a bad option back then

#

But am also glad we redoing everything now, lol

random badger
#

yeah, nuxt-frontend turned into redo-everything

pallid yoke
#

Oh btw, I think we don't need to make internal api accessible to the outside

#

If I understood this correctly, pages are always rendered on the server

#

So in theory most internal api shouldn't be called from the browser

#

I guess it's only the actions, forgot about those

random badger
#

hmm I dont think that's the case.. I think its the first request that is ssr

#

cause I use the network tab to debug requests to all routes

#

but can just use cors to restrict it right?

pallid yoke
#

Oh yeah, sure

#

Maybe only for debug its different?

#

Idk

#

Doesn't really matter

random badger
#

dont think we need the CSP stuff now either

#

cause spring has nothing to do with the rendered content

pallid yoke
#

I took tomorrow of work, maybe I can finally be helpful on hangar again then

random badger
#

Ok, version creation, here I come

pallid yoke
#

oh you got ton of progress, way more than it looked like even from the commits, lol

#

I dont have much time today, but ama try to fix one issue I found

random badger
#

yeah, I tend to do big commits that are full of lots of random stuff when re-writing a project rather than feature based commits

pallid yoke
#

before and after

#

recursion is evil is you store the full slug

random badger
#

well wait, whats wrong w/that?

pallid yoke
#

level 1 and level 2 worked, afterthing below that added the full slug

random badger
#

that was my intention?

#

adding the full slug? makes it easier on the frontend to know what the full slug is

pallid yoke
#

check page test5

#

it is below Test2 test3 and test 4

#

but slug was "Test2/Test2/Test3/Test2/Test2/Test3/Test4/Test5"

#

because it was copying the full slug all the time

#

so slug of test2 + slug of test3 + slug of test 4 + slugified named of test5

#

when slug of test4 already contained slug of test 3 (which contains slug of test2)

#

I suck at explaining, lol

#

just try creating pages a couple of levels deep and you should see what I mean

#

the slug grew exponetially basically

random badger
#

OH

#

ok, I see what you mean

pallid yoke
#

(in my screenshot, first 4 rows are the broken behavior, last 4 rows are the fixed)

random badger
#

yeah, all it should do is tack on its slug to its parent cause its parent should already have all the rest

#

yeah, the recursion was operating under the (wrong) assumption that only its slug was stored in the table

pallid yoke
#

that was harder to explain than to fix, lmao

random badger
#

yeah, that stuff is always a pain to explain

pallid yoke
#

at least I was helpful today

random badger
#

now... how do we get the Docs tab to match /pages route....

#

it'd be nice if it was highlighted on child pages routes

#

maybe just have to do that manually tho

pallid yoke
#

Shouldn't it match on non exact stuff too?

#

Iirc exact defaults to false

random badger
#

yes, but its route is /author/slug/ not /author/slug/pages/parent/child

#

and we don't want it matching for /author/slug/versions

#

or /author/slug/settings

#

so the docs one kinda has to be exact

pallid yoke
#

Oh right

#

Yeah gotta set manually them

random badger
random badger
#

we also need to have change how the recommended version works, so projects can have one for each platform

#

atm, its just one recommended version per project

#

should be one per platform per project

#

maybe a new db table?
id - created_at - version_id - project_id - platform

#

unique constraint on project_id and platform

random badger
#

ah, the big SQUASH at the end of this is gonna be satisfying

#

also should go through and weed out some of the issues that might not apply now

pallid yoke
#

Yeah, the great cleanup will be at the end, and hopefully we can publicly call for testers then

#

And get a bunch of new issues (bugs and requests) then πŸ˜‚

#

I don't totally remember how recommended versions work right now, was that that strange json field? In that case, yes, i very much prefer a new table like you outlined

#

!!

#

Heh

random badger
#

Nah, it’s not json, it’s just one version id on the project table

random badger
#

I think the only json that’ll be left is project notes?

pallid yoke
#

Which we could move out too

pallid yoke
pallid yoke
#

prolly can clean it up

pallid yoke
#

cleaned it up a bit ^^

#

76 todos on frontend, 79 on backend

errant jacinth
#

Wait you’re switching to Nuxt? Smh

#

With TS at least? πŸ₯Ί

pallid yoke
#

Yes!

#

And while at it, doing some cleanup on the backend

#

Some technical dep we inherited from ore

errant jacinth
#

Oh is Nuxt frontend only?

#

Assumed it was like Next and did both

pallid yoke
#

It's like next

#

But we don't write the buisness logic in javascript

#

That's all spring

errant jacinth
#

Ohh like Nuxt handles serving the page but it uses the Spring API for data?

pallid yoke
#

So frontend, but mostly server rendered, which talks to spring backend for getting the data and doing actions

errant jacinth
#

Yeah makes sense

random badger
#

Yeah, it’s just way nicer to use vue to write the frontend than having to juggle vue and freemarker

pallid yoke
#

Added benefit of it being fast

#

Like, once we can get some caching into the backend, and I do a bit of seo magic, stuff will be amazing

random badger
#

god it feels so nice clicking around on the site w/no page loading times

#

insta-navigation

modest forge
#

hangar-new when

pallid yoke
#

Runaway wen?

modest forge
#

Runaway 1.5 years ago

#

][ halfβ€’alive’s music video for β€œRUNAWAY”

Debut album β€˜Now, Not Yet’ available now
Listen now: https://smarturl.it/nownotyet

find halfβ€’alive on…
Instagram: http://instagr.am/halfaliveco
Twitter: http://twitter.com/halfaliveco
Spotify: https://spoti.fi/2KsJpjE
Soundcloud: https://soundcloud.com/halfaliveco
Website: http://halfalive.co
YouTube...

β–Ά Play video
random badger
pallid yoke
#

Yeah

random badger
#

I'm wondering if there is a gh action that can create an issue that tracks all TODOs in the code

pallid yoke
#

Mmmg

#

I'll search

modest forge
random badger
#

that second one is just checkboxes in pr descriptions right?

modest forge
#

yeah nvm just read it

pallid yoke
#

Issue is also that all the actions only check stuff on commit

#

Idk, maybe I can steal some code

modest forge
#

I mean, if you don't commit anything, the TODOs won't go away, so does it really matter if they only update on commit?

random badger
#

well getting all the todos initially would be the trick there

pallid yoke
#

Ye

random badger
#

but idk if one issue per todo is a good thing... dont really want 150 new issues

modest forge
#

or do you

random badger
#

dont wanna turn into Paper πŸ™‚

pallid yoke
#

It's also not helpful

#

I'll write something later

#

That just scans the whole code

#

It's easy enough

random badger
#

πŸ‘

pallid yoke
#

First gonna cook smth tho

random badger
#

yeah, ok so there are 2 places where we store json in the db, project notes, and all the comments on a project version review

#

not sure what the best way to handle those are

#

(just a note, I don't think there was even a way with old or even ore to add project notes)

pallid yoke
#

there is

#

_author/_project/notes

random badger
#

ah ok

pallid yoke
#

ok, lets see how to do this todo scanning

random badger
#

I think we need to also set some standards when it comes to capitalization I think even now w/the rewrite some stuff in inconsistent regarding looking up projects by author & project slug

pallid yoke
#

I would say ignore capitalization for that stuff

random badger
#

so in all db queries, we should lower() all names?

#

when comparing

pallid yoke
#

I guess, ye

random badger
#

probably also need to look for .equals in the code then too and change to ignore case where appropriate

pallid yoke
#

ye

pallid yoke
#

easy part is done

#

(just ignore this regex)

#

<!--[ \t]*@?(?:todo|fixme):?[ \t]*([^\n]+)[ \t]*-->|(?:@|\/\/[ \t]*)?(?:todo|fixme):?[ \t]*([^\n]+)

#

now to look at what to with the result

#

am thinking, you configure an issue, it posts all the tasks into the OP, and a comment, where stuff that got removed is archived, which we could mark as offtopic

#

oh also I want this to create a comment on PRs, this PR will add X todos, remove Y todos

#

we prolly wanna rename todos a bit πŸ˜„

ivory ingot
#

RFC: "Not Todo List"

pallid yoke
#

"Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.kohsuke.github.GHRepository.getOwnerName()" because the return value of "org.kohsuke.github.GHIssue.getRepository()" is null"

#

shit api, smh

#

this is fun

runic rapids
#

πŸ›¬ going to hangar

pallid yoke
#

is there a way I could hide info in the markdown? πŸ€”

#

a comment works, nice

#

github is really not happy with me, lmao

#

when I press edit in the interface, I get some old content

pallid yoke
#

this is the stuff that would be written on a PR

#

(removed is so large because I made the script ignore some folders and didnt let it update the comment cause I dont wanna get IP banned :D)

pallid yoke
#

I wish the issue itself would display the number of open tasks

#

you can only see it when its referenced

#

oh and in the overview

#

and I guess it doesnt matter since I write summary anyways

random badger
#

ok, had a thought about maybe the platform can be the last part of the url path?

#

Machine_Maker/Maintenance/versions/3.0 then wouldn't 404, but show different platforms with that version string?

#

(or if it only had one, could show that version)

#

then you could do Machine_Maker/Maintenance/versions/3.0/paper or Machine_Maker/Maintenance/versions/3.0/waterfall

#

or even could do another v-tabs situation with the 3 platforms (or however many that version supported)

#

this would work for uber jars that support all 3 at once OR different jars that have the same version string

#

oh that reminds me... need to change where it stores the plugin jar. rn its in a folder named the version string, which isnt unique anymore

pallid yoke
#

Or we could do it a bit different again

#

Where in upload, you upload x jars for all platforms

#

And then it's basically one release (one version, one text) but multiple jar, but one page to download them all

#

@barren shale, since you have plugins on multiple platforms, do you have a need for unique change logs per platform or would being able to upload all jars at once be nicer?

barren shale
#

at once πŸ˜›

ivory ingot
#

If the changelog is markdown we can structure it ourselves to declare specialities.

pallid yoke
#

What do you think about this idea jake? I think it's nicer UX wise both for authors and users

random badger
#

So each version could be tied to more than one file?

#

Do we then go back and undo everything so version strings are still unique in the project_versions table? Or should you still be able to upload a version with the same string at a different time?

#

I have to think more about how that would work backend wise. And it’s 1am. So that doesn’t help

pallid yoke
#

I didn't think about the impl, just tried to approach it from a UX Pov

#

And yes, get some sleep

random badger
#

I think there are authors who would want to do separate stuff tho. Doesn’t leaving it as it is leave more control to them?

pallid yoke
#

Mmh

#

Maybe we can leave it distinct on the backed

#

And do a unified release process in frontend optionally

#

(which we would work on later)

#

But yeah, keeping it separate on backend allows for more flexibility, we can always solve this on the UI later

random badger
#

Yeah, I say on the backend, we keep it as one version db row has one file, but maybe later we allow the frontend to create 3 versions at once

pallid yoke
#

Yeah

random badger
#

I think regardless tho, we still should decide on how the version page layout should work
/_author/_slug/versions/_platform/_name OR /_author/_slug/versions/_name which has links to each platform, or just displays the one if there is only one

pallid yoke
#

I liked the tab idea

#

But i think i would use vertical tabs

random badger
#

sure, and thats /_author/_slug/versions/_name/?_platform

#

cause we can have the tabs linked to a url

pallid yoke
#

re: "why doesn't this work as a replace? It'd be good that this page wasn't saved in history" on linkout, history api requires same origin

random badger
#

So not possible then?

pallid yoke
#

no

random badger
#

now I'm second guessing what we are doing w/versions

#

should each version row in the db table correspond to a platform the plugin is compatible with?

#

its just if we are displaying each platform separately (even if its a uber jar) wouldnt that be easier?

pallid yoke
#

I am not sure am following

#

Oh and if my auth change broke stuff for hangar auth, just revert, having to reload when I use fake user is acceptable

#

Tbh I don't know how we store versions rn

random badger
#

Maaaaaaaybe should switch that to the nuxt-frontend branch?

pallid yoke
#

Or just disable for now, thought about that too, will look at it when am at my laptop

#

I played a bit around with a graph lib, since the admin pages have some graphs

#

Looking nice, will not be able to finish today tho, but tomorrow

sly mason
somber flicker
#

So dare I ask but are we any closer to Hangar going live?

#

I ask primarily because ....Spigot have just flaggeed anyone who uses Paperlib.suggestPaper() as advertising and removing the plugin from Spigot....

#

or you can update and remove it

misty mountain
#

read: spigot started enforcing their years old rules

somber flicker
#

...given its not actually advertising ...prism actually does work better with paper...

misty mountain
#

it is advertising under their rules, and has been for many years

#

hangar will be ready when its ready

somber flicker
#

maybe I should just change the wording......"You can use Spigot but numerous events wont be tracked. If you wish to track all events please use Paper."

soft hornet
somber flicker
#

@soft hornet they havent specified the punishment at this stage just said its a rule breach

ember ivy
#

imagine using spigot resources

modest bisonBOT
#

advertising in resources is banned ;)

#

and suggestPaper is clearly advertising

pallid yoke
#

We decided to rewrite the frontend of hangar and cleanup some backend stuff, but we are making fast progress

narrow verge
#

It's not advertising paper

#

It's suggesting paper

#

It's in the method name

misty mountain
#

please direct any and all rule discussion of spigotmc to phoenix's DMs on IRC :>

narrow verge
#

EsperNet!

soft hornet
#

ESPERNET!

modest bisonBOT
#

πŸ‘€

narrow verge
#

The best

modest forge
#

E S P E R N E T!

pallid yoke
modest bisonBOT
#

I don't like that the data is not taken all at the same time

pallid yoke
#

do I smell a contribution opportunity? πŸ˜„

#

its not coupled to the backend yet

modest bisonBOT
#

I have no Idea how hangar works, and quite honestly I do not want to know as long as it just works

pallid yoke
#

πŸ˜›

main lava
#

How are you going about the upcoming changes to ore?

#
In a change of policy, the Ore review system will be changed from the current approval-based system, to the Community Reporting System, whereby we will provide a mechanism for the community to flag content that may be malicious and/or violate the TOS. As part of this, we will be removing the click-through warning that currently exists on unverified downloads and replace it with a banner disclaimer.
Importantly, this change means that our community will have even more input on these matters and we hope that you will help others by flagging that may cause harm. The exact design of this system is still under consideration, but we will keep you informed as it develops.
In addition, development on Ore API v2 is proceeding, with a focus on ensuring stability of the new system.
pallid yoke
#

well, as usual, we have not agreed (or even really talked about) any policies, so we don't know if we wanna mandate approval before upload or react after a report

#

we don't want to be in a situation where we have large review queues, thats for sure

#

stuff like, only review first upload, then rely on reports, is also possible

main lava
#

Still It would be good to have a system in place to at least somewhat prevent bad jars.

pallid yoke
#

reporting is already implemented

main lava
#

Hm

pallid yoke
#

and yes, I kinda want to do a bit automated scanning

main lava
#

Obfuscation detection

pallid yoke
#

that too

#

I want to flag all obfuscated resources and put up a warning on download

#

because its inherently unsafe for users

main lava
#

Yeah I saw a very obfuscated one on spigot yesterday

modest bisonBOT
#

Maybe also detect any uses of force-op and changing other files

main lava
#

They made methods not readable for the decompiler

#

And I had to read bytecode

#

Maybe detect that stuff and encrypted strings

pallid yoke
#

and if that sucks too much, I would roll my own one ppl could contribute to

main lava
#

Yeah was about to say that

#

Contribute own checks for Bad jars

pallid yoke
#

it would also be extended when new reports come in

#

but, tbh, that is most likely out of scope for MVP

#

we need to get out the basic functionality in the hands of users first

main lava
#

For now flagging everything that can't be 100% decompiled would make sense.

pallid yoke
#

and then we can look into convince stuff like t

main lava
#

Hm ok

pallid yoke
#

I mean, doesn't mean we don't accept PRs for that rn, but I am personally looking to finish the UI first πŸ˜‚

modest bisonBOT
#

From my experience krakatau appears to be a good decompiler in that it's output is easily parseable, only issue is that it takes far longer (like 60x longer) to decompile anything compared to ForgeFlower and that the full classpath needs to be known beforehand in order for it to decompile fully

pallid yoke
#

no need to decompile tho

modest bisonBOT
#

yeah

pallid yoke
#

progress, wooo

ivory ingot
#

More progress when button alignment is done. πŸ™‚

pallid yoke
#

which buttons?

ivory ingot
#

Generate, Upload, Rename.

modest forge
#

Ctrl-F "setOp", done

ivory ingot
#

s/setOp/setBanned/ would be fun as well.

soft hornet
modest forge
#

Nah, on Hangar we're all living on the edge πŸ‘€

ivory ingot
#

And detect the java version and add a tag that the plugin is only compat with Java x and later.

pallid yoke
#

hangar will require plugins to be compiled with java 17, clearly

modest bisonBOT
#

Ouch, that means I have to get a 4th JVM

pallid yoke
#

why keep old versions?

modest bisonBOT
#

Modding non-minecraft java games

pallid yoke
#

thats not an explanation, as its backwards compatible?

modest bisonBOT
#

Well, libGDX has some issues when it comes to OpenJDK

#

Well, it's actually ld.so that is the one that creates the issue, but idk what really happens there

main lava
gritty iron
#

Found it

modest bisonBOT
gritty iron
#

Ended up finding it but thanks

#

I edited my message

modest bisonBOT
#

I see (or not, 'eh)

#

'eh? what are you one of those syrup drinkers now?

#

I kinda learned English from Canadians πŸ‘€

#

oh no

pallid yoke
#

Worth noteing that that is the old branch

#

Ye

fluid oyster
#

Pls unbork

pallid yoke
#

for some reason it seems like sass is broken?

pallid yoke
#

yeah I have really no idea

#
 ERROR  Invalid or unexpected token

  @import './tools/_index'
  ^

  SyntaxError: Invalid or unexpected token
  at new Script (vm.js:101:7)
  at createScript (vm.js:262:10)
  at Object.runInThisContext (vm.js:310:10)
  at wrapSafe (internal/modules/cjs/loader.js:967:15)
  at Module._compile (internal/modules/cjs/loader.js:1027:27)
  at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
  at Object.require.extensions.<computed> [as .js] (node_modules/ts-node/src/index.ts:1045:43)
  at Module.load (internal/modules/cjs/loader.js:928:32)
  at Function.Module._load (internal/modules/cjs/loader.js:769:14)
  at Module.require (internal/modules/cjs/loader.js:952:19)
#

nuxt docs say "In case you want to use sass make sure that you have installed sass and sass-loader packages. "

#

so I did that

#

no change

paper heart
#

what did you change?

#

also - i'll take a dig at approval versioning (pages/admin/versions.vue) in a few hours SmileW

pallid yoke
#

issue is, I dont remember the last time it did work

#

since it only breaks on yarn build && yarn start, not on yarn dev

#

and like, yarn start isnt throwing the error, only after the first request comes

#

and I dont keep logs of dead containers

#

so no way to tell when it last worked πŸ˜„

#

could be weeks

paper heart
#

i'll give it a shot on my machine see if it builds properly

#

yeah builds fine for me

#

maybe try clearing your node_modules @pallid yoke?

#

oh wait

pallid yoke
#

do yarn start and do a request

paper heart
#

no it doesnt πŸ˜„

#

package.json doesnt seem to contain sass or sass-loader

#

maybe manually adding those would get us working?

#

that just broke vuetify even more

pallid yoke
#

I have that locally

paper heart
#

what ver?

pallid yoke
paper heart
#

hmmm

#

yeah sass loader 11 and vue dont mix rn

#

could it be jest causing the issue?

pallid yoke
#

we dont do tests

#

pfff

paper heart
#

mind jest doesnt seem to be in the new frontend

#

πŸ˜„

#

the stacktrace is really useful

pallid yoke
#

well, it shows that sass isnt working

#

that line is from vuetify main.sass

paper heart
#

why is webpack a dependency?

#

nuxt bundles with webpack

pallid yoke
#

🀷

#

to pin it I guess? idk

random badger
#

I may have added that to make it shut up about peer dependencies

paper heart
#

removing it didnt fix anything, so meh

pallid yoke
#

I know that I downgraded it to 4 from 5.16

paper heart
#

seems to be quite a niche issue though, as any similar issue i could find seems to be related to jest which isnt being used on the new nuxt project

pallid yoke
#

at least thats what git blame says

paper heart
#

Is there a list of phrases, or a way to generate phrases?

#

ah, clocked the typescript file

mellow pebble
modest bisonBOT
#

underReview and notStarted are List<ReviewQueueEntry>

#

so just create a new interface for that class somewhere and hardcode some dummy values in the page

pallid yoke
#

@paper heart

paper heart
#

cheers

deft drift
#
 ERROR  Failed to compile with 1 error                                                                        1:39:11 AM

This dependency was not found:

* @johmun/vue-tags-input/vue-tags-input/publish in ./node_modules/cache-loader/dist/cjs.js??ref--10-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/entrypoints/projects/ProjectSettings.vue?vue&type=script&lang=js

To install it, you can run: npm install --save @johmun/vue-tags-input/vue-tags-input/publish
Webpack Bundle Analyzer is started at http://127.0.0.1:8888
Use Ctrl+C to close it
^C

❯ yarn add @johmun/vue-tags-input/vue-tags-input/publish
yarn add v1.22.10
[1/4] Resolving packages...
error Couldn't find package "@johmun/vue-tags-input/vue-tags-input/publish" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Sadge

deft drift
#

ok cat informed me that the active branch is nuxt-frontend

#

so im trying that now

#

k seems to load except for the avatar bork, idk if that's a setup issue or bug

Error occurred while trying to proxy request /avatar/paper?size=120x120 from localhost:3000 to http://localhost:8000 (ECONNREFUSED)

#

sorry irc, lmao

modest bisonBOT
#

?

deft drift
#

sent 2 msgs by accident

modest bisonBOT
#

No real issue

deft drift
#

where is this channel linked, not on esper with the rest?

modest bisonBOT
#

Correct.

#

there

#

didnt have the -dev prefix

#

suffix

#

fuck im out of it tonight

pallid yoke
#

Avatar bork.is ok, that's normally if you don't run auth

#

Idk about that yarn error

leaden lily
#

RE: the latest commit. If you set the fallback to an external source, won't it have to reach out to it for each one that needs a fallback? Couldn't you just inline it into the static directory or something?

pallid yoke
#

thats not prod code, there is never a fallback necessary as hangarauth handles that, but am too lazy to start hangar auth locally

#

also, no, your browser is smart and caches stuff

leaden lily
#

Ahh

#

I meant in general in case it was ever to go down

pallid yoke
#

yeah thats not why I added it

#

and like, you will hopefully still have most images cached, or cloudflare will

random badger
#

oh mini, did you figure out that spring security issue?

pallid yoke
#

yeah, made smth optional

#

check commit

random badger
#

oh ya ok. maybe a better solution would be to have a getGlobalPermissions method that returned the default globals if no principal existed?

#

I feel like that might be useful other places as well

pallid yoke
#

ah yeah

random badger
#

hmm Mini, I'm thinking we just need to add a separate method for checking each permission since we can't use typescript enums the vue templates themselves

#

making a bunch of redundant get canEdit, get canDelete which is kinda annoying

#

would be very nice if we could do $util.hasPerms(NamedPermission.DELETE_VERSION) inside a v-if but I don't think that'll work

pallid yoke
#

Yeah main reason i didn't implement all the perm checks is that u couldn't figure out a nice way

pallid yoke
#

Yeah i saw that

#

Maybe I'll just add a env var for lazy ppl like me

random badger
#

Took me a solid 15 minutes to realize/remember that it was broken for me when I tried to use hangar yesterday

pallid yoke
#

Am sorry :/

sly mason
modest bisonBOT
#

Putting that on full Volume wasn't the wisest of all ideas

pallid yoke
#

Gotta post the motivational shia before i go to bed, smh

sly mason
#

maybe that's not it

deft drift
#

.remind -d -w 126975485493248000 13h 819330968883953704

#

idk its bork

#

also not sure what happened to that link but ok discord

errant jacinth
#

Also means it works properly with vue etc

random badger
#

Yeah, I only realized you could do that yesterday. Way nicer for some routes I think.

random badger
#

damn... I love Vue

random badger
#

I see this

pallid yoke
#

It's kinda broken

#

I also haven't looked at code when I wrote the UI

random badger
#

well how should the reviews work then?

#

cause I'm working on it rn

pallid yoke
#

But basically, i expect the list down there to have stuff like started review, stopped, approved, approved partial, and "user added a message: something here seems fishy"

#

Like, notes

#

Message might be a dum teen

#

Term

random badger
#

I think the way its setup, is that only the person who started the review can comment until they stop or approve

pallid yoke
#

I guess that makes sense, don't want ppl to duplicate work

#

So like, I start review, I see something I don't understand, I add message, I stop review, it goes back to the queue again and somebody else can look and sees my note

random badger
#

hmm ok. sounds good

pallid yoke
#

I don't exactly know how ore does it, but that seems like a sane flow to me

random badger
#

btw, I tacked the version dependency stuff finally. I had kinda been dreading do all that, but it should be all working, including editing platform versions and plugin dependencies after the version has already been created.

#

oh, do we wanna mess with the JSONB column of the project version review table?

#

basically as far as I can tell, each review is one row so all the messages from the user and stored in the JSONB column

#

could add a new table, project_version_review_messages table

pallid yoke
#

I really don't mind much, whatever works best I guess. A table might be easier to work with?

#

And yeah, I did fly thru the commit earlier, saw the perm stuff, gotta remember that that's now easy so i don't need to skip it anymore ^^

random badger
#

table is def easier to work with

pallid yoke
#

That's what I thought, let's just go with that then

sly thunder
#

Is there a roadmap somewhere of stuff that needs to be fixed?

pallid yoke
#

Most stuff is handled with Todo comments

#

The easiest to pick up are todos like "implement XYZPage", there we need the whole layout

sly thunder
#

gotcha

sly thunder
#

im probably being stupid again but i cant get the postgres server running i'm in the docker/db folder but when i run docker-compose up its complaining about hangar auth? I thought i didnt need that?

#

hmm doesnt work from the docker folder using the root docker-compose.yml either

#

ah yes, smoll brain strikes again, got it working now

pallid yoke
#

I only run the dev db compose file, you can tell it to use a special file with -f

#

But IJ also has clicky stuff to make it wasy

sly thunder
#

yeah thats how i got it working

#

well it works, but its not having a good time

#

its not loading any resources

pallid yoke
#

Have you yarn run dev or whatever?

#

You need db, spring and fronted

#

I do db in docker and rest in IJ

#

I think MM does everything in docker

sly thunder
#

ah yes good old yarn

#

i keep forgetting that stuff has to run too

pallid yoke
#

Remember, frontend here also renders all html on the server

sly thunder
#

render as in building the page and sending it to the client you mean?

#
Failed to compile.

./src/components/entrypoints/projects/ProjectSettings.vue?vue&type=script&lang=js (./node_modules/cache-loader/dist/cjs.js??ref--10-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader-v16/dist??ref--0-1!./src/components/entrypoints/projects/ProjectSettings.vue?vue&type=script&lang=js)
Module not found: Error: Can't resolve '@johmun/vue-tags-input/vue-tags-input/publish' in 'C:\Users\Joshua\Documents\Projects\Hangar\src\main\frontend\src\components\entrypoints\projects'

i ran yarn install and then yarn run serve

pallid yoke
#

Mmh

#

No clue, can check in a few

sly thunder
#

ok

pallid yoke
#

Wait

#

Wrong branch

sly thunder
#

ah

pallid yoke
#

Use nuxt branch, frontend is now in root

sly thunder
#

hm, how do i get that to run? yarn run serve doesnt seem to work in Hangar/frontend

#

install worked fine tho

pallid yoke
#

Maybe it's yarn dev?

#

Check the package.json

#

That's where those commands come from

sly thunder
#

ah ok

#

sorry i'm new to all these fancy tools

pallid yoke
#

So am I ^^

sly thunder
#

god this takes so long to build

pallid yoke
#

Make sure you got a empty db

#

If in doubt, drop and recreate the public schema

sly thunder
#

if i delete the docker container all data should be removed right?

woven ridge
#

if you didn't mount anything, yes

sly thunder
#

idk man, im just pressing green play buttons

woven ridge
#

don't really remember how desktop has that set up

sly thunder
#

this would imply its all gone right?

#

but it still tries to migrate for some reason

woven ridge
#

sounds like it

#

but on the other screen there is a section for volumes/mounts, if nothing is there than yes

sly thunder
#

it just comes back

#

Β―_(ツ)_/Β―

#

and when i try to run it i get: Failed to deploy 'Compose: docker': Sorry but parent: com.intellij.execution.impl.ConsoleViewImpl[,0,0,1275x227,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] has already been disposed (see the cause for stacktrace) so the child: com.intellij.util.Alarm@4a213a01 will never be disposed

woven ridge
#

oh i got no idea about how intellij works with docker

sly thunder
#

and then boom, magic

#

its back

pallid yoke
#

Inteloij docker is still sketch

#

Docker stores data in volumes

#

So if you wanna nuke data, gotta nuke that

#

Or login and delete the schema

woven ridge
#

if you just want to start fresh you can just do

docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) && docker volume rm $(docker volume ls -q)
#

or something like that, haven't tried it

sly thunder
#

yeah i tried that

#

it complained about a parameter

#

and died

woven ridge
#

odd, looks correct to me

#

can't really test it though

sly thunder
woven ridge
#

windows docker might be different somehow Β―_(ツ)_/Β―

#

because that's for sure a thing

#

just shows stopped containers

sly thunder
#

... i deleted the container, removed the volume and its still bitching about migrations

pallid yoke
#

Well, use IJ to login into the db and see

#

Maybe jake broke the migration yesterday πŸ€”

sly thunder
#

i managed to get it deleted

#

straight to the next error

#

[Template Error] The following has evaluated to null or missing: ==> config.useWebpack [in template "utils/hangar.ftlh" at line 6, column 10]

pallid yoke
#

Why is that still freemarker πŸ€”

#

You sure you on nuxt branch?

#

Oh most likely you accessed it from the wrong port

#

Try the port nuxt tells you in frontend CLI

sly thunder
#

well thats what it says at least

pallid yoke
#

Yeah you most likely just used port 8080 in browser

#

Not 3000 (?), The frontend one

sly thunder
#

yeah makes sense, it didnt work earlier on 3000 cuz the spring app wasnt running yet

#

seems to work now

#

well that was a process...

pallid yoke
#

Isn't technology fun? πŸ˜‚

#

If you want, i guess a good way to contribute, and to make it easier for the next ones, is to write what you just learned down. For me and Jake that's hard, because we are so used to all the quirks, from this projects and others, so it's hard to notice when stuff isn't obvious

sly thunder
#

yeah i suppose i could do that

#

should i just put the entire process on the root readme?

pallid yoke
#

If that's where you would expect it, sure!

#

It it's too long, might be worth expanding it into a contributing.md, but always can do that later

#

I guess the readme in frontend is usless anyways, can just nuke that

sly thunder
#

yeah its a bit on an odd place

pallid yoke
#

It's auto generated

sly thunder
#

oh

#

@pallid yoke so what would be the proper docker command to run the db? (i just pressed the play button)

pallid yoke
#

I do that too

#

But I guess docker-compose up -f dev-db.yml -d

#

Or smth

sly thunder
#

what does the -d stand for?

pallid yoke
#

Start in background iirc

sly thunder
#

ah

pallid yoke
#

Demon

sly thunder
#

this is what i have so far

pallid yoke
#

Sounds good!

random badger
#

Ded, did you get it working in the end?

sly thunder
random badger
#

Ok good.

#

You Can pr that read me if you want

sly thunder
#

alright, will do

pallid yoke
#

I can't review tonight, can get to it tomorrow if nobody else merged till then

sly thunder
#

Sure. It's not like it's a big deal hah

random badger
#

for version reviews (this is for moderation of versions) would you expect the oldest review to be at the top or bottom of the list?

narrow verge
#

context

#

like oldest pending or

random badger
#

so right now, the newest is at the bottom.

#

there is an option to hide stopped reviews so only the latest unfinished one is shown

obtuse orchid
#

most recent first makes sense to me

random badger
#

but then it might get kinda long where you have to scroll all the way down to get to the newest stuff

narrow verge
#

What is that list

#

like activity log?

random badger
#

reviews for a version

narrow verge
#

like approvals?

random badger
#

yes

obtuse orchid
#

oh well if its a thread then prob the other way around

#

i thought you meant like user reviews for a specific version

narrow verge
#

Oldest unresolved should be top

random badger
#

no no, not user reviews

narrow verge
#

dont think were doing user reviews even

random badger
#

no. well there's a forum thread attached to your project if you want it

#

and people can talk about it there

obtuse orchid
#

ya idk im just randomly stopping by this channel lol

random badger
#

k, so I'm changing the functionality of the version approval system a bit
before, only 1 review could be ongoing by a moderator
now, each moderator can start their own review and either stop, approve, or partially approve
then they can go back and re-open their own review.

#

no more "takeover" the review from someone else cause you can just start your own at the same time

narrow verge
#

no sniping reviews?

pallid yoke
#

The most important thing is others being able to see the messages i guess

#

I don't particularly care about the order, in 99% of cases the list will not have more than like 5 entries anyways

random badger
#

It’s possible I spent entirely too long on the review page...

pallid yoke
#

its possible be spend too much time on a lot of things πŸ˜„

#

but it will be all worth in the end

random badger
#

I think it looks pretty πŸ”₯

#

Reactivity just makes it soooo easy to have stuff just work

pallid yoke
#

yeah

#

and then we just need to have a design and boom

pallid yoke
#

oh review is looking hella fancy

pallid yoke
#

oh man am too dum for sql

#

SQL method returns primitive long, but statement returned no results

#

this makes no sense

#

ah got it

random badger
pallid yoke
#

mmmh the perm util doesnt seem to work for project perms

#

:can-edit="$perms.canManageSubjectMembers" results in false

#

even tho am owner in that project

#

I like how almost everything on project page is down, but the download link πŸ˜‚

#

cause who needs that

random badger
#

Hmm. Is it checking the right permission?

pallid yoke
#

found it

#

I had canEdit: Boolean = false;

#

cause I thought that would work

#

as a default

#

but vue sets the prop and the false then mutates it again

pallid yoke
#

does async data work on layouts?

random badger
#

hmm. I guess its a "page"

pallid yoke
#

it doesnt seem t work

random badger
#

oh, you should probably use the nuxtServerInit store action instead

#

that's where a lot of global stuff is fetched

pallid yoke
#

fetch works

random badger
#

what are you getting in layout?

pallid yoke
#

announcement

random badger
#

hmm, fetch isnt blocking when loading from client-side tho, that gonna be an issue?

pallid yoke
#

well, am trying at least

#

clearly spring thinks otherwise

#

lets see

#

ok its called both on client and server?

#

I dont get it, lol

#

on page load I can see it in html, then it vanishes

#

ok now it stays

#

and its only executed on the server

#

I just looked wrong, nuxt sends server log to client too

random badger
#

yes, that's relatively new. threw me off when I first saw it too

#

I was like.. why is it logging in both places

pallid yoke
#

its easier to have everything in one place

#

and its marked as SSR log

#

I like it

#

just need to look properly πŸ˜„

#

I only partially approved the project

#

thats worth to show, right?

#

heh to approve full after partial, you gotta undo and then approve again

#

anyways, works

#

I kinda also want to have push notifications

#

but that will have to wait, lol

#

heh, going thru old issues

#

"I mostly was speaking about colors, I don't think its practical to switch away from bootstrap, we use quite a few of its features"

#

haha

random badger
#

I have no clue how push notifications work on a web app

pallid yoke
#

neither do I but I know where to look

#

gotta use a service worker for that iirc and stuff

#

my irc client does that, I looked at the code before

random badger
#

oo, just realized, cause there can be multiple reviews, should it only notify users that the version has been reviewed if a review was approved while no others are open?

pallid yoke
#

Re: the stargazers stuff, should we just move that to internal then? Is there a use in having that public?

random badger
#

I think it originally was public api

pallid yoke
#

Mmmh

#

I didn't do that join because the query was already so big

#

But meh i guess if these queries become an issue in the future we can just cache both in spring and in CloudFlare

random badger
#

It’s not a big thing to add it right? It’s just a 1 line subquery?

pallid yoke
pallid yoke
#

Lmao dependabot

#

I changed the default branch and now it's not happy

#

Guess we can exclude the frontwnd old

pallid yoke
#

oh I see why deployment is failing, I did a docker update or smth and it no longer exposes the socket, lol

#

thats rather sad cause that means I need to restart docker which means downtime

#

urg

#

gotta do that tonight I guess

#

but doesnt matter since nuxt start still is broken

pallid yoke
#

ok, I tracked down a nuxt discord, time to see if they know what is wrong

random badger
#

I’ve tried asking for help in the nuxt discord... it’s never done anything for me.

#

Mainly, it’s a lot of people asking questions it seems.

pallid yoke
#

yeeee

#

I am facing some weird issues with a query you wrote for getUserWatchingCount

#

the query looks fine

#

I get this Undefined attribute for token '<endif>' [statement:"null", arguments:{positional:{0:paper}, named:{user:paper}, finder:[]}]

random badger
#

The one already committed?

pallid yoke
#

ye

random badger
#

Oh, it’s missing the @UseStringTemlate annotation thing

#

When you use the <if()> stuff, you need that annotation on the query

pallid yoke
#

uufff

#

thanks didnt see that

#

its late...

#

hwo was that named route thingy thing again?

random badger
#

It’s just the folder/file name separated by hyphens

#

So like β€œauthor-slug-versions”

pallid yoke
#

do you remmeber where you used that?

random badger
#

Hmm not off the top of my head. Search the project for β€œauthor-slug-versions”

pallid yoke
#

:to="{ name: author-slug-versions-version-platform, params: { ...$route.params, platform: version.toLowerCase() } }"

#

ah

random badger
#

Yep

#

We can custom name routes if we wanted to make that easier...

#

Right now nuxt just generates them automatically

pallid yoke
#

wonderful

#

I implemented the api keys as a page again

#

I think its too big for a modal

random badger
#

Hmm ya ok

pallid yoke
#

unless you got an idea on how to compact that?

#

I thought about making two, for new and for managing existing

#

but its easier this way

#

enough for today

#

slowly but surely we are getting stuff done

random badger
#

Well you can probably make those checkboxes shorter in height. Add the β€œdense” and β€œhide-details” props to v-checkbox

pallid yoke
#

kek I tried to make stuff denser but didnt see props I think

#

so I wrote css

#

move the text field top because that makes more sense

#
.v-input--checkbox {
    margin-top: 0;
}

is still needed tho

random badger
#

Yeah, I know I still added some css after the props

random badger
#

Speaking of checking boxes on a version... should probably change up the version table to have a bitset of β€œflags” for stuff like that.

#

That way we don’t have to keep changing the db table in the future

#

A couple of the Booleans on that table can be converted to that as well

pallid yoke
#

Yeah i had for usecases for that, cause they also should be used for filtering, be displayed as badges etc

random badger
#

Yep

pallid yoke
#

Opensource, obfuscated, "reputable"?, Antivirus flagged?

random badger
#

Well, open source might be more project-level

pallid yoke
#

Same with reputable

random badger
#

Same w/reputable. But yeah, can have flags on project as wel

#

For open source, should we have a preset list of hosts (GitHub, bitbucket, etc) that give your project the open source badge?

#

Idk what a good way to verify that would be

pallid yoke
#

Meh, we can just make that work with the source link, if you enter smth you get the badge, if you get caught cheating you get the boot

#

Cause a few ppl use their own git hosting

#

Oh and we have the licence thing anyways

#

If it's MIT it's open source, no?

random badger
#

Mm ya

misty mountain
#

you'll have to take the decision whether FSF, OSI, or either are most important (which I know will be controversial among certain people), but otherwise a good list; other large projects like Rust's crates.io use it too

pallid yoke
#

Licence is a drop-down already

#

And then there's custom

misty mountain
#

as long as that means jroy can use his beloved Giant Penis License peepo

modest forge
#

πŸ‘€

pallid yoke
#

oh shit proxi discovered our bad hangar code

modest bisonBOT
#

no good

misty mountain
#

A lot better than what I deal with daily sweating

#

though I do have a longer monitor at work, so some of this wouldn't go noticed :p

pallid yoke
#

well, thanks for looking at it

#

the more eyes on the code the better

#

I dont claim to know wtf am doing here πŸ˜„

misty mountain
#

found a 1020 character line

#

mini plox

pallid yoke
#

lol where

misty mountain
#

VersionApiController L48

pallid yoke
#

oh thats generated code

#

and in controller old

#

all packages with old in the name are deprecated

misty mountain
#

wai it exist

pallid yoke
#

it was generated via swagger

#

from ores api definition

misty mountain
#

ic

pallid yoke
#

we trying to get rid of all of that with the nuxt rewrite

misty mountain
#

mfw // TODO flash from Jake

#

who knows whom he wants to flash

pallid yoke
#

flash was the term ore uses for alerts I thinkl

misty mountain
#

I see

pallid yoke
#

if you wanna do some real work, you can look at getUserWatching/getUserStarred and implement a getUserOrganizations, that returns a list of the orgs that user has πŸ˜„

misty mountain
#

HangarException for removal with 67 usages >.>

#

sure ^^

pallid yoke
#

thats a todo in frontend

#

AuthorPage line 74

#

the sql query kinda shoudl exist somewhere in the old code too

#

SELECT o.id, o.created_at, o.name, o.owner_id, o.user_id FROM organization_members om JOIN organizations o ON om.organization_id = o.id WHERE om.user_id = :id

#

altho you prolly wanna join users so you can do where user.name

random badger
#

Erm... don’t really need to make changes to stuff in any package with β€œold” in it right?

#

That stuff isn’t used anywhere (or shouldn’t be)

pallid yoke
#

yeah that why I explained

random badger
#

Oh ok. I just looked at the commits

pallid yoke
#

oh the PR was on old code

#

lmao

#

didnt notice

misty mountain
#

😠 delete old code

pallid yoke
#

sorry proxi that was wasted effort

misty mountain
#

wtf wtf wtf

random badger
#

It’ll be deleted when it’s replaced

#

Fully

pallid yoke
#

some stuff is still referenced

#

its a mess

#

we cleaning it up, slowly but surely

random badger
#

Yeah, basically, don’t touch anything with β€œold” it it’s package name

pallid yoke
#

but until then its not worth deleting small stuff, and we can easier use it for reference

misty mountain
#

grinchunamused mini does constants in UpperPascalCase

#

rewriting hangar brb .

pallid yoke
#

maybe in js code?

#

idk

misty mountain
#

in java

pallid yoke
#

I cannot guarantee that is wasnt drunk when writing parts or everything of hangar

#

but I do have sonar lint, that yells at that normally?

misty mountain
#

no, it doesn't

pallid yoke
#

mmh

#

guess thats our work config then

#

I have it synced at work with our sonarqube

misty mountain
#

we moved from qube to cloud :p

barren shale
#

the bbcodeconverter still in an old package smh irritatered

misty mountain
#

good .

modest bisonBOT
#

but the bbcodes!

random badger
#

Ya, it’ll prob get moved over. Unless proxi decides to rewrite it or smth... πŸ™‚

pallid yoke
#

its also not implemented in the new frontend yet

#

thats when we would mvoe it over I guess

spiral current
#

oh wow that's cool

pallid yoke
#

it even has a small thingy in the bottom right of a page if a hot reload is happening

random badger
#

mmkay, found a commit where yarn build/start and making a request works

spiral current
#

so the commit after that broke it?

pallid yoke
#

thats not too old

random badger
pallid yoke
#

~15 commits in between

random badger
#

git bisect... here we come

spiral current
random badger
#

is that it?

pallid yoke
#

its compare between the two

spiral current
#

yep

random badger
#

ya, could do it that way too

pallid yoke
#

css: ['~/assets/main.scss'], is new, together with main.scss

#

but has no vuetify at that point

random badger
#

are you sure its vuetify?

pallid yoke
#

the code is from vuetify

random badger
#

I didnt see anything about it in the stack trace of the error

pallid yoke
#

I looked at it before

#

its scss code from vuetify and smth is reading it as js

#

while you guys look at that, lemme restart docker so we can deploy again, lmao

#

urg ppl online on my teamspeaks

random badger
#

narrowing in on the issue

pallid yoke
#

maybe I should just rewrite my stuff to not use an exposed docker host anymore but just ssh

random badger
#

good: 4ca8d85b7254c146de266e0bdb1302c35189b821
bad: 2f936baf6bcbf5c47b7332c8f779f70814171375

spiral current
#

moment

pallid yoke
spiral current
#

ah, thanks

pallid yoke
#

mmmh

#

we moved colorUtils stuff from a component to a plugin

random badger
#

oh, that's gonna be it

pallid yoke
#

trying

random badger
#

that has smth to do with vuetify

leaden lily
#

Might have found something.

random badger
#

just finished the binary search

pallid yoke
#

holy fuck that was it

#

works now

spiral current
#

awesome

#

see, i helped by bugging you smart guys to look at the issue πŸ˜›

random badger
#

did it work if you didnt move it out into its own plugin file?

#

I guess it did, cause that was the commit that stopped it working

#

I don't understand why that would be... but πŸ€·β€β™‚οΈ

pallid yoke
#

so we cant use vuetify stuff in a plugin

leaden lily
#

That's so weird.

pallid yoke
#

or we just steal their code

#

idk

random badger
#

its useful code for sure I think, to dynamically change background color

leaden lily
#

Is it safe to push that commit so I can pull that?

spiral current
#

a question - i suppose I need to have hangarauth running in order to log in as the fake user?

pallid yoke
#

no

#

press login and refresh manually

#

ill commit my stubs for now and whenever somebody has time they can look at it

leaden lily
#

Oop. Just did a package update and now it won't compile anymore. Apparently we aren't on the latest version on Nuxt atm that had a set of changes so we'd have to modify our shit to make it compatible again.

random badger
#

yeah, I had that happen when I tried to update nuxt as well

#

will have to look into that

#

should look into that before too long tho, useful to stay on latest version as long as its not changing to vue 3. probably wont update to that for a while. vuetify for vue 3 just went into alpha, so itll be a while before all our stuff is compatible to update to vue 3

leaden lily
#

It looks to stem from the nuxt-il8n package. Looking into that right now.

random badger
#

well, there's something that the latest nuxt version has typescript compilation bundled with it now as well, so no need for the nuxt-ts command as well

leaden lily
#

Yeah that too.

pallid yoke
#

I remember having issues with that lib before

spiral current
#

btw fix is verified workingℒ️

#

L143 in frontend\pages\notifications.vue has a spelling error - should be "Couldn't update invite"

random badger
#

well... it really should be not there

pallid yoke
#

why are there messages in code?

#

yeah

#

πŸ˜„

random badger
#

notifications was like the first page we did after home I think, prob before i18n

spiral current
#

well, it is used

pallid yoke
#

oh its just error log

spiral current
pallid yoke
#

oh its displayed to user

spiral current
#

yep

leaden lily
#

Okay so I've tracked down that new error on the updated stuff and it's just upset about how we and creating our config option. Working on making a fix.

pallid yoke
#

yeah that needs i18n

random badger
#

well, itll have it on the server end I think

#

I just replaced it with this.$util.handleRequestError

leaden lily
#

Oh Machine I wonder if you have to update this. It looks like it's directing to your fork of it fixing a memory leak?

pallid yoke
#

thats where I stopped too last time πŸ˜‚

leaden lily
#

The error is stemming from vueI18nLoader: true

#

If you set it to false, it works no errors.

random badger
#

but apparently the right fix requires some big changes to nuxt itself

#

the mem leak issue isn't a problem for production, only for dev with reloading on changes

leaden lily
#

Okay so then I should be good to change this to use the real one?

random badger
#

I don't think its been fixed? maybe I can just rebase my fix on the latest nuxt i18n version?

leaden lily
#

That would be appreciated if you could do that so I could test this

random badger
#

mmhmm, will do

leaden lily
#

Thanks. Lmk when that's deployed so I can pull it and test.

random badger
#

ok, branch is updated @leaden lily

leaden lily
#

Alrighty. Let me try to upgrade that package.

random badger
#

we can just copy the code vuetify uses for those functions right? vuetify is MIT licensed

leaden lily
#

Hmm, I'm getting 504 errors when I try to view the page via yarn build.

#

But, I did get it to compile with updated dependencies.

random badger
#

probably because you need to have the server backend running

leaden lily
#

Well Mini said I could get it to run without a backend think

pallid yoke
#

no

#

I said you can repro the error without backend πŸ˜„

leaden lily
#

o

#

Whelp, it works so you guys should be able to update nuxt now.

random badger
#

I mean... if you get it to compile, you can prob just pr the updates and be fine

#

no major breaking changes anywhere afaik, was just complicated because nuxt-i18n is pointing to my branch

#

should probably figure out a way to have some page show up without the server running

leaden lily
#

The only thing I don't think I can test is the removal of the typescript-runtime package because I can't load pages πŸ˜›

#

Well, lemme try.

random badger
#

k, well error page will show now

#

was just missing catching an api request on the home page

spiral current
#

are project approvals implemented on the backend?

random badger
#

version approvals are. I don't think project ones are yet

spiral current
#

i could try to impl the frontend

random badger
#

that takes place when you try to change the visibility of the project on the settings page iirc

#

ik mini started the settings page, but idk how far he got

pallid yoke
#

dont think it has backend

#

I did frontend

random badger
#

like I think the way it worked, was a mod/admin could change the project visibility and if they changed it to need-changes, you'd have to give a reason why

#

(doesnt have to work the same as before, to be clear)

spiral current
#

and version approvals are?

random badger
#

yes.

leaden lily
#

Alrighty. PR opened.

random badger
#

only 1 tiny part is

#

Glare, I get this when I try to run yarn dev

#

I installed packages after checkout out your branch

leaden lily
#

Hmm, I think I saw that too. Happened when I updated nuxt.

#

Cause I don't natively see that package in our package.json

random badger
#

@typescript-eslint is probably required by @nuxtjs/eslint-config-typescript

leaden lily
#

I could try downgrading typescript itself back to the version below 4.2.0?

#

4.1.3 looks to be it

random badger
#

yeah, hopefully a package doesn't require > 4.2.0 then

leaden lily
#

We'll find out

#

Oh I see why

#

"@nuxt/typescript-build@^2.0.4looks like it brought in 4.2

pallid yoke
#

we can pin all deps btw

#

thats why we got renovate after all

leaden lily
#

So what's your suggestion for that warning we're getting right now?

random badger
leaden lily
#

So then we should be good think

pallid yoke
#

can you pin all deps?

random badger
#

what version of typescript-estree does it have?

#

wdym "pin"? remove the ^ before them?

leaden lily
#

"@typescript-eslint/typescript-estree@4.14.1

random badger
#

hmm ya that's outdated

pallid yoke
#

ye, and set them to the real version, because else its hella confusing

#

also

Updating service hangar_new_db (id: fibnjz43p5k4urly8fh53moof)
Updating service hangar_new_mail (id: fn3fgrcmwpm8ocdrbh1509kzp)
Updating service hangar_new_auth (id: yyva13y3wcgidhhwgwqxa9fhe)
Updating service hangar_new_redis (id: ed6449og9jt89ub5k5wzgxmna)
Updating service hangar_new_frontend (id: na4bfurxw9uudpqsh0hmvys1m)
Updating service hangar_new_backend (id: qa6re6tw2r5zmf9x05fdm35hx)
#

yey

#

now to nuke db I think, lemme chekc backend logs

#

ye

leaden lily
#

Lemme try to update that specific package.

#

Idk why it's not showing up on interactive.

random badger
#

ya idk either

pallid yoke
#

ooops nuked wrong db

#

lmfao

random badger
#

.... smh

pallid yoke
#

rip old staging

random badger
#

hmm Glare, I just ran yarn upgrade, and it upgraded a bunch of stuff

#

does interactive not show everything?

leaden lily
#

Only showing your mem leak thing for me

#

I'll run it without interactive.

random badger
#

interactive maybe only shows deps in package.json

pallid yoke
#

wooooo

#

staging is fixed

leaden lily
#

Wait you nuked the old public one?

#

Rip

pallid yoke
#

yes πŸ˜„

random badger
#

ugh... I was used to testing how stuff worked on the projects people had put on there

#

πŸ˜†

pallid yoke
#

yeah πŸ˜‚

leaden lily
#

Okay I ran it without interactive. and not getting that error anymore.

random badger
#

yeah, it seems yarn upgrade upgrades everything in the .lock file where yarn upgrade-interactive only shows dependencies in the package.json

#

ya, it seems to work fine with all upgrade packages, so just add that. and then do what mini suggested and remove all the ^ from the package.json

leaden lily
#

I'll go ahead and push these changes.

#

Hmm could've sworn there was a command you could run to pin it all.

random badger
#

--exact?

#

that might only be on install

leaden lily
#

" If you are using yarn to manage your node dependencies, you will automatically have dependency pinning due to the yarn.lock file that yarn produces and uses. "