#docs-website

1 messages · Page 12 of 1

pliant canopy
#

And I saw many people ask questions about stuff that is inside the docs, but could well be missed if you don't go into the correct section

#

So I had just assumed, that if those people didn't find it, there isn't a search bar

spice temple
#

I wasnt sure, it could mean we should improve the search

pliant canopy
#

I mean, the search itself works fine, I tested it out. I just hadn't seen this bar at the top-right

#

Never looked too much in that top-right direction

#

The paper docs needs their own docs kek

still apex
#

it should definitely be improved though

vocal halo
#

Maybe put it next to „misc“ then it is somewhere where people look at frequently

trail jasper
#

or just make it bigger
i think double of the current size should be enough to not miss it

pliant canopy
#

or maybe put it above the list at the right

vocal halo
#

Eh that would imply that the search is only for those sections

#

no?

pliant canopy
#

What if we make it look like this?

#

I think that'd be fine

#

Or we can put it at the bottom

#

This is how bottom would look like

#

I feel like that'd even better

still apex
#

no

small harbor
#

if i want to find a search bar i would expect it to be at the top of the page on the navbar

#

usually on the right hand side or center top

#

putting it in the sidebar seems odd

pliant canopy
#

I kinda like how it looks

spice temple
#

is people not finding the search bar actually an issue?

small harbor
#

i don't hate the one where it's in the top sidebar but it is still an unusual spot for a search bar

#

not to mention it does not make much sense to put it there

pliant canopy
spice temple
#

if so, I propose this

#

switching the nav bar around to have search on left and links on the right

#

I didnt even see that we have links on both sides right now, thats super funky

pliant canopy
#

It's just that the docs are very left-heavy

#

so you usually look at the lef side

vocal halo
#

The thing is there isn’t really any information on the right side other than socials and a version drop down. I feel like placing it next to misc makes more sense as it’s Center and at a spot where people might look at more frequently.

pliant canopy
#

Precisely my point ^^

vocal halo
#

And as strokkur said, with large displays it may be difficult to spot the search bar when the majority of content is on the left side of the screen.

pliant canopy
#

Time for another PR giggle

#

Well, before that, maybe ask @drowsy zinc or @neon epoch for opinions

pliant canopy
#

As the new style for docs

#

so that search bar is on left side

neon epoch
#

Ummm

#

It’s a bold change

pliant canopy
#

Yeah but all content on left, except search bar right is kinda bad

neon epoch
#

Mhm

#

Idk how I feel about it

#

Maybe, I think you could just change the colour of the search bar tho to have the same effect

pliant canopy
#

that sounds awful

drowsy zinc
#

mhm I don't know

trail jasper
#

the nav bar is already really crammed on the top left
i think it should stay on the right where it is right now
but making it bigger would make it much more obvious

eager plover
#

it's all about being able to take advantage of visual trickery and aesthetics to make stuff feel more fluent and pleasing to the eyes, and often, making it easier to read; the context between the text and the bg is probably not as great as it should be, for ex

lean venture
#

Did someone say design?

eager plover
lean venture
sage sage
#

mrbeast miniatures pov

ocean void
pliant canopy
#

Who pinged me and why

ocean void
pliant canopy
vocal halo
#

I remember there have been talks to change the DO NOT REPORT THIS TO PAPER part of a thread dump. But what if we change up the message to link to a docs page explaining the dump and provide simple steps to try to fix the problem. We could link to the discord as well.

spice temple
#

Yeah

hard quartz
#

git push force old friend confusedBecel

neon atlas
still apex
#

no

neon atlas
outer elkBOT
#

To create plugins, learning Java beforehand is like learning how to write before creating a novel - it's an essential part of the process.

There is no shortcut to learning programming, just as there is no single, definitive way to approach it. Everyone learns differently. One of the best ways to learn is by doing and actively applying what you're learning as you go.

Learning Resources:

outer elkBOT
#

Where did paper.yml go?

In 1.19, paper.yml has been split into two files, both in the config directory. In paper-global.yml you will find configuration that changes behavior of the whole server, and in paper-world-defaults you will find configuration that can be overridden on a per world basis. See https://docs.papermc.io/paper/per-world-configuration for more information on overrides. The function of server.properties, bukkit.yml, and spigot.yml remains unchanged for this time.

pliant canopy
#

Can we not turn this into a channel for bot spamming?

#

That's what #bot-spam is for

spice temple
#

Can we leave moderation to mods?

brazen moon
vocal halo
#

No it’s not? Strange

#

Was it removed for a short time? I remember some values were removed.

pliant canopy
#

Don't we do that?

#

Ah nvm

#

That's JavaPlugin

#

Interesting, didn't know that's a thing

grand dew
#

was pr'd like last week i think

pliant canopy
#

Ah cool

#

I might just keep it like this for now

#

Not everyone might have the new api yet

#

because of maven caching and stuff

brazen moon
vocal halo
#

okay. Sorry for that.

last bear
#

Is it intentional that the docs repo doesn't have auto branch deletion on merge enabled?

sharp pivot
#

doubt it

spice temple
#

Never noticed that, refined GitHub does that for me on any repo, lol

vocal halo
#

real

mighty dirge
neon atlas
#

Should probably be updated, I don't think we'll revert that even once a packet limiter is pulled

neon atlas
#

Finally 🙏

mental sleetBOT
#

(67d03fb76ed5010734cf1be5) // @empty nova (@_oskoskosk_ / 303257590572253184) has been banned by @neon atlas (202850073812402177)
Reason: Quick-banned for sending a message in #docs-website

pliant canopy
#

https://github.com/PaperMC/docs/pull/549 to be fair though, I was also confused for a very very short while when I first read through that. Perhaps mentioning the actual static import would be useful. Either inside the code block or right outside of that

eager plover
#

I mean, it's generally fairly clear if you understand java and read it

#

I'm not against adding more stuff for the sake of confusion, but, the general issue here is knowing where to set the bar of expectations, otherwise, rabbit holes...

vocal halo
#

Yeah I don’t think that change is needed. The comment also describes that static imports can be used. So adding the class there doesn’t make sense. And if you do that you can just delete the whole example because there is the same code above that one.

raw breach
neon atlas
#

I'd add some note regarding the "fixes attribute exploit" or whatever it was called

hard quartz
#

i get a question (i tell ask here but no.. the ignore that thing xd) about this setting, talks about the chunk generation but also include the chunk load not?

neon epoch
raw breach
#

You mean on the page where we already talk about some of the exploits more in debt?

neon atlas
#

No just in the thing

#

"Needs to be disabled in order to allow attribute swapping exploits"

#

or something

raw breach
#

Yeah already added something

#

Unless github Web fucked it up and didn't actually commit it

neon atlas
#

haven't checked 😅

#

Yea sounds good imo 👍 can wait for @neon epoch tho, given he assigned himself typing

neon epoch
#

Classic mobile GitHub moment

#

Thanks tamion

raw breach
#

Thanks. Yeah i saw kenny merged the paper pr but not the docs one and that was triggering me lol

fair river
#

Kenny bad. bad kenny.

last bear
#

Well you see, I knew that the docs weren't really enough

#

but didn't care for it in the Paper PR fingerguns

mental sleetBOT
#

(67d2e6e06ed5010734cf1be9) // @crimson tangle (@yajan / 579908961080311818) has been banned by @neon atlas (202850073812402177)
Reason: Quick-banned for sending a message in #docs-website

#

(67d2e6e46ed5010734cf1bea) // @crimson tangle (@yajan / 579908961080311818) has been banned by @spice temple (134340832093405184)
Reason: steam scam

neon atlas
spice temple
#

Smh

pliant canopy
#

Bro got super-banned

echo canyon
#

essentially making each project have it's own docs site that you could easily switch between. Rarely do you need a single menu bar/ side bar that has docs across multiple projects.

#

My thought is that (1) would be a dropdown with the icon/name of all the projects that are part of PaperMC

#

then the top dropdowns would be switched from Paper, Folia, Velocity, etc., to the categorie within each project

#

because also, you rarely need docs across multiple categories within a project. Making the side navigation all admin or dev is useful because its 1 less level of nesting

#

so that main dropdown would have like Paper, Velocity, Folia, Adventure and the correct icons to go along with that.

opal flare
#

it'd be nice to look into switching away from docasaurus if possible

pliant canopy
neon epoch
#

I mean tldr is it’s a lot of work to change from docusaurus to something else. I got a decent way through swizzling that functionality but uni has absorbed my life nowadays

vocal halo
#

What would be the alternative?

eager plover
#

brb, migrating to writerside

vocal halo
#

😭😭

eager plover
#

I think that the notion that we've come across is that pretty much all of the solutions that exist kinda suck, and so, idk what we'd be looking to migrate to

vocal halo
#

I guess paper needs its own documentation solution

mighty dirge
#

Seeing as Paper has environment variables listed at the bottom of the system properties page (Only one seems to be listed), should something like that be added to Velocity as well?

opal flare
lilac edge
#

^ esp since the main website is being transitioned to astro

lean venture
#

Wait what?

#

Astro?!

spice temple
#

The branch is pretty dead

eager plover
#

Yea, idk if somebody wanted to take over that or not, it became a bit of a headache to port our stuff over more or less as-is, I had some ideas on how to mitigate it but it's all a headache

pliant canopy
#

I might look into it just for fun, but probably won't get anything presentable out of that

lean venture
#

I'd be down to migrate it to smt else, like svelte xD

drowsy zinc
#

starlight seems to be the only reasonable option right now, not many documentation generators that look good and have a comparable feature set to docusaurus

lean venture
drowsy zinc
#

markdown markup extensible through custom components, a decent search, an easy way to split the site into multiple projects (i.e. paper/velocity/folia/misc/...), a tasteful design with light/dark mode, ... idk

#

the main headache is having the site house multiple projects separately (if you click on Paper, it should have a separate sidebar with only Paper stuff, separate search results only from Paper, ...)

#

I know what we have right now is kinda hacked on top of DS but thankfully I didn't have to do it

#

so if we're switching, I definitely don't want to hack that up on top of a different generator

opal flare
drowsy zinc
opal flare
#

yeah, quite a few nice plugins

#

starlight is really nice from some quick testing I did a week-ish ago

echo canyon
#

what about just having like properly separate docs site, with another project in the repo that contains common components that each docs project depends on

#

How much "duplication" in configuration, etc. can we avoid if we just setup fully separate doc projects, then have the base url be different for each, and add the switcher in the top left.

mighty dirge
#

What about stuff like the brigadier api? Parts of that can also be applied to velocity

drowsy zinc
#

sounds like a dream to maintain

#

also not sure how that would work with pages publishing

pliant canopy
#

The issue what that is though that certain stuff is retrieved differently and also Velocity's Brigadier has some weird interactions, mainly when talking custom arguments

#

And it generally limited in a lot of ways

pliant canopy
#

That reminds me, I still have a lot of Brigadier docs left to write....

#

ahhh so much stuff to do

vocal halo
glossy horizon
#

Mb, wrong channel

#

Ty

vocal halo
#

<@&748618676189528155>

mental sleetBOT
#

(67db2a646ed5010734cf1c0a) // @reef grail (@xnevexxx_12529 / 1251607424474026044) has been banned by @ancient quiver (1098722699116810331)
Reason: nsfw spam

ancient quiver
#

merci

stiff sundial
#

double noah

odd harborBOT
granite raptor
#

since timings are disabled now, I think timings mentioned here should be changed to something else

eager plover
#

The problem here is that I don't think that we have something else

pliant canopy
eager plover
#

nope

pliant canopy
#

Unfortunate

eager plover
#

that system isn't exposed in the API last I knew

pliant canopy
#

Time to expose it

#

(Not gonna be me though, as I don't seem to cope well with huge PRs)

eager plover
#

so there is the sensor type registry

#

idk if anything has a list of those values

#

We also calculat the name differently sooo

#

I'm guessing we're using the class name rather than the sensors actual name

pliant canopy
#

I mean, the value has to be validated somewhere, right?

#

So it'd be enough to figure that one out

eager plover
#

it's not validated, I don't think

pliant canopy
#

💀?

eager plover
#

The name is literally the class name

#

lowercased

#

so, it's not using the registry or anything

pliant canopy
#

Yeah it seems to just be a EntityType<?>, at least from what I can tell?

#

Aka an internal type

eager plover
#

it's entityType.sensorName

pliant canopy
#

I mean, this is what I found

eager plover
#

Yes, it's a table

#

2nd param is the name of the sensor

#

which is the missing info here

pliant canopy
#

Hm

#

I see

eager plover
#

which is generated from the sensors classname on init

pliant canopy
#

I see I see

#

Wow that's disgusting, ngl

eager plover
#

There is a registry for this, but, idk how much of a pain it would be to do lookups for this

pliant canopy
#

Hm

eager plover
#

it's not a registry, I lied

pliant canopy
#

Okay yeah it seems to be saved in MemoryModuleType<U>

#

But that has memory modules for basically everything - from positions, to data types, to paths, to entities

#

I do not think there is a particularly clean way to expose that tbh

pliant canopy
#

The actual sensor names seems to be, as you said previously, just the lowercase name of a class that in any way extends net.minecraft.world.entity.ai.sensing.Sensor, if I can tell correctly

#

Seems to be just 22. Do you think it would be enough if we were to just list them somewhere and forget about it?

#

Because I doubt there is a dynamic way to figure those out

pliant canopy
#

I have a proposal for a new repository: paper-cookbook.
I had seen yesterday that LuckPerms has a similar repo where they basically implemented a few common operations, put it into a repository, and then allow people to look at it to get a 'practical' understanding of a specific API. I think bigger aspects of the API, like the inventory API, or command API could really benefit from that.

Is this something that PaperMC would do or not do?

spice temple
#

Sounds like a cool idea

lean venture
#

That sounds like a VERY cool idea

#

Just have to make sure that examples are decently abstract

spice temple
#

and I guess they should be accompanied by guides on the docs

lean venture
#

Why do I have a feeling that chatgpt could do most of these 😭🤣

pliant canopy
#

That's a personal policy

pliant canopy
# spice temple and I guess they should be accompanied by guides on the docs

Right. My idea was primarily influenced by me wanting to add a step-by-step hands-on tutorial on Brigadier, just in case some people prefer learning-by-doing instead of understanding-by-reading (lol). And so that basically I don't have to paste the finished code in into the docs, but instead they can look at an example repository on how it is structured, and even compile+run it if they want to!

I am also currently thinking about the layout. Perhaps the "main" branch could be just a reference for stuff and like each little docs entry can have their own branch with examples?

spice temple
#

I think folders are nicer for maintinance

vocal halo
#

yeah

#

a module for each topic i guess.

pliant canopy
#

Oh yeah that's a beautiful idea

#

Unsure about the modules, since basically none of them need to be interlinked, so I am not entirely sure you'd need that

#

But folder separation sounds nice

vocal halo
#

same difference really

pliant canopy
#

Hm, well, not exactly

vocal halo
#

make modules, make folders in the end it is just a folder

pliant canopy
#

The advantage of modules is that you have a "main" build.gradle.kts in which you can define stuff that's true for all sub projects. Like adding the paper-api dependency. Though I have a feeling it might be better to just declare it again in every folder so that a user basically just has to copy that small portion and it would work

#

I wouldn't want to introduce the need to know how to work around gradle if somebody new is going to look at it

pliant canopy
#

I was mainly talking about submodules

vocal halo
#

honestly if somebody new is looking at a repository where they find more stuff than they asked for it would probably just be overwhelming

#

also, new people wouldnt even know how to actuall look at code

#

for new people it makes sense to suggest documentation imo

pliant canopy
#

I mean, the main source of information is still documentation. The repo I suggest is mainly for one to have a working example and perhaps as a quick-reference

vocal halo
#

im pretty sure the flowchart will be as following

-> Ask in discord for example about Brig API -> Someone redirects them to the cookbook -> Person copies example into their project -> Person wants to expand the example -> person comes back to help channel

pliant canopy
#

That's precisely why we want to do this:

-> Ask in discord for exmaple about Brig API -> Link to docs page about building up an example -> The docs page links to the finished example at the end -> Person, after hopefully reading through the docs, looks at the example repo -> Hopefully understands it well enough

vocal halo
#

i like your optimism but i doubt it will be like that.

#

people always look for the quickest way. And if they see an "see full example here" they will click there and do not read the documentation.

grand dew
#

would def be useful for brig, when i was reading through it i got confused about how to handle multi arg comands being changed on each other not on the original comand

vocal halo
#

well, then we should improve the documentation. If the documentation is confusing i dont think an example would magicaly make it unconfusing.

pliant canopy
grand dew
#

icl its not the most obvious thing on some things

#

the location of the parenthesis is something a lot of the time i will and others gloss over

pliant canopy
#

Having colored parenthesis would be a dream in this case lmao

#

But I doubt that is possible with docusaurus

grand dew
#

literally tho

pliant canopy
#

Another example I could see the cookbook repo be useful is perhaps with the DataComponent api, since that one is also rather complex, at least when you hear about it the first time

#

I am seeing a pattern with complex api design and Owen being the maker kek

lean venture
#

That sounds like just spoonfeeding people

#

Which is 100% not the right way to learn

young mural
#

Hey everyone, I've been thinking of remaking the PaperMC Docs website but I think I can do it way better if I use Angular and Java, Am I able to go that route and potentially getting the website to be used, ONLY if it is widely liked by the PaperMC staff and Admins? or Am I forced to use node.js

ocean void
#

I don’t think you should spend substantial time remaking anything because it’s unlikely to get adopted by us. If you have ideas for changes you could submit PRs, though.

young mural
#

Alright sounds good

eager plover
#

Docs don't have the computational demand to justify using a full JVM, especially when we could literally just use an SSG, which we already do iirc

spice temple
#

Yeah, the docs should require a process on the server

#

Nor are we open to using angular

#

We are open to moving away from docusarus tho, it's just, idk, nor worth the effort rn

opal flare
#

if you want to look into anything, look into this

vivid mantle
#

vitepress 🥶

pliant canopy
#

Oh, there is new brigadier registries? Which ones are those?

#

Actually I can probably just look at the diff from 1.21.4 and 1.21.5 to figure it out. But if somebody just has a list ready-to-go, I wouldn't complain

brazen moon
#

it's just regular registries like entity variant / sound variant but the doc has a page for all the registries exposed to the api

#

the new options: enable-spam-exclusions and simplify-remote-item-matching are not documented too

opal flare
#

If moving to Astro doesn't seem feasible for the website, maybe we should just upgrade to Next.js 15

#

I can move the website off of Cloudflare Pages now that the legacy routes (/api, /repo) are dead.

small crane
#

What makes moving to Astro infeasible? Is it just that nobody wants to commit to it [yet] or is there some custom stuff in the current solution that isn't possible to move?

spice temple
#

basically nobody here really understands astro

small crane
#

Interactivity meaning wiring up the components?

spice temple
#

the idea seems great but we actually have interactivity and then everything seems to fall appart

small crane
#

I can take a crack at it later

opal flare
small crane
#

Is it all in there right now, just not 'working'? I need to finish some stuff at work then I can try to look at it

eager plover
#

There is a branch, and then there was my branch that I pushed a thing or two to

opal flare
#

it's been a few months since i last took a look; I think a good portion of it is there, but I think some still needs porting

small crane
#

Alright I'll take a look in a few and see what's going on

opal flare
#

will happily take any help we can get with finishing this migration

#

as an idea of how out of date it is, too:

┌────────────────────────┬─────────┬────────┐
│ Package                │ Current │ Latest │
├────────────────────────┼─────────┼────────┤
│ @astrojs/react         │ 3.6.3   │ 4.2.3  │
├────────────────────────┼─────────┼────────┤
│ @astrojs/tailwind      │ 5.1.5   │ 6.0.2  │
├────────────────────────┼─────────┼────────┤
│ @types/react (dev)     │ 18.3.20 │ 19.1.0 │
├────────────────────────┼─────────┼────────┤
│ @types/react-dom (dev) │ 18.3.6  │ 19.1.1 │
├────────────────────────┼─────────┼────────┤
│ astro                  │ 4.16.18 │ 5.5.6  │
├────────────────────────┼─────────┼────────┤
│ react                  │ 18.3.1  │ 19.1.0 │
├────────────────────────┼─────────┼────────┤
│ react-dom              │ 18.3.1  │ 19.1.0 │
└────────────────────────┴─────────┴────────┘
small crane
#

Sounds like fun

lean venture
small crane
#

I mean, you can use Svelte in Astro.

#

That's actually the plan here, as far as I can tell.

#

Anyway, I just forked and I'm taking a look. Let's see what the damage is.

eager plover
#

I remember us pulling svlete in for interactivety because somebody glares at mini basically said no to just pulling react in

small crane
#

Everytime a new version group comes out, do you guys rebuild the website for the software pages to update the javadoc link? Or is it dynamic? If dynamic, I think we need to use interactivity there since astro is only going to make the web requests at build time. (Unless you switch to SSR)

spice temple
#

It would be fine to trigger a rebuild for that tho

#

But ye, don't mind it being client side

last bear
#

The downloads site already requires rebuilding

small crane
#

I have no idea how next getStaticProps works then (current), because usually that requires a rebuild unless the current site isn't SSG.

eager plover
#

is that the astro branch or?

#

apparently we're using ISR?

#

revalidate: 600

small crane
#

wife is angry that im not getting ready for bed so that's all i can do tonight

eager plover
#

gdi simple

#

o/

small crane
opal flare
lean venture
pliant canopy
#

Also, I still need to finally add the CommandSyntaxException page. I've used those all over the page, but they aren't documented anywhere at all

brazen moon
#

probably not until middle of the month sorry

pliant canopy
#

No worries! I took like 3 months until I came around to finally write that one, so it is definitely not like I am on a time schedule

small crane
#

@opal flare:

What is the goal for the site? Client-side web requests or SSR? If client-side, we can do some skeletons while the requests finish loading. If server-side, then we need to enable SSR so the web requests can run on the server or keep as is and just turn off pre-rendering for the pages that use fetch. Right now fetch() in astro only runs at build time unless prerendering is turned off.

If you have a direction you want to take, let me know and I'll keep working on this.

I think clientside is a fine way to go personally. Most of the site can be pre-rendered then, and only a few dynamic clientside islands would be needed to load the dynamic content.

But SSR is good too, SEO is best in that case, but I think it would probably lead to higher workers cost.

*Unfortunately we can't use ISR like the current Next site since AFAIK Astro doesn't have that.

opal flare
small crane
#

No, it would automatically update. The only downside there is that dynamic content won't show up in search engines (specific version groups, builds, etc). But that's probably not important. And then there would be skeleton loaders that show up while the request runs

opal flare
#

Do you think SSR would be better? We’re currently hosting on Cloudflare Pages, but if the site is Docker-ized we can self-host it and avoid Worker costs.

small crane
#

The biggest benefit of SSR is that the fetched dynamic data actually ends up in markup, which can enable search engines to show that content in search results. A minor benefit is usability - the user won't see loading UI, they will just get the content at the cost of a slightly longer page load. In this case, I don't know if the SEO benefits are really that great here since the dynamic content we're fetching is version groups, builds, etc. So probably not a huge boon for Paper, it's more useful if the content is actually semantic (blog posts and the like).

So we could really go either way. Looking away from SEO, the question here is:

  • Show loading UI while fetching version/build info? : Clientside
  • Don't want loading UI, when page loads the information should be there already : SSR
#

If you have the processing power to spare, SSR will be simpler codewise since we won't have to worry about handling loading state in the components. That's one other thing to consider as well.

opal flare
#

If we went with Client-side today, would it be very difficult to migrate to SSR if we need to?

small crane
#

You'd have to get rid of the loading state components and basically strip away some conditionals in the templates. So not really.

opal flare
#

I’m thinking Client-side might be the way to go for now, then, unless you highly recommend SSR

small crane
#

I have no real opinion either way. Both are fine. I'll go with Clientside for now.

spice temple
#

What's even the point of Astro if they can't do incremental stuff and we ship a full fronted framework anyways?

#

That's what I meant with I don't get Astro

small crane
#

Most of the website will be a pre-rendered static site, with only small parts of it being clientside code (Svelte/React etc whatever). That's the biggest difference. With Next static generation, your whole app is React. With Next SSR, it's still React but a good portion of it is server rendered.

With Astro, your Astro components get compiled down to HTML/CSS and sent to the user. Only the small parts that are actually dynamic will be sent down as a JS app in whatever framework.

So it basically sends a hybrid page, which is different in a unique kind of way.

#

That's their sales pitch anyway.

still apex
#

we should switch to wordpress

opal flare
spice temple
#

At work I am building a fun thing, maybe I can replicate that some day because God knows they will not let me open source that as a framework:
It's a "normal" Vue SSR app (using vite at dev time for hmr, express as a web server, maybe I'll replace that). Cool part is that during SSR, I first look at all modules that were used for the request and inline that css, dynamically, and then look at all the Vue components and which of them are interactive and only send the JS code and state for those, mounting many small Vue apps around all the components that are client interactive on the client, kinda like Astro but without some of the limitations

#

It's not built for isg but should be easily doable

#

And it's like 200loc

#

And it will make my website so much faster and lighter than nuxt, lmao

small crane
#

yeah that is pretty much what astro does, it makes little "islands" of apps, but otherwise everything is html/css

#

Without frontend UI frameworks, Astro is essentially just an HTML/CSS framework. It takes all your pretty components and smashes them into static HTML/CSS. When you do a network call in an Astro component, it just runs that call at build time. That's great when the stuff being requested is also rather static. But when it's dynamic like what we have here, it's not helpful. So you either need to enable Astro's server-rendered mode, which basically just acts like a preprocessor and runs the script on each request (which would include the fetch) and then returns the static HTML/CSS, or you make a clientside island and have it run your request then.

lean venture
spice temple
#

We want ISG

#

Or we would throw it on our hetzner servers

#

Ain't no wait I am paying cloudflare for ssr

small crane
#

I’m actually able to make use of web components here for some of the stuff since it’s really just data fetching. No framework bloat (yet)

#

Probably will need for build explorer later though

small crane
#

Goodnight peeps

still apex
#

domain and such need to stay as .dev for now

#

iirc that branch is published on there and we don’t want that indexed

#

hence the TODO

small crane
#

Alright will edit it back later

opal flare
#

It doesn’t deploy as far as I know

small crane
#

I removed the domain change just to be safe, will worry about changing it as the final thing before finishing the main PR I suppose.

small crane
#

Currently applying placeholders where hangar requests are considered as there is a CORS issue (see #hangar-contrib) but will go back and address it later once we figure that out. Already made a Hangar PR that I think should resolve it.

small crane
#

Alright. The software download page has some very arcane code that is making my head hurt so there will be some delay on this, but I'll figure it out eventually

vocal halo
#

The download explorer broke everyone I think.

spice temple
#

Feel free to throw it away and redo if that's easier

small crane
#

Might end up doing that

mighty dirge
pliant canopy
#

I mean, there is no released 1.21.5 build

#

It is internally handled by the <SoftwareVersion/> tag, which relies on the latest released Paper version afaik

#

Yep, it uses the Paper version. Looked it up

mighty dirge
small crane
#

This is actually just because they're missing specifying velocity as the project to the SoftwareVersion component. The default prop when not specified is Paper so it returns the latest Paper version. If they specify project=velocity (or whatever the docs-site specific way to reference velocity is), it will work.

#

Oh just kidding, nope. It needs to use paper because velocity versions don't track with MC versions. So just kidding.

pliant canopy
#

lmao

#

I mean, once the tooling is figured out, the next versions should be very fast

#

So this is just temporary ig

pliant canopy
#

@neon epoch do you think putting the note above the ice cream example and also putting them into the warning block would be better?

#

I'd still like to have some sort of header above it just to be able to paste a link somewhere which directly goes there. But now it is wrapped up more neatly

vocal halo
#

i think the main point of ollie was that the header was "note: ..." and that if its a note you can put it into an admonition

#

if the header is "error handling during the suggestions phase" it can probably stay as normal body

neon epoch
#

Yeah what Noah said. Being able to link to it is a valid reason to not do that, I just thought it could look better in an admonition

#

Personal preference tho

pliant canopy
#

I suppose I will just keep it like this then

#

I pushed the last of the changes. Should be mergable now

south thunder
#

Er, what do I do if I'm making a PR to the Docs but the spell checker yells at me because Leaf's code is written in canadian english?
I include a stack trace that contains "prioriti__s__ed"
[18:23:38 WARN]: at ca.spottedleaf.concurrentutil.executor.standard.PrioritisedThreadedTaskQueue$PrioritisedTask.executeInternal(PrioritisedThreadedTaskQueue.java:351)

drowsy zinc
#

add PrioritisedThreadedTaskQueue to .typos.toml into the default.extend-identifiers section

pliant canopy
#

Lmao oops

#

Accidental concurrent fix

neon atlas
#

however produced the right image wins

pliant canopy
hard quartz
pliant canopy
#

Let's play one round of hypixel duels 💀

#

Whoever wins, wins the PR

hard quartz
#

i dont have context for how are you in pvp then decline... better @neon atlas throw a coin

pliant canopy
#

Yeah fair

neon atlas
#

I like the right side more tho sad_cat

#

I think a warning is too much

pliant canopy
#

Me is heads and doc is tails?

#

(but userdev page is mine to maintain kek)

#

(I have done the previous 3 prs on it)

#

-# (That means it is mine!!)

neon atlas
#

Sometimes you gotta let go sad_cat

pliant canopy
#

fr though, it's not mine to decide. If you really think the other one is better, feel free to close mine giggle

#

I am just messing with you lol

hard quartz
#

looks like the same than the coin then just wait what aproach is good

neon atlas
#

I'll flip one in a couple hours when I am done writing thesis stuff for today 👍 thank you both already pepe_hand_heart_2

vocal halo
#

Right one

#

Looks better. Warning seems overkill imo

#

And doc was first in theory

neon epoch
#

Shit looks good @drowsy zinc

opal flare
#

looking good @drowsy zinc

minor marlin
#

how to download lastest version of paper for server? (by url pls)

outer elkBOT
scenic gull
#

But please ask in the correct channel in the future. This channel is for our documentation.

neon epoch
#

I’m not all for recommending specific backup software

drowsy zinc
#

borg is pretty ubiquitous among backup softwares, don't know what kopia is

hard quartz
#

i read about kopia but was a random post in reddit when search options for backups

south thunder
#

Basically, a Windows alternative

#

Pretty much the only established, open source alternative I know of that also supports incremental baackups

pliant canopy
#

The best backup alternative is github/git

#

Prove me wrong

opal flare
#

@drowsy zinc is there a good reason to do the jd: url hack instead of using a custom component?

drowsy zinc
#

it's way easier to type and you don't have to be in a MDX file to use it

#

it's not really a hack, it's just traversing the AST and replacing the values

pliant canopy
#

@drowsy zinc I also just noticed something. You changing basically all of the files means that the "last edited by" will show you on every single page, won't it?

opal flare
#

It just feels kinda hacky to me since it’s abusing the url format a bit - a component would allow us better control I think vs rewriting everything again?

#

It might be worth moving to a component now during the initial move instead of down the line having to replace it all again

pliant canopy
#

At least I personally prefer it

#

Shorter and more expressive, at least that's what I think

#
[`PlayerMoveEvent`](jd:paper:org.bukkit.event.player.PlayerMoveEvent)
// or
<Javadoc name="org.bukkit.event.player.PlayerMoveEvent">`PlayerMoveEvent`</Javadoc>
opal flare
#

I’m just not a huge fan of it. It feels like a slight downgrade - going from an actual component with named arguments to string splitting. Less control when it comes to the "rendered” look unless you manually go and update every single use of it, when it comes to styling etc.

pliant canopy
#

I mean, where do you need to change the style of your jd link

#

And what if there is just both? So you can do the string splitter if you just want simplicity, or you can use the component if you actually have to change its style

opal flare
#

It just feels like this is something that a component should still be doing, like it was on the docasaurus branch. It isn’t as friendly - appending more and more separated with a : vs named arguments to be clear of what something is. Since you can technically do something like <PaperJavadoc name=“org.bukkit.event.player.PlayerMoveEvent"/> to have the proper project/module applied, automatically give it a name unless manually specified, etc

#

vs manually specifying modules/projects/etc in each location

pliant canopy
#

A thing which I added when I made my own jd components was add an id field which basically predefined that whole path

#

So you could just write <JavaDocs id="PlayerMoveEvent" />

#

But yeah, I get what you mean. You can extend it easier

opal flare
#

But this is why I would prefer to use components instead of the url-like path @drowsy zinc

opal flare
pliant canopy
#

Another something that I did in my jd component was to infer the project by the package. Is that something that could also be of interest? Because that could remove the need to specify the project directly, at least for most stuff

drowsy zinc
#

idk, I'm of the opinion that markdown should be nice to read and simple to write, mixing in mdx markup for just links feels icky to me

#

I could definitely do both the component and that link processor if a need for more customization arises

#

the format of the links can also be changed to basically any string, it's not restricted to the URL format - I just thought that was intuitive

drowsy zinc
vocal halo
#

That’s the case with normal docusaurus updates as well

pliant canopy
#

My ego will be severely hurt by that /s

vocal halo
#

lol

eager plover
#

mojang doesn't auto detect that stuff, you'd need to add a click event to it; #adventure-help if you need further support with adventure

slow swift
wintry flint
#

When will the documents be added?

outer elkBOT
#
__There Is No ETA__

Updates to Paper do not have any sort of estimate for when they release, ever. Any and all updates will arrive when they are ready, and the only thing to do is wait for them patiently along with everyone else.

eager plover
#

The fabric docs might contain some useful information covering some of that sorta thing

pliant canopy
#

The last three are rather complex topics, so they have to be well written, which isn't all that easy

drowsy zinc
#

(the Paper logo will be in the production embeds and item command converter isn't done yet, @pliant canopy is having a go at it)

small harbor
#

that looks really nice

mighty dirge
#
  • I'd like to have a nav bar because right now, you need to scroll to click on a project and then scroll to get to e.g. development instead of hovering over project>click on development
  • Additionally, when you scroll down in the sidebar, the project selector stays within the sidebar and does't float so it really doesn't seem convenient to switch projects atm
  • I'd like to be able to click on the github/javadoc icon and directly get to that project's page

I do like the sidebar being unfolded tough, especially if you could jump to a section directly as mentioned above. I also appreciate the label(s) on the sidebar and the general compact look.

neon epoch
#

Looks super good, nice work mate!

hard quartz
#

Feel nice in mobile

drowsy zinc
#

making the social icons context dependent is going to be a bit rougher, since the javadocs need a version in the URL but it should be doable I think

hard quartz
#

take me a few seconds make the match for the "J" icon xd

neon epoch
#

LMK what you think about that scorp, might not be what you were going for :)

drowsy zinc
hard quartz
#

oh... i see that comment in the refactor.. sad currently not allow like Astro to add custom icons.

drowsy zinc
#

I'm doing tweaks on the branch locally so please don't merge it in right now

neon epoch
#

I won’t merge it, I’ll leave it to you :)

pliant canopy
mighty dirge
pliant canopy
#

Because scorp is bad

#

@drowsy zinc please read through our contribution guidelines

#

Thank you foliaheart

drowsy zinc
#

they were revised to fit the design

pliant canopy
#

smh

#

rule bender

mighty dirge
#

Also...it would be nice to have the path thing in the new docs or the sidebar being scrolled to the section when opening a link with a sub-path

pliant canopy
#

@drowsy zinc I'd like to ask about this though? Don't you think it woudl be nicer if it were anchored at the top or something? Imo it looks weird floating and half-way obstructing the text like that

#

but that might honestly just be me again because my style taste is apparently very different from all of here

mighty dirge
pliant canopy
#

✨ later ✨

drowsy zinc
#

I would like there to be a background too but it's not feasible without overriding a ton of stuff

pliant canopy
#

Just add it directly to the sidebar component?

drowsy zinc
#

not how it works

pliant canopy
#

Yes how it works. Component overriding is a thing

#

Or is there something that makes this not feasable?

drowsy zinc
#

the entire sidebar component is in a padded space

#

the dropdown would have to be outside of that and have the same padding

pliant canopy
#

Just add a top margin to the sidebar and you are good?

#

Idk it seems painfully trivial to me because I haven't tried it. I trust you know what you do

drowsy zinc
#

now that I look at it, it might be possible if I override PageFrame

drowsy zinc
#

should be fixed

lean venture
#

I am jealous xD

#

migrated it so fast

random pollen
#

kenny pointed out I have wrong capitalization in other spots too omegaroll (i.e. in the chrome ext manifest)

#

but yeah Patch Roulette Diff Viewer is the full title

drowsy zinc
#

I also seem to have missed "uses cases"

random pollen
#

hmmm I should have removed "The" also

#

my bad

#

I forgot it was there since it's on the previous line, but now that I noticed it I see why you would have thought it's not title case

#

I guess it's technically correct with or without 'The' it just feels like it flows better without it

#

not a huge deal

#

should be good now, sorry about that

fair river
#

Gotta say the starlight rewrite looks fire. 🔥

random pollen
#

yeah navigating is much more intuitive with everything in the sidebar

#

is it just because it's a preview that going between pages is a hard browser reload? or is that intended

#

the old docs looks like client side nav

drowsy zinc
#

it's all generated into static html so it goes through the site via normal links I guess

random pollen
#

that's good as a fallback when JS isn't available but imo it's kind of a downgrade generally

#

surely they have a way to enable client side routing

#

hm, I guess not(?)

#

it's probably fine tbh, there isn't any visual weirdness switching pages

drowsy zinc
#

astro's whole appeal is zero JS by default so I'd be surprised if starlight has that

random pollen
#

in firefox there's no weirdness, but in edge there's some sort of weird flash of the background color

#

most people probably won't notice or care to be fair

#

ok no that was just cached vs uncached pages

#

ignore me

eager plover
#

it does feel kinda pretty jaring when navigating around pages

random pollen
#

there are some layout shifts yeah

#

like, as it loads in

#

let me try profiling page switches with dev tools

#

going between the same two pages it seems random if I get a 0 or a 1.0

#

the body and the search bar is what its upset about

eager plover
#

fonts are lazy loaded

#

css is loaded late too

random pollen
#

my browser crashed trying to load the PR diff then I remembered to use my extension omegaroll

random pollen
eager plover
#

I mean, it is defined early on inside of the file

#

there is some loaded at the bottom though

random pollen
#

which file is that in

eager plover
#

view-source:papermc-refactor-starlight.papermc-docs.pages.dev/velocity/faq/

random pollen
#

hm, I guess it's not lifting the CSS from the code blocks into the head

random pollen
#

if we want to avoid layout shift then we probably want always

#

of course there's a tradeoff with initial paint time but I think the smoother transition is worth it

#

wow this is a classic firefox moment

#

(left is edge right is firefox)

drowsy zinc
#

looks better on my side

random pollen
#

yeah definitely better

#

the logo in the top left still flashes in and out, maybe need to set it to preload somehow

drowsy zinc
#

seems like it does have client side routing

random pollen
#

oh, neat

#

would be kind of funny if we used that without actually using any view transitions

#

(they don't work in firefox btw PepeLa)

drowsy zinc
#

the third-party plugin that brings view transitions to starlight really doesn't like the dropdown

#

it doesn't update the current project

#

probably because the dropdown is outside the sidebar content space

#

I'll poke at it more tomorrow, but it'll probably be less jank without it

random pollen
#

yeah preloading the icon is probably good enough tm

pliant canopy
#

urgh, what the hell

#

why did my pr screw up so hard?

#

(not a real question, I am just mad about it)

raw breach
#

hmm weird brave seems to be returning https: instead of https://

#

yeah firefox doesn't return the slashes either

pliant canopy
#

Scorp said he'd take a look at that later, but yeah

neon epoch
#

I can have a look. Currently buried deep in 2fa shit but yeah

pliant canopy
neon epoch
#

output = input;

#

UI looks nice though

#

have u got an example prompt i can test with

pliant canopy
#

As I said, it doesn't work

#

The endpoint is just broken

#

But for reference:

/give @a diamond_sword{Enchantments:[{lvl:1,id:mending}]}

Should turn into this:

/give @s diamond_sword[minecraft:enchantments={mending:1}]
#

Or something very similar to that

#

Just in case you want to have a try at fixing it

neon epoch
#

OH it doesn't work because of CORS

#

that makes more sense

#

@opal flare im assuming this is purposeful?

opal flare
#

iirc yes

neon epoch
#

Yeah, @pliant canopy put sensical logic in and we will review before merging :)

#

The UI looks good to me though

pliant canopy
neon epoch
#

Implement the request logic, the request will fail but we will review it on the grounds of logic if that makes sense

lilac edge
#

basically use dummy data until it gets merged

south thunder
#

Asking because I understand Folia is a special case -- Is there any blocker or something to keep in mind if I want to start some work in the development guide?

neon epoch
#

Not really

ocean void
left egret
#

I really hope our javadoc can have "since" part like this or even this("since" for every method)

vocal halo
opal flare
#

@drowsy zinc any changes needed for deployment?

drowsy zinc
#

should work I think

opal flare
#

not sure if I want to squash this one, might just merge it in with the 46 commits or so

#

one oddity @drowsy zinc

drowsy zinc
#

hmm

opal flare
#

its to do with the orange background colour stuff

drowsy zinc
#

myeah seems like I didn't override it back to the proper value for light mode

#

I changed orange because people said it was too pale for caution admonitions

opal flare
#

ah

#

easy fix?

drowsy zinc
#

probably but 🛏️

opal flare
#

ah :3

#

left a comment on PR

pliant canopy
#

That would basically almost double his commits

neon epoch
#

It’s a lot of work 😂

vocal halo
#

Yeah

#

Can’t really compare it to a regular PR

neon epoch
#

Where does this image come from it’s noticeably blurry

#

Good work overall

#

I’m not really free until Saturday to give it a proper review, my surface level look looks good. I’m happy for someone else to review in lieu of myself

hard quartz
#

https://assets.papermc.io/brand/papermc_combination_mark_dark.min.svg

drowsy zinc
#

nothing much I can do about that except replacing it with a png which is not an ideal solution

spice temple
#

safari being a bottom tier browser yet again

opal flare
#

looks better now @drowsy zinc

still apex
#

thanks

pliant canopy
#

@drowsy zinc in addition to the review I am about to send in, these pages from the velocity section link to the Paper one. I find that not ideal as you then get yeeted off into the Paper section and can get confused where all the sites have gone to

drowsy zinc
#

I don't think there's a good way to change that other than to duplicate the pages

#

those pages are inherently paper doc pages and the audiences page also references paper api

pliant canopy
#

Yeah, but it is still bad imo

#

Like I could get away with that in the adventure docs, since that is the same category

#

But here it flings you off completely

mental sleetBOT
#

(68027ffd1df977252a68f75d) // @raven sundial (@lammy12k / 1334287928473551008) has been banned by @spice temple (134340832093405184)
Reason: steam scam

opal flare
#

🎉 https://docs.papermc.io/
big thanks to @drowsy zinc for the bulk work of the migration, and thanks to @neon epoch and @pliant canopy for their contributions too

neon epoch
#

Eyy let’s go scorp

neon atlas
#

lets go ollie for reviewing pepe_hand_heart_2

small crane
#

woop woop. re: actual site astro migration, not abandoned just been very busy. will get back to it hopefully soon

neon epoch
pliant canopy
small crane
#

300% credit to go around. 200% to scorp, 50% for each of you kekwait

hard quartz
#

And for that now the docs not show hows was the last contributor kekw

pliant canopy
#

I have been discredited from my beloved brigadier pages 😦

hard quartz
#

Unless add a little final text for "this was started by" kekw

pliant canopy
#

"Initially added by" is actually a crazy good idea

#

Though, for most pages, there is no record who initially wrote them, except if we were to check the git blame

lean venture
#

what is the underlying stack/tech?

small crane
#

it's starlight (astro)

lean venture
#

oh nice migrated to astro

#

now I actually wanna migrate hangar to svelte

#

xD

drowsy zinc
opal flare
jagged pecan
#

Is this expected?

#

(documentation group)

drowsy zinc
drowsy zinc
opal flare
#

which part of the meta? the title?

drowsy zinc
#

anything

#

it looks like this by default from my testing from a while back

opal flare
#

does it just ignore the ones set when using the head config? that is odd

opal flare
#

sure

pliant canopy
#

What the hell did I just write

#

Whatever, you understood me kek

drowsy zinc
#

there already is a last updated time in starlight so rather modify that

pliant canopy
#

Yes I was thinking about doing that too

jagged pecan
#

Also does it reorder stuff so that doc groups appear before pages in the listing? But not the navigation?

Rather than both alphabetical/whatever

pliant canopy
#

(Will look at that later though, because I have other stuff to attend to. Also have to rebase the adventure pr to the new main)

drowsy zinc
#

the page cards are just alphabetically sorted + groups go first

jagged pecan
#

Ah are they both not auto populated from the listing?

#

Oh sorry I see

drowsy zinc
#

the sidebar is defined in astro.config.ts, the page cards are sibling files discovered in the collection

brazen moon
#

the experimental flags could be expanded a bit in the sidebar and the images are really big in assets i think

serene vault
#

Any chance of moving the sidebar to the left on mobile? Right side is super unusual and not where I intuitively would look for it

twilit fog
#

I hope this is the right channel, but when clicking the JavaDoc link in https://papermc.io/software/velocity, it redirects you to Velocity 3.3.0 JavaDoc instead of 3.4.0 (the link is set to 3.0.0)

still apex
#

knownw

small crane
#

And the link to 3.0.0 is the link to the version group, so that’s valid

drowsy zinc
drowsy zinc
#

I hope I didn't close anyone's issues that were still pending

#

MM's sidebar issue had a thing about splitting off Administration/Development/... but I don't really want to do that, since you can just collapse those sections and not look at them

vocal halo
#

Yeah

lilac edge
#

@pliant canopy https://discord.com/channels/289587909051416579/555462289851940864 works on the discord client for discoverable servers, but doesn't on the web version

pliant canopy
#

I tested that on the web version lol

#

That screenshot I posted is the web one

lilac edge
#

that's weird... cause it didn't for me

#

using an account that's not in this discord server

pliant canopy
#

same for me

#

Well, I will add a link directly to the server. If it works for people they can directly join, otherwise they have the invite link as a fallback

hard quartz
#

well author and commit url not looks bad.

#
Subject: [PATCH] include commit url and refactor author
---
Index: src/components/overrides/LastUpdated.astro
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/components/overrides/LastUpdated.astro b/src/components/overrides/LastUpdated.astro
--- a/src/components/overrides/LastUpdated.astro    (revision 78b2191e4d303f89d79504a78698d78b3c1d1cde)
+++ b/src/components/overrides/LastUpdated.astro    (date 1745195088941)
@@ -1,10 +1,10 @@
 ---
-import { type GitHubAccount, getGitHubAccountFromFile } from "/src/utils/git-utils.ts";
+import { type GitCommit, getGitCommit } from "/src/utils/git-utils.ts";
 
 const { lang, lastUpdated } = Astro.locals.starlightRoute;
 const filePath = Astro.locals.starlightRoute.entry.filePath;
 
-const acc: GitHubAccount = await getGitHubAccountFromFile(filePath);
+const gitc: GitCommit = await getGitCommit(filePath);
 ---
 
 {
@@ -18,7 +18,9 @@
         })}
       </time>
       {" by "}
-      <a href={acc.accountLink}>{acc.displayName}</a>
+      <a href={gitc.author.accountLink}>{gitc.author.displayName}</a>
+      {" in "}
+      <a href={gitc.url} title={gitc.message}>{gitc.hash}</a>
     </p>
   )
 }
Index: src/utils/git-utils.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/utils/git-utils.ts b/src/utils/git-utils.ts
--- a/src/utils/git-utils.ts    (revision 78b2191e4d303f89d79504a78698d78b3c1d1cde)
+++ b/src/utils/git-utils.ts    (date 1745195034362)
@@ -6,6 +6,14 @@
   accountLink?: string;
 }
 
+export interface GitCommit {
+  hash: string;
+  message: string;
+  url?: string;
+  author?: GitHubAccount;
+  date: Date;
+}
+
 const token: string | null = import.meta.env.GITHUB_TOKEN;
 
 const headers: RequestInit =
@@ -28,6 +36,26 @@
 const emailCache: Map<string, GitHubAccount> = new Map();
 
 // Git
+export async function getGitCommit(filePath: string): Promise<GitCommit> {
+  const hash = execSync(`git log -1 --pretty="format:%h" -- "${filePath}"`).toString();
+  const message = execSync(`git log -1 --pretty="format:%s" -- "${filePath}"`).toString();
+  const date = new Date(execSync(`git log -1 --pretty="format:%at" -- "${filePath}"`).toString());
+
+  let gitCommit : GitCommit = {
+    hash: hash,
+    message: message,
+    date: date,
+    url: "https://github.com/".concat(repo.concat("/commit/", hash)),
+  }
+
+  let gitHubAccount = await getGitHubAccountFromFile(filePath);
+  if (gitHubAccount != null) {
+    gitCommit.author = gitHubAccount;
+  }
+
+  return gitCommit;
+}
+
 export async function getGitHubAccountFromFile(filePath: string): Promise<GitHubAccount | null> {
   const email = execSync(`git log -1 --pretty="format:%ae" -- "${filePath}"`).toString();
   const cached = emailCache.get(email);

was a little test for replicate the commit url and include the git message in title or url.. (not sure how can look for very large commits)

opal flare
#

is that going to work in production? with git commands?

hard quartz
hard quartz
vocal halo
#

Is the new API experimental?

vocal halo
#

ah okay i was referring to something else

drowsy zinc
#

though I'm not sure about the looks, I accept any suggestions about that

pliant canopy
#

@drowsy zinc I think it doesn't look good

#

It just kind of ends up like this if the name is not that long and looks weird

drowsy zinc
#

yes, I know that, that is why I am asking for suggestions

pliant canopy
#

I think the way @hard quartz suggested it initially is fine

#

I would push a commit which does that, but I am too stupid to wrap this text here

#

I pushed the change up, feel free to modify it, as the current way is a big ugly. Using an empty tag and all. But I am not versed well enough in the arts of astro components that I could make that in a clean way

neon epoch
still apex
hard quartz
pliant canopy
#

@drowsy zinc when you end up merging my thing, pls add @hard quartz as a co author thank you

hard quartz
pliant canopy
#

I very much dislike it tbh

#

Or at least make it be directed to the right and be the same size text

hard quartz
pliant canopy
#

Yeah that's a smaller font size it seems

pliant canopy
#

Aligned to the right

drowsy zinc
#

for any paper people in chat, I need someone to take a look at docs#574 (mainly at the configuration descriptions)

brazen moon
#

can you add the missing rotate vanilla permission?

#

the roadmap need to be updated too api stack only are not a thing anymore

neon epoch
drowsy zinc
brazen moon
#

wrapping is weird here btw

hard quartz
#

QueCosa
i dont notice that

drowsy zinc
#

so I guess I just change the wording to mention that?

brazen moon
#

yes the interface part is still relevant

hard quartz
pliant canopy
#

Btw scorp has officially overtrown @neon epoch from being #1 on the docs. Congrats ig yesurerie

brazen moon
#

i think this section should really just say that at some point the class will be migrated to an interface, but there's already no api implementation anymore, they are all backed by an internal object. The constructor just call ItemStack#of

pliant canopy
#

(Only because he bumped dependencies giggle)

still apex
#

being on the development page and the administration dropdownw being open/shownw

drowsy zinc
#

you can collapse it

still apex
#

thats annoying to do

drowsy zinc
#

the sidebar and pages are independent so no it can't really be changed

#

if you have a topic page open it will scroll to it on load though

vocal halo
pliant canopy
#

It's already merged giggle

#

Ended up looking like this in the end

rigid bluff
spice temple
#

Mmh?

rigid bluff
#

Is this page docs related ?
Because I have some improvement suggestion

drowsy zinc
#

it's the website

spice temple
#

But this channel is for all misc website stuff too, yes

rigid bluff
#

This is currently the case when you go to the Build Explorer for velocity or other paper products. You always end up at paper instead of the actual products

still apex
#

wdym

rigid bluff
eager plover
#

it just takes you to the explorer

#

there is no automagical way to take you down to velocity when going to that page, and it's just really not a priority

spice temple
#

Would be a really simple pr tho to add a query param there 🙂

opal flare
#

@drowsy zinc maybe under "you may” add "use the links provided directly without rehosting” - some people think using hosted images without permission isn’t okay, in this case it’s fine

#

(But in better English)

drowsy zinc
#

I'll put it in the overview paragraph since it applies to all images there I presume

opal flare
#

yeah

spice temple
#

Idk who manages this but pls fix, new docs broke search?

#

Or do we not use it anymore?

drowsy zinc
#

only pencil uses it

spice temple
#

How does search on the new page work?

timid cedar
#

ik we're in the process of merging docs, but we've now good very good adventure localisation docs we could link to https://docs.papermc.io/paper/dev/component-api/i18n/ https://docs.advntr.dev/localization.html

hard quartz
drowsy zinc
hard quartz
drowsy zinc
#

judging by that email it should be possible to just proceed in the algolia admin ui without any changes

#

I don't have access to it so I can't do it

hard quartz
#

Yeah maybe just need in Algolia run a reset or something but the thing is i remember when comes from docusaurus you cannot touch things in the admin site and just let run the plugin

pliant canopy
hard quartz
#

well the basic docsearch works fine but in dev the search just points to prod site xd

neon epoch
#

It only generated 134 records

#

Search will be neigh useless

hard quartz
#

then is valid try to add again the docsearch or just deprecate pencil search because i think the pagefind not allow search from external things (?

neon epoch
#

I’m gonna have a look

#

If we can get the crawler to work then we can keep pencil

drowsy zinc
#

you should probably use this crawler template

hard quartz
#

i just use the plugin and works

hard quartz
drowsy zinc
#

the site plugin is only a client for the algolia api

#

it doesn't have an effect on the indexability of the site

hard quartz
#

ahhh ok now i remember what you mean

neon epoch
#

yeah looking at the index it is basically just 1 item per page

hard quartz
neon epoch
#

no i need to change the config. Now turning on my laptop to do so

neon epoch
#

yeah the default is worse than the docusaurus one lol

#

ok it picked up 1800 rather than 11,236 records now

#

I imagine that is because it is not crawling the config docs

spice temple
neon epoch
#

nws should be done

#

It has significantly less records but all the config stuff is included

#

sorry for the email spam omegalul

hard quartz
odd harborBOT
neon epoch
pliant canopy
#

Yeah seems to work fine

odd harborBOT
hard quartz
#

well i supose is intended

neon epoch
#

This #_top is annoying

#

But it’s what is assigned to the title I think

hard quartz
#

yeah but unless the crawler can remove that when process the other way its just make Pencil "cleanup" that things

#

@neon epochthe crawls template used just modify the actions not?
because the docs not has a sitemap?

neon epoch
#

the docs do have a sitemap

#

and i have been modifying the actions

hard quartz
neon epoch
#

it's dumb because there are loads of different records that link to the page and it chooses the one with that dumb #_top

still apex
#

can’t you just change the bot to not suggest that

hard quartz
#

that is easy but looks ugly if the issue is how the crawler is what has that url

hard quartz
neon epoch
#

nah

#

they dont show like that

neon epoch
#

right back at this now

#

im assuming i can probably just delete it with the cheerio object

#

im gonna crash out

hard quartz
#

._.

neon epoch
#

do i just remove these one by one until it works

hard quartz
neon epoch
#
$('[id="_top"]').removeAttr("id");
#

and then remove, starlight__on-this-page--mobile

#

etc

hard quartz
#

xd

drowsy zinc
neon epoch
#

yeah

drowsy zinc
#

weird

neon epoch
#

with some modifications so that the config blocks index

hard quartz
neon epoch
#

Basically they have the "_top" id there. If i remove that it just populates it with the starlight junk

#

that stuff is there on other elements either way

hard quartz
#

well the main docs of starlight has the same thing but well they not use Algolia

neon epoch
#

lol... surely this is not intended behaviour

hard quartz
neon epoch
#

Try the bot now

hard quartz
#

i dont see that now

neon epoch
#

looks to be working

hard quartz
#

just with the record-extractor for the crawl not?

neon epoch
#

yeah just removing those couple of starlight id's fixes it

drowsy zinc
#

it shouldn't pick up those at all though

hard quartz
#

oh i was think you just remove the href xd

drowsy zinc
#

they're outside the CSS selectors

still apex
#

is @odd harbor broken

neon epoch
#

It could be my fault

#

Or it could be pencils fault

grand dew
#

the docs stuff doc knows about and is fixing at somepoint

#

or did fix afaik

grand dew
#

yeah

hard quartz
#

@grand dew i think its just freeze or offline because the google command fails to

grand dew
#

ah

young matrix
#

Someone needs to move it's functionality elsewhere or determine why it started stalling rather than just restarting it every once in a while

#

But that person is unfortunately not going to be me, at least for the foreseeable future

still apex
#

(what i've been saying for a while :p)

spice temple
#

I refuse to touch discord shit

#

But ye, the restart thing is obviously just a bandaid, but it works good enough

neon epoch
#

Every discord bot I’ve written kills itself at intervals

#

Idek know why

#

I just get random exceptions from stuff normally

eager plover
#

Discords endpoints are stupidly stable

#

A lot of the libraries generally don’t have a good means of handling that

hard quartz
#

how handle the gateway always is a issue.... for the reconnection thing also

vocal halo
#

Is the code OSS? What language is it written in?

still apex
#

pencil is open source

neon epoch
still apex
#

www

neon epoch
#

Had to slowly fix that link

still apex
#

@odd harbor

#

still dead

spice temple
#

Not still, that's not how this works

#

It's dead again

#

It will undead itself in a bit

hard quartz
spice temple
#

Sure

hard quartz
#

If remember pencil only need handle one thing in the update for the reference message

spice temple
#

Idk if it still auto deploy, ping me once it lands so I can check

hard quartz
hard quartz
lilac edge
#

is that really how it needs to be done now? that's so ugly

#

this is pencil so it doesn't matter that much but bleugh

hard quartz
twilit fog
#

Shouldn't entities be listed here?

#

cause an actual server has them like this

#

this also differs from the docs

#

is this correct not saying "to 1.21" in bukkit.yml docs?

vocal halo
#

What would you replace it with?

twilit fog
vocal halo
#

The last one

twilit fog
#

"from 1.13 to 1.21"

brazen moon
#

yes and the minor part looks outdated, api-version now support that digit, should be dynamic too or just 1.13+

twilit fog
brazen moon
#

it should just say to follow the api-version format or smth, feel free to open a PR!

brazen moon
vocal halo
brazen moon
#

yes it's the same

vocal halo
#

👍🏻

random pollen
#

I think thats the same thing I saw in ij, not sure why it didn't show up in check before

jagged pecan
#

Huh, interesting, it satisfied vscode + tsc

random pollen
#

maybe it short circuited on those other 3

jagged pecan
#

If I get time, I'll try and see what I intellij does differently

#

Was that idea + the relevant plugins? Or smth like webstorm

random pollen
#

this isn't intellij

#

this is bun run check

#

after applying your diff

jagged pecan
#

Huh what

random pollen
#

it removed the other 3 errors but adds this one

#

intellij was just showing it before and after the diff

jagged pecan
#

for some reason github gave me 0 notifications around that pr lol

random pollen
jagged pecan
#

huh

#

rebasing to master, this patch still seems to produce no errors for me, with both bun check tsc ., or as an error line in intellij

so i have no idea whats happening

Index: web/src/lib/components/tree/Tree.svelte
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/web/src/lib/components/tree/Tree.svelte b/web/src/lib/components/tree/Tree.svelte
--- a/web/src/lib/components/tree/Tree.svelte    (revision c55247b1bd38a869a50245ecd1f12273154292e9)
+++ b/web/src/lib/components/tree/Tree.svelte    (revision e375ea2642ff887d43d572c5ca01eca969f77d7f)
@@ -1,5 +1,5 @@
 <script lang="ts" generics="T">
-    import { type TreeProps, TreeState } from "./index.svelte";
+    import { type TreeNodeView, type TreeProps, TreeState } from "./index.svelte";
 
     let { instance = $bindable(undefined), roots, nodeRenderer, childWrapper = null, filter = null }: TreeProps<T> = $props();
 
@@ -16,7 +16,7 @@
     }
 </script>
 
-{#snippet renderNode({ node })}
+{#snippet renderNode({ node }: { node: TreeNodeView<T> })}
     {@const collapsed = requireInstance().collapsedNodes.has(node.backingNode)}
     {@render nodeRenderer({ node, collapsed, toggleCollapse: () => requireInstance().toggleCollapse(node.backingNode) })}
     {#if childWrapper !== null}
@@ -29,7 +29,7 @@
     {/if}
 {/snippet}
 
-{#snippet renderChildren({ node })}
+{#snippet renderChildren({ node }: { node: TreeNodeView<T> })}
     {#each node.visibleChildren as childNode (childNode)}
         {@render renderNode({ node: childNode })}
     {/each}
random pollen
#

look at master, I just pushed that exact diff

jagged pecan
#

ah ok

random pollen
#

maybe different import order idr

jagged pecan
#

yeah im slow?

random pollen
#

huh?

jagged pecan
#

import order shouldnt matter afaik

jagged pecan
# random pollen huh?

i pulled master before re-appling, but sometimes i just take a while fighting git :)

random pollen
#

I just stashed all my local changes and did bun check with latest master, still getting the error

#

if you're not getting it maybe it's system specific somehow

#

I'm on linux rn

jagged pecan
#

oh wait

random pollen
#

I'm just running bun check from command line, I'm semi accustomed to ignoring errors in svelte files from ij since it doesn't work properly with ts in templates

#

❯ node --version
v23.9.0

#

❯ bun --version
1.2.11

jagged pecan
#

yeah bun check has nothing for me, my bun version is 1.2.9

random pollen
#

let me try nuking node_modules omegaroll

jagged pecan
#

ill try the self-upgrade now

random pollen
#

ok nope I nuked node_modules and reran install, same thing

jagged pecan
#

ah i nuked node modules, reinstalled, and now i get the error

#

interesting

random pollen
#

I commented on that issue, might be worth mentioning that there, idk

jagged pecan
#

let me re-downgrade bun to make sure that wasnt the issue

#

yeah no not caused by the upgrade, but by the node_modules re-install

random pollen
#

and you were already up to date with bun install before nuking it?

#

should def mention that on the issue since it seems like the maintainers were having a hard time reproducing it

jagged pecan
#

yeah my dependencies are quite old comparatively

#

I had installed just before that warning started appearing, in commit 77bc92

according to bun, which was instructed to install from the frozen lockfile, the following packages updated

+ @eslint/compat@1.2.7 -> 1.2.8
+ @eslint/js@9.22.0 -> 9.24.0
+ @sveltejs/kit@2.19.0 -> 2.20.5
+ @tailwindcss/vite@4.0.13 -> 4.1.3
+ @types/diff@7.0.1 -> 7.0.2
+ @types/luxon@3.4.2 -> 3.6.2
+ eslint@9.22.0 -> 9.24.0
+ eslint-plugin-svelte@3.1.0 -> 3.5.1
+ svelte@5.23.0 -> 5.25.10
+ tailwindcss@4.0.13 -> 4.1.3
+ typescript@5.8.2 -> 5.8.3
+ typescript-eslint@8.26.1 -> 8.29.1
+ vite@6.2.1 -> 6.2.5
+ @octokit/openapi-types@24.0.0 -> 24.2.0
+ bits-ui@1.3.13 -> 1.3.19
+ luxon@3.5.0 -> 3.6.1
#

specifically, upgrading svelte@5.23.0 to svelte@5.25.10 svelte@5.23.1 is the root cause
edit: narrowed it down even more

random pollen
#

interesting

jagged pecan
random pollen
#

maybe, I'm not sure

#

would have to test

#

I think the OP's diagnosis was a bit of a red herring (or rather acted as one for the svelte team)

#

becuase they are right, no one will do that weird import thing

#

this happens just writing normal svelte

lean venture
#

why is the talk about svelte?

#

lol

#

thought docs were in astro

spice temple
#

this channel is more than just docs

#

its what we use for all misc web projects, like patch roulette in this case

pliant canopy
#

Or, well, at least the docs do

spice temple
#

astro has 0 frontend js

#

you can use whatever you want with astro

#

but you are not gonna get good integration between astro components and framework components

#

which why I will never understand astro

neon atlas
drowsy zinc
#

vanilla big v otherwise great

neon atlas
vocal halo
#

what is this embed?

south thunder
#

mja's profile pic

pliant canopy
#

somebody who is very happy about the current state of the paper documentation

#

speaking of which, I should finish my PRs

vocal halo
#

im more talking about why it looks like this. usually if you link something on github it has that standard embed

#

with name and stats

pliant canopy
#

It has been showing the profile picture on prs for a while now

still apex
#

only on commits?

vocal halo
#

maybe

neon epoch
#

I feel like that’s intended behaviour can’t remember tho

vocal halo
#

well it looks unfinished idk

jagged pecan
eager plover
#

I think he means that astro and framework will be using different components and will likely involve some headache of either manually keeping stuff in sync between astro and your framework

vocal halo
#

Isn’t it like that if you are using a vue component you can’t use an Astro component inside of it or something like that? I remember having issues with that (I’m not an expert and did it merely to try out Astro maybe I’m just too unfamiliar)

eager plover
#

that would generally be what I'd expect given that vue and other frameworks generally like to understand what is going on and not have random things pulling in html/wahtever from elsewhere

spice temple
#

No Vue is fine with that

#

I do that at work