#docs-website

1 messages Β· Page 15 of 1

opal flare
#

not anywhere atm; i will screenshot for you the current ones

#

recommended

spice temple
#

in general not sure if we even need them all, but they look good

dusty kayak
#

Hello!

opal flare
dusty kayak
opal flare
#

checking

#

should be working

dusty kayak
#

Such a real one, Thank you so much, riley. Decided to do some updating tonight and noticed the issue catkiss

spice temple
opal flare
#

too late, i used it to fix prod kekwait

spice temple
#

I blame the cashier for being slow

opal flare
#

and here is where you tell us you used the self-checkout

#

hm, broke again

#

found the issue

spice temple
#

nah self checkout is dum slower because I need to do double the work

drowsy zinc
#

kaufland k-scan 😌

rigid bluff
#

Props to the new adventure docs looks very nice

viscid thistle
hard quartz
#

only me feel "strange" for that ugly embed message? xd

#

really fast just still that issue for velocity downloads

pliant canopy
#

Well, that's just what it looks like

hard quartz
#

yeah... the website not run like the docs site in terms of cloudflare?
because docs the preview thing looks different

pliant canopy
#

The docs and the website have entirely different cloudflare/github actions setups

viscid thistle
#

We also had to migrate the website from Pages -> Workers yesterday.

rigid bluff
drowsy zinc
#

pages can also do ssr but cloudflare is moving away from pages to workers with static assets

viscid thistle
#

So next-on-pages has been fully deprecated and they are having people move over to OpenNext. Part of it makes sense, part of it seems like they want to try to make a little more money.

#

So we're using OpenNext with ISR via queues and r2.

rigid bluff
viscid thistle
#

We initially didn't add in the r2 and queue but I had noticed that things felt slightly delayed when we originally pushed this and then I realized it was never doing a cache hit for ISR (main page, downloads, etc). So that got added in last night and what you're seeing on the page is actually just a cached entry from a queue / r2 bucket cached on the edge.

#

All pages just seem... instant now. I love it πŸ˜„

#

And then when the blog branch is ready to go, we'll be upgrading from NextJS 15.3.5 -> 15.5.4. Shouldn't notice anything on the frontend.

drowsy zinc
#

pages has pages functions for server-side code

opal flare
pliant canopy
#

yay!

twilit fog
#

omg

#

lets go

#

oh it's spring boot? thought it would be some JS stuff

opal flare
#

ofc spring boot

#

spring boot is love

night tiger
#

is strokk going to have to write docs for it ;)

pliant canopy
opal flare
#

should rename that to Downloads Service too

pliant canopy
#

Fair enough

opal flare
#

you want to PR that one?

pliant canopy
#

I am about to just commit

steady fulcrum
#

smh

pliant canopy
#

Small and simple change, a few words changed, and a redirect added

#

There; fun and done

#

oops I cooked a link

opal flare
#

ty

drowsy zinc
#

the redirect won't work for links with a trailing slash (any link pasted out of starlight)

pliant canopy
drowsy zinc
#

it didn't really need one imo

spice temple
#

We always need redirects

#

For Google and for people who shared links

drowsy zinc
#

the slug change wasn't needed

spice temple
#

That I can get behind

random pollen
#

does something have to be done for the dl page to show .10

viscid thistle
#

Have we had a situation where we had another version go experimental before the previous went stable? Maybe it's being confused on 2 different experimentals? Not sure.

#

I see the 1.21.10 in the build explorer but idk what controls what it shows as the experimental build version toggle.

#

Paging @opal flare

eager plover
#

Did it not need a redeploy?

viscid thistle
#

I don't think so? I see the API calls for the 1.21.10

#

I guess I can go look at how it determines what to show.

opal flare
#

re-deploying

eager plover
#

I know we've had a new experimental drop before another version was done, fairly recently too

opal flare
#

.10 now live

viscid thistle
#

What's being cached that requires a re-deploy for it?

opal flare
#

no clue

eager plover
#

it's apparently just all statically done or something

viscid thistle
#

Going to investigate this.

#

Why do we have a fill and a service lib? What's the difference? Once has bstats, one doesn't?

#

I can't even see the downloads.ts context being used anymore.

eager plover
#

Honestly, I think somebody submitted a PR which moved stuff over and we hit the button and never looked at it again

viscid thistle
#

Time to start rolling a dice and removing stuff

#

Ope we just rolled a 6 on downloads/all/page.tsx! It's gone!

lean venture
#

Is it just me or am I the only one that noticed that in the past month(s) this channel has become quite active

eager plover
#

We bullied some people into forming a docs team

#

We keep telling them, 100 more pages, they can have the keys

opal flare
#

it is also one of the first channels hit by spam bots so people are always like "what did u say m8?"

pliant canopy
opal flare
#

what did u say m8?

pliant canopy
eager plover
#

Being British is my affliction

#

Please don't appropriate my pain

opal flare
#

I was channeling Australian from @astral smelt

eager plover
#

Same difference

opal flare
#

but yes, this channel is basically "all web properties" these days

#

website, docs, fill, fill-ui

drowsy zinc
#

web is the future

pliant canopy
#

I hope not

drowsy zinc
#

2030 paper in the browser

pliant canopy
#

I hate web

viscid thistle
#

Do we really need to SWR update the bstats on the home page? Do we expect people to sit there and watch it?

#

If not, I'm switching that over to ISR.

pliant canopy
#

Yes

#

I'd watch it

viscid thistle
#

Okay so that's going ISR

#

What are we rolling the dice on next?

opal flare
#

oop

#

dead code?

viscid thistle
#

Yes

#

We have unlimited Cloudflare Workers, right?

#

This team page is 25MB because of all the images lol. I was going to ISR it and optimize it.

opal flare
#

we do

viscid thistle
#

Bet. We're going to use that.

#

I think I also solved the redeploy issue. TLDR the route gets statically pre-built and even in ISR it just re-uses the fetches from the download.ts so I added in revalidate instructions to it.

opal flare
#

oh good

viscid thistle
#

Alright going to open a PR for this. I think it's a good first iteration of cleanup.

#

I'll save the migration of eslint or biome for another branch.

opal flare
#

sure

viscid thistle
#

Let's pull this up on a preview branch just to ensure things work as expected. Let me get the PR open, one sec.

pliant canopy
drowsy zinc
#

it needs one with a trailing slash

pliant canopy
#

So two?

#

Why don't the other redirects have one ones with trailing slashes?

drowsy zinc
#

other redirects are from docusaurus-era which had a different file structure, so they didn't have the trailing slashes

viscid thistle
#

Thanks Cloudflare. Where's the URL? Smh.

pliant canopy
pliant canopy
#

wait, so just one with a trailing, or one with and one without?

/misc/downloads-api /misc/downloads-service/
/misc/downloads-api/ /misc/downloads-service/
#

What if somebody manually removes the trailing slash because they feel funky?

viscid thistle
opal flare
#

it should be there but it isn't

#

love that

viscid thistle
#

Mhmm

viscid thistle
#

If it's the same general URL scheme for branches then I can at least start guessing them.

opal flare
#

it does not have a preview for some reason

viscid thistle
#

o.o

lean venture
lean venture
opal flare
#

so bad news: website will no longer have previews

#

thank you, next.js

pliant canopy
viscid thistle
#

Well in happier news that 25MB is down to 7MB now

hard quartz
viscid thistle
#

The ISR setup that we had to go with on the migration from Pages to Workers disables previews from working.

#

It worked yesterday because I didn't fully setup the ISR properly kekwiggle

hard quartz
#

Then now its impossible has previews in PR?

viscid thistle
#

It's not impossible but we'd have to do automation via GitHub Actions to spin up and spin down environemnts per-pr.

opal flare
#

Time to bring back the Astro rewrite at this point

pliant canopy
hard quartz
sharp pivot
#

0 days since last migration

opal flare
#

Next.js is just such a headache

pliant canopy
#

I'd like to try a vue rewrite

#

How does that sound

viscid thistle
#

What it boils down to is that if we're moving the build explorer to fill and off the main site, we have minimal need for any JS on the site.

pliant canopy
#

I highly doubt we are moving the build explorer

#

(Are we doing that?)

lean venture
viscid thistle
opal flare
#

No vue

#

Astro is what it will be if we rewrite

pliant canopy
pliant canopy
opal flare
#

Because Astro is the good in-between. Markdown support for blog, etc

pliant canopy
#

I am joking here btw

#

I think we could push through an Astro rewrite if we do push it through

#

But I think having a clear decision on that would be great

#

Do we want to rewrite the site to Astro definitely?

opal flare
#

I am 100% open to the Astro rewrite. Using Next.js has always been a headache:

  • self-hosting is not really possible in a sane way unless you jump through hoops, and has no previews
  • cloudflare workers hosting works but requires an R2 bucket + Durable Object, and has no previews
  • astro lets us use markdown, react/svelte if we want to, and is already in use for docs.papermc.io
viscid thistle
#

Let me see what I can pull from the old branch and see what it'll take to update it.

pliant canopy
#

Whilst we are at it, any functional differences we'd like to the site?

#

Might as well get some plans in if we are touching basically everything already anyways

serene vault
#

blog posts or similar

opal flare
#

Ideally we do a 1:1 copy first and do any changes after that.

pliant canopy
#

Fair enough

eager plover
#

We tried and generally failed due to the interactivety stuff being cludgy and people generally being against typical frameworks used to solve this

viscid thistle
#

The biggest blocker was the build explorer... but if that's confirmed being moved to Fill...

eager plover
#

The biggest blocker was the downloads page for paper, etc, itself

pliant canopy
#

I haven't heard anything in that regard

#

Only EterNity making things up

serene vault
eager plover
#

it was stuff like having multiple artifacts for something required some interactivety that was basically unviable without a framework or raw JS

#

I guess that's not a big issue now as we don't have multiple artifacts on there

opal flare
#

framework of choice is svelte these days - diffs.dev, fill-ui, and others use it

#

which is lightweight too

eager plover
#

I think svelte was loosely mentioned but nobody had any experience with it at the time

viscid thistle
#

Yeah I haven't really used it much.

opal flare
#

its pretty easy to learn if you know others

serene vault
#

svelte and mdsvex for the markdown parsing is what we do for our server website for the blog posts there.
The workflow is for posting something nice and easy imo. Though a friend made the site, idk how svelte was to work with

viscid thistle
#

The benefit of Astro would be the blog section. It just... works. It's designed for it.

#
  • all the images created at build-time.
eager plover
#

I mean, the issue was that our downloads page had a whole bunch of drop downs and astro had 0 means of being able to cleanly have standard dropdown menu stuff without running around to more legacy web hacks

#

and the options were basically use something we already knew, which was blocked; write JS, which sounded tragic; or pick up svelte, which sounded like a task for next year

drowsy zinc
#

we also use svelte in the docs

#

for the item command converter and start script generator

opal flare
#

yup

viscid thistle
#

Would it be raw Svelte or SvelteKit?

opal flare
#

sveltekit is what is used iirc

viscid thistle
#

What portions of SvelteKit vs Svelte would we need for interaction on the download pages?

#

Because we could just shove Svelte in those pages with Astro so we can maintain the build-time responsive images.

drowsy zinc
#

sveltekit is the routing+ssr+other stuff, svelte is the actual framework with the markup and reactivity

viscid thistle
#

Correct

#

I'm down for whatever. It just sucks that the integration for Cloudflare Workers with NextJS causes so much limitation.

opal flare
#

Astro + Svelte

scenic gull
#

Because I have to ask: Are we sure these various services will still exist in six months in a way that is useful to continue using them? Because so much of this js stuff comes and goes like an indecisive toddler.

opal flare
#

Astro is not small; used by companies like Google, Microsoft, Cloudflare. Sponsored by Cloudflare, Google Firebase, Netlify.
Svelte is owned and backed by Vercel.

vocal halo
#

vercel, evil

lean venture
#

All 3 major frameworks are owned by them lol

vocal halo
#

vue too?

lean venture
#

Vercel owns Svelte/SvelteKit, Nextjs and Nuxt

vocal halo
#

so vue πŸ”›πŸ” as always

lean venture
#

well... yes and no

#

Cause what makes vue shine is Nuxt

lean venture
#

but vue is indeed nice, fell in love with it (coming from svelte)

#

One of the things I like the most about vue compared to svelte is:

{#if porridge.temperature > 100}
    <p>too hot!</p>
{:else if 80 > porridge.temperature}
    <p>too cold!</p>
{:else}
    <p>just right!</p>
{/if}

becoming

<p v-if="porridge.temperature > 100">too hot!</p>
<p v-else-if="porridge.temperature < 80">too cold!</p>
<p v-else>just right!</p>
#

it's chef's kiss, I was tired of the svelte syntax for ifs/loops/etc

#

love the rest, but this one point was annoying

viscid thistle
lean venture
viscid thistle
#

That is true, but, there's a key difference of owning the framework vs just hiring a group of people that work on it.

#

But, neither of those will be our problem for much longer.

spice temple
spice temple
spice temple
spice temple
#

Only next is "owned" by vercel iirc

spice temple
#

Before anybody wastes time on Astro again I would like to see a short diagram or description on how the components are fractured, seeing as you can't reuse server rendered components on the client side dynamically, because astro can't be used client side

#

And you can't use client dynamic components on the server

#

(I literally wrote my own "astro but one framework for both client and server" meta framework at work because of that shortcoming, once nitro 5 hits am looking to refactor it into a vite plugin and then pressuring people to open source it)

opal flare
spice temple
#

Is performance actually an issue?

#

I'll look at it after this meeting

#

These mongo index thingies seem like dum API, lol

#

But looks good

#

One day I'll push some integration tests to make sure these changes don't break @steady fulcrum 's stuff, lol

viscid thistle
#

I switched from eslint to Biome

hearty briar
#

most people I know (which don't use eslint/prettier) use oxlint for linting + biome for formatting

spice temple
#

Interesting

trail jasper
#

biome can also be used for linting

spice temple
#

I know that biome did a big push to pass the prettier test suite, I guess the oxlint formatting isn't that far yet

trail jasper
#

proper mdx support is lacking in all of them sadly

spice temple
#

Bundling, linting and formatting all in the same ast, not multiple parsing steps

viscid thistle
eager plover
#

I would believe so

#

to be honest, the fact that we're noy relying on serving multiple artifacts for a single thing makes it simpler, idk if we want to keep support for that or not though

#

That was a huge contention point, as we couldn't figure out how we were going to implement that without a lot of headache

viscid thistle
#

I think we need firm confirmation from Riley on if the build explorer is being extracted and we're just linking to Fill. That would provide some insight on any challenges we might face. Because if we're extracting that, then we can just use a Svelte component for the Terminal and the downloads page for showing the latest builds + experimental. The only other thing I can think of would be bStats which we could also turn into a Svelte component and just fetch the data or do it in raw JS.

#

The blog portion should be super simple due to Content Collections.

eager plover
#

Not talking about the explorer

#

That page used to support multiple artifacts being published for a single download

viscid thistle
#

Ahh yeah okay that will be something important to discuss too. We could do fetch with swr in a Svelte component most likely for each of the download pages, but everything else can be static.

#

Riley said CORS shouldn't be an issue, so I think we should be able to fetch builds from the API directly in the component.

eager plover
#

For that we had stuff like dropdown menus which was a huge issue because to handle that you either need to pull off some hacks like relying on eating up the entire page with a transparent div to support closing the menu, or figuring out some way to deal with that state

viscid thistle
#

Yeah I gotcha

lean venture
eager plover
#

I think it was basically one of those "we pay them to do stuff but we don't influence the project"

lean venture
eager plover
#

Maintain the ecosystem, especially when you've spend your own company hours into making their integration into your platform almost a 1 click deploy

lean venture
#

good point

twilit fog
#

is the custom font key valid in this case? AFAIK it should be in quotations

timid cedar
#

can be quoted or not quoted, doesn't matter

twilit fog
#

sure, but it has a SEPARATOR char in there

#

oh I see how the tag does it, I see

pliant canopy
#

It's just two args

spice temple
spice temple
frosty shoal
#

When does Paper 1.21.9 come?

fair river
#

Wrong channel also see below @frosty shoal

outer elkBOT
viscid thistle
#

πŸ‘Œ

spice temple
frosty shoal
viscid thistle
#

Just listing out some things for me to attend to later for Astro branch:

  • Utilized the new responsive image tooling Astro provides
  • Utilize Svelte for download pages and Terminal
  • Maybe SWR for the download page in Svelte for fetching builds SWR is React only. Could just use localStorage as a cache, idk? 100IQ.
  • Lift and shift the TailwindCSS config
  • Add (separate branch?) for starting on content collections / blog
  • Ensure sitemap and robots work
  • Cloudflare Pages integration

Am I missing anything here for high-level notes?

viscid thistle
#

I've started working on this locally and I'll push what I get done tomorrow.

opal flare
#

went from ~6000ms to ~273ms for one endpoint (when uncached)

lean venture
#

So, just so I understand, you are moving the website/etc to Astro?

vocal halo
#

Docs already use Astro, fill/build browser won’t use astro

viscid thistle
# lean venture So, just so I understand, you are moving the website/etc to Astro?

Yeah just the website. The Cloudflare Pages adapter for Next went deprecated to we had to move it over to workers. To get ISR working with Next + Workers, we had to add in R2 + DO adapter and that worked, but, when you add in a DO to a worker you can no longer easily have PR branch previews so we're basically SOL unless we migrate off Next.

lean venture
#

Hey, I celebrate whoever migrates off next xD

viscid thistle
#

I'm fighting some styling stuff, but, I think I might leave that to someone else.

viscid thistle
#

Alright. Going to push what I have. It's still messy, but it's a start. I have to start packing for a weekend trip. Someone who knows Svelte better than me please look at the CLS issues on the download page. Javadocs page is missing, some utils may be missing, needs a bit of TLC for styling.

https://github.com/PaperMC/website/tree/feat/astro

drowsy zinc
#

the layout shift is probably because it's marked client:only

#

should be client:load

viscid thistle
#

I'm not seeing a difference in the CLS between those two, but, I'll just have someone who understands it better take a looksie πŸ™‚

viscid thistle
#

Negative. I just pushed new to the astro branch to ensure all the Next stuff was out of it.

opal flare
#

ah okay

viscid thistle
#

I can work on rebasing it here in a sec.

#

Or maybe not, it's giving me a lot of complaints. It's lil bit of a mess because the old Astro was on pnpm so it has to migrate the pnpm -> bun and then the prettier / eslint.

viscid thistle
#

Alrighty I'd say it's at least 50% done. Styling tweaks and the CLS stuff and once that's done we can add in whatever linter / formatter and then blog and call it good.

opal flare
#

woo!

undone drift
#

graphic design is my passion

random pollen
fair river
#

They should get a mention somewhere on the doc site once CurseForge version is approved right? EmaBkr

random pollen
#

Yes I think so

#

I think currently riley is coping with the curseforge signup system

#

(it's not good)

opal flare
viscid thistle
#

The Astro branch I think is ready for performance and UI review. Once that's good we can decide what linter / formatter to add in, work on blogs, and then get this live.

#

Someone who knows Svelte better than me should probably took a look at the components, but, they work.

pliant canopy
#

ahem @drowsy zinc

#

Svelte is probably your thing

viscid thistle
#

It also needs a rebase on main so good luck to whoever handles that πŸ™‚

opal flare
#

I volunteer @drowsy zinc

pliant canopy
#

And then force push main giggle

viscid thistle
#

I'll let Riley make that decision kekwiggle

drowsy zinc
#

I know that when I looked at it last time it was in svelte 4 reactivity syntax and didn't use runes

viscid thistle
#

It's using Svelte 5.39.11 atm.

opal flare
#

did someone say runes?

viscid thistle
#

I think there's an issue in the terminal with the way the lines show up so that might need to be looked at as well, but, for not really touching Svelte before, I think things turned out somewhat decent.

drowsy zinc
#

feat/astro

viscid thistle
lean venture
#

ah now it appears? lol

pliant canopy
#

GitHub thingsℒ️

drowsy zinc
lean venture
#

yeah noticed that too

#

while it will still run in the Sv5 engine, it's always better to use the new syntax

#

Also, for SoftwareBuilds.svelte, any reason you didn't make project and version props required?

#

And, maybe nitpicking but you are creating the same Date object twice on line 61 and 63

#

In SoftwareDownload.svelte, not sure about $: version, id, fetchBuilds();, pretty sure this is incorrect svelte syntax and not how reactivity should be done

#

for the correct syntax you'd replace that with an if statment and then call fetchBuilds()

#

and if you do that, you don't need onMount(fetchBuilds);

#

In SoftwareDownloadButton, I'd probably encase navigator.clipboard.writeText(d.url); in a try/catch. If I recall, some browser's private/incognito modes might break this and it would throw errors.

#

Overall seems pretty solid though

viscid thistle
#

Feel free to push a commit to clean it up! I don't know much about the Svelte 5 syntax, so, any improvements are more than welcome πŸ™‚

lean venture
#

I am heading out rn sooo, but if @drowsy zinc has free time, feel free πŸ™‚

pliant canopy
lean venture
#

also that

#

hahaha

drowsy zinc
#

I'm gonna put all that text into claude and let it rip

lean venture
#

πŸ’€

viscid thistle
#

Fork and push a PR to the branch and I'll merge it in

lean venture
#

I actually have no idea how claude 4+ is with svelte

pliant canopy
#

@alpine storm if you ever do want to do a conmit, make it and send it to me with git format-patch and I can push the commit for you

#

fuck Discord

#

@lean venture

lean venture
#

I switched to vue/nuxt before claude 4+ came out

#

our dear soldier scorp will handle the small changes and migration to svelte 5 🫑

pliant canopy
lean venture
#

now, if ya don't mind, I am about to go eat something and get drunk

pliant canopy
#

have fun

viscid thistle
#

I just need to know if anyone is serious about working on the Svelte stuff cause I'm going to work on some misc style stuff that I can find and I don't want to butt heads with anyone πŸ™‚

lean venture
#

check in with scorp, I just sent a review of the svelte stuff from what I could see

#

but overall tbh it looks perfectly fine

viscid thistle
#

I was able to run the svelte 5 migration on it

#

Oh and the waterfall download page I think needs some support for matching the EOL messages.

#

I'm going to push these changes for the svelte 5 migration

#

Oh I think I got the Terminal output fixed. Going to push this too.

viscid thistle
#

Okay, pushed a fix for the waterfall download page message, also fixed the missing colors for the waterfall download buttons, I'm probably forgetting something. I think it's about ready for review? Still needs to be rebased and we need to decide on oxlint or biome and then look at content collections for blog.

lean venture
#

Glare is on a streak

viscid thistle
#

I'm seeing if I can attempt this disgusting rebase.

pliant canopy
#

Seriously, I'd just force-push it once it is ready to merge

#

Idk up to riley

viscid thistle
#

I'm on commit 61/68

viscid thistle
#

Got it done, just doing some fixups.

#

https://github.com/PaperMC/website/pull/166

Alright, it's ready for review. Couple things:

  1. Re-do the readme and make it pretty? Idk
  2. Decide if we want to add in oxlint / biome before we merge this in or not
  3. Decide if we want blogs in before we merge this or not (I'd say after so we can at least get this initial migration out)
hard quartz
viscid thistle
#

Yup, it's a big one due to this getting rebased so it went through pnpm -> bun and then biome was removed for now and then migration of everything react over to either svelte or astro.

hard quartz
#
  1. maybe because its the default astro readme no? pretty sure not need the Astro Starter Kit: Basics how to create a project
  2. maybe in another? i think this whole PR can be a "squash and commit"
#

the only way to preview all this is well checkout and run in local not?

viscid thistle
#

Correct because we have previews Disabled

#

It'll go -> confirm things locally -> merge it in -> migrate back from workers to pages in Cloudflare

lean venture
viscid thistle
#

Working on an updated README now.

#

Ignore the branch I left that in on accident for the clone command

#

I need one of those pretty readme generator tools

viscid thistle
#

We migrated from Pages -> Workers a few days ago and that's what ended up making us want to drop NextJS again.

#

We can't do preview builds with the way we're handling it on workers right now.

#

So this Astro migration will allow us to go back to pages.

#

Oh we also need to add in the Cloudflare adapter once we confirm everything looks good.

#

Actually I'll just add that in now.

Just need someone to do the README and we need to decide on the linter / formatter and then it's ready for testing. Would be cool to see this get merged by this weekend and we can start working on the blog.

lean venture
#

any specific reason why you use CF pages?

#

(over alternatives)

viscid thistle
#

Because 99% of the site is static data and we were originally on Vercel but they wanted an arm and a leg after changing how they handled OSS sponsorships.

lean venture
#

I could potentially organize a sponsorship

viscid thistle
#

So much of our stuff is already in Cloudflare and it blends the analytics.

eager plover
#

We generally don't want to rely too much on the generocity of 3rd parties, especially smaller entities

lean venture
#

(I wouldn't call it that small)

#

but understandable

eager plover
#

We've generally just been bit by it far too many times; being vendor agnostic would be a good idea, being able to spin everything up on a VPS tomorrow would be nice

lean venture
#

(also FY it's self hostable)

viscid thistle
# viscid thistle Because 99% of the site is static data and we were originally on Vercel but they...

So that took us over to Cloudflare Pages utilizing next-on-pages for NextJS. Then next-on-pages recently went deprecated and they started suggesting a project called OpenNext, and we got that done, but that required us to migrate the site from Cloudflare Pages -> Cloudflare Workers. After getting ISR setup with NextJS on OpenNext, we found out that there's really no easy way to allow PRs to create preview envrionments without having to hack GitHub Actions. It also brought to rise a pretty big security issue with the default setup for how it all worked.

Fast forward to now, we're migrating to Astro, switching back to Cloudflare Pages, which then we will be able to do preview branches like normal.

lean venture
#

yeah understandable

#

was just throwing it out as I know that appwrite has sponsored several OSS projects before

#

and well, can be self hosted anyways too

#

but yeah, CF Pages is awesome either way

#

and if it works, it works

viscid thistle
#

We originally tried last year to do Astro but at that time we didn't have Fill v3 and it's UI. That was the major blocker for the Astro migration because instead of having the build explorer in Astro and trying to hack in reactivity for that, we just link to Fill. Which that reminds me, I need to add in a link to that on the downloads page.

lean venture
#

Yeah makes sense

#

as said, was just pointing it out, I'd rewrite hangar using appwrite if mini allowed me but I understand the whole vendor lock-in, even if it is self hostable

hard quartz
viscid thistle
#

build explorer links to the proper fill-ui URL now based on the project being looked at.

viscid thistle
pliant canopy
hard quartz
#

i forget the - sorry xd

viscid thistle
hard quartz
#

hmm the node min version?

viscid thistle
#

It's Bun

hard quartz
#

ahh okay.
the deployment status not? if that works like the same than docs not?

viscid thistle
#

We might have to wait until we deploy on Cloudflare Pages to get that

#

I'm so good at READMEs kekwiggle

#

Going to just roll with this and someone else can touch it.

#

Need to get back to work. Good talk people. Ping if needed.

opal flare
#

It’ll stay on Workers anyways, Pages is deprecated it seems

lean venture
#

so previews still won't work?

random pollen
#

no

#

you enable it in the wrangler config

#

if you mean for outside PRs it's the same situation as pages where you need a third party action afaik

viscid thistle
#

I don't think it's officially deprecated, they just suggest Workers for new projects

#

I think the issue we had with Workers for previews was the ISR in OpenNext required a DurableObject and Queue cache.

#

But I think previews work normally without them.

opal flare
#

Yes

hard quartz
pliant canopy
#

doc noticed an error in the docs

#

They became sentient!

hard quartz
#

-# im bored in the meet and goes to the docs for.. dont remember why and find this xd

drowsy zinc
pliant canopy
drowsy zinc
#

I pretend I do not see it

pliant canopy
#

When I have nothing to do I just start spouting nonsense

timid cedar
drowsy zinc
#

same

timid cedar
#

interestingly without the trailing slash it just redirects to the root adventure docs

opal flare
#

a timeout would mean cloudflare is dead, since docs.advntr.dev is a cloudflare worker

opal flare
hard quartz
opal flare
#

that would be my guess

random pollen
#

you can see the multi project test plugin branch for example uses

neon atlas
#

Can we ship the info in the dev bundle itself?

#

Tho I guess vendor selection would suck

random pollen
#

at mods this guy is getting off topic

neon atlas
fair river
#

@pliant canopy slavewhip

pliant canopy
#

I can do on Sunday

lean venture
pliant canopy
# lean venture Wait wth since when is this in kotlin

Since the age of dawn, when birds started singing their first melody, and when foxes still said goodnight to rabbits; when humanity was a legend yet to be told by tongue and the dream of a powerful being had just begun...

lean venture
#

Thought everyone here hated kotlin

#

(Or majority)

vocal halo
#

Nah haha

#

I think all paperweight related tooling is Kotlin

#

sculptor, mache and paperweight at least

lean venture
#

when paper rewrite to kotlin?

#

obviously the best option hehe

twilit fog
#

kotlin πŸ”› πŸ”

random pollen
#

@hard quartz whats "Took 7 minutes" omegaroll

hard quartz
random pollen
#

that's funny, I thought it might be an AI agent or something

hard quartz
#

nah i mean the IDE already has the IA xd

#

im sure i disable the add to commit...

viscid thistle
#

So for the Astro version on the download pages, are we cool with the slight second delay in loading the download pages while the client fetches with the skeleton loader or should I try to make ISR work via some Cloudflare Worker options so that it just caches the page on the edge for 10 minutes or so.

random pollen
#

haveing it prerendered would be neat

viscid thistle
#

Alrighty folks, I haven't implemented any of the Cloudflare Worker options yet but we do have a staging URL now! Feel free to play around and see how it goes. https://papermc-website-staging.papermc.workers.dev/

hard quartz
random pollen
#

I think that's what he meant with the CF worker options are not done yet

viscid thistle
#

^

random pollen
viscid thistle
#

Oof

#

Yeah I did not test light mode

hard quartz
viscid thistle
#

Looking.

hard quartz
#

and for waterfall the end of life banner its touching the logo (not sure how define this xd)

viscid thistle
#

Is it only Velocity that releases Javadocs as a version without a snapshot tag in the URL?

random pollen
#

the hangar image has different fitting and the navbar has different padding

#

other than that the landing page is exactly the same

viscid thistle
#

Like Folio is broken too. The latest version is 1.21.8 but the latest javadocs for it is just 1.21?

random pollen
#

maybe @small harbor can update the folia jd config

viscid thistle
#

I can fix velocity, I can just cut the snapshot tag off of it cause I assume it'll never be in the URL.

#

Probably not the best way but it's a bridge we can cross when we get there.

#

I think the hangar image different fitting is just the responsive layout changes between how Next and Astro handle them.

viscid thistle
#

Both of those fixes should be deployed. Looking at the navbar padding.

hard quartz
#

Now im eating and had the bad habit to use phone too i found this.

viscid thistle
#

Good catch

#

Going to go grab lunch and I'll be back

random pollen
random pollen
#

I'm looking into the downloads page ssr & caching

#

my ide is going crazy reindenting everything because there's no lint configs PepeLa

#

is it normal that team.astro takes so long to compile

opal flare
#

yes

#

it fetches all the avatars

random pollen
#

oh

#

I'm trying to build so I can preview before pushing this

#

I think it works though

#

(just in run dev it won't have proper caching behavior afaik, hence why I want to use preview)

#

huh, preview errors even after build

#
❯ bun run preview
$ astro preview
10:12:29 [@astrojs/cloudflare] Enabling sessions with Cloudflare KV with the "SESSION" KV binding.
10:12:29 [@astrojs/cloudflare] If you see the error "Invalid binding `SESSION`" in your build output, you need to add the binding to your wrangler config file.
10:12:29 [WARN] [adapter] Cloudflare does not support sharp at runtime. However, you can configure `imageService: "compile"` to optimize images with sharp on prerendered pages during build time.
[preview] The @astrojs/cloudflare adapter does not support the preview command.
  Location:
    /home/jason/Dev/PaperMC/website/node_modules/astro/dist/core/preview/index.js:44:11
  Stack trace:
    at preview (file:///home/jason/Dev/PaperMC/website/node_modules/astro/dist/core/preview/index.js:44:11)
    at async runCommand (file:///home/jason/Dev/PaperMC/website/node_modules/astro/dist/cli/index.js:153:22)
error: script "preview" exited with code 1
#

sad

#

probably have to setup miniflare or smth

#

is there a reason there's a separate CF staging deployment instead of enabling PR previews in the wrangler config?

#

or I guess it needs to wait until merge to do that?

opal flare
#

previews do not work with next.js

random pollen
#

if I turn it on in wrangler and open a PR to this branch whats the chance it works

opal flare
#

it is one of the whole reasons for switcing

random pollen
#

does not appear to have made previews 😭

opal flare
#

it won't, no

random pollen
#

should I just merge it to see if it works and it can be reverted if it's cooked

opal flare
#

yea

random pollen
#

main thing I'm not sure of is if I set the headers right, it's how cf docs say but idk if astro does anything funny or we have other settings

#

I was on the pages docs instead of workers earlier

viscid thistle
#

Hey @random pollen I'm back from lunch now. So far for the edge-cache I think you're on the right track but I think inside of Astro itself we can also make some changes. I think We should be able to also do a very lightweight middleware that interacts with the Cloudflare edge cache for the download pages.

random pollen
#

what's the advantage of that vs just using the cache headers?

#

also I swear it works locally but the page 404s on the preview lmao

#

might be something with the wrangler config?

viscid thistle
#

Yeah, I had the wrangler setup for static, not on-demand yet.

#

Also when I send that initial message to you I had not seen the last commit you pushed to the PR with the response headers set on the page.

#

It's starting to look more like what I was going to approach it with.

random pollen
#

also I think we can do better than this for the 404 page omegaroll

#

(thats from the prod site)

viscid thistle
#

I kinda like the style of this

random pollen
viscid thistle
#

Want me to push a change to the wrangler that I think might fix it?

random pollen
#

yeah sure

viscid thistle
#

We get logs and metrics for free since we're enterprise, right?

random pollen
#

also I think we should setup prettier & eslint (sadly biome is not fully compatible with svelte)

viscid thistle
#

Oh lord my day is ruined

viscid thistle
#

We could just skip it too, doesn't make a difference to me.

viscid thistle
random pollen
#

idk about it's svelte support but thats only a linter, not a formatter

#

iirc

viscid thistle
#

Sucks that Biome doesn't fully support Svelte πŸ™

random pollen
#

yeah it only deals with the contents of <script> tags

opal flare
#

just stay with eslint

hard quartz
viscid thistle
#

Okay I just pushed a change to the wrangler that should hopefully fix.

random pollen
#

I would say it can be closed when the astro pr is merged

viscid thistle
#

If it doesn't, I'll start to do some more research.

hard quartz
#

ok triage not allow add the relation issue-pr conterApunto

random pollen
#

oh, I'll add it then ig

viscid thistle
#

Okay downloads pages are back

#

@random pollen You want to tackle eslint + prettier?

random pollen
#

sure, I think we should also fetch the build list serverside

#

didn't realize it was separate

viscid thistle
#

Built list?

#

Oh

random pollen
viscid thistle
#

Yeah for sure if you want to add that into the download pages and update the svelte components for it, that'd be great πŸ™‚

random pollen
#

I'll do linting first

viscid thistle
#

But yeah the team page takes a little bit because it generates responsive image sizes for all the images on that page and serves them statically (a huge benefit over NextJS that does it at run-time)

random pollen
#

what do we want max line length to be

#

and what indentation

viscid thistle
#

80 / 2? Idk

pliant canopy
#

2 spaces and max of 120

#

80 is too short

random pollen
#

I think 80 is a bit too short yeah

pliant canopy
#

imo

random pollen
#

I usually go with 140 or 160 PepeLa

opal flare
#

140

viscid thistle
#

Obfusucate it bigbrain

pliant canopy
#

140 then

random pollen
#

ok 140/2spaces it is

viscid thistle
#

Can you add in VSCode settings for run on save please?

random pollen
#

I don't use vscode, you should add it

#

(using zed, would use IJ if svelte support wasn't so cooked)

#

somehow I didn't commit the correct scripts it seems

#

why did the worker build fail πŸ’€

pliant canopy
#

Mmm web dev

#

My favorite source of "why does it not work"

hard quartz
#

github pr explode.... great xd

random pollen
#

@opal flare @small harbor could one of you please check the error log on cf

#

for some reason the linting changes broke the build

#

oh nevermind I found it

#
[@tailwindcss/vite:generate:build] `@source` paths must be quoted.
file: /home/jason/Dev/PaperMC/website/src/styles/global.css
  Stack trace:
    at file:///home/jason/Dev/PaperMC/website/node_modules/tailwindcss/dist/chunk-MC3TVECV.mjs:31:4363
    at j (file:///home/jason/Dev/PaperMC/website/node_modules/tailwindcss/dist/chunk-MC3TVECV.mjs:3:1574)
    at async vn (file:///home/jason/Dev/PaperMC/website/node_modules/tailwindcss/dist/chunk-MC3TVECV.mjs:37:637)
    at async Ka (file:///home/jason/Dev/PaperMC/website/node_modules/@tailwindcss/node/dist/index.mjs:10:3433)
    at async Object.transform (file:///home/jason/Dev/PaperMC/website/node_modules/@tailwindcss/vite/dist/index.mjs:1:2338)
error: script "build" exited with code 1
#

what did it do

#

is it just the line breaks πŸ€”

#

lol it is

hard quartz
#

strange ._.

#

also in the download page

viscid thistle
#

That was a syntax difference of conversaion with React / Astro and React /Svelte

#

I can fix it when jmp is done with the linting stuff.

hard quartz
random pollen
#

might add type checking though

#

(done with that now as well)

#

I guess a middleware could improve things a bit by sending loading skeletons again if there's no cached page and simultaneously caching the hydrated page serverside

#

to avoid the rendering delaying initial page load when there's no cache

#

but not sure exactly how to do that

viscid thistle
#

It seems pretty fast now, good work.

random pollen
#

yeah the HTML is all pre hydrated with builds and version info, but the initial latency is not great for me, varies from like 300ms to over 2 seconds

#

I don't see cf-cache-status in the response headers either

#

I do see the ones I added though

#

oh wait something is adding cache-control: max-age=0 to the request headers

#

I don't have disable cache ticked πŸ€”

#

oh it must be from refreshing duh

#

not sure if that behavior is ideal though

#

I guess it's good?

viscid thistle
#

Lemme open up project again

random pollen
#

I just symlinked it to the readme

#

(that way it won't try running npm commands)

opal flare
# random pollen

CDN-Cache-Control is ignored by Cloudflare when used in _headers

viscid thistle
#

Ahh

random pollen
#

i.e. ```ts

export const prerender = false;
import Layout from "@/layouts/Layout.astro";
import SoftwareDownloadPage from "@/components/data/SoftwareDownloadPage.svelte";
import { fetchBuildsOrError, getProjectDescriptorOrError } from "@/utils/download";

Astro.response.headers.set("Cache-Control", "public, max-age=300");
Astro.response.headers.set("CDN-Cache-Control", "public, max-age=600");
const projectResult = await getProjectDescriptorOrError("folia");
const buildsResult = await fetchBuildsOrError(projectResult, false);

<Layout
title="Folia"
description="Download the latest builds of Folia, the experimental Paper fork with regionised multithreading."
keywords={["papermc", "minecraft", "performance", "paper", "downloads", "jar"]}
canonical="/downloads/folia"

<SoftwareDownloadPage
id="folia"
description="Download Folia, our new fork of Paper that adds regionized multithreading to the server"
experimentalWarning="Download experimental builds of Folia, our new fork of Paper that adds regionized multithreading to the server. Proceed with caution!"
client:load="svelte"
project={projectResult}
builds={buildsResult}
/>
</Layout>

opal flare
#

ah you removed that header?

random pollen
#

no, switched from using _headers to setting them on the page.astro

viscid thistle
#

I'm going to test something real quick.

#

So going to test some Cloudflare edge fetching options and if that doesn't suffice, we might consider a lightweight middleware.

#

That's deployed. See if it feels like it loads faster for you now.

random pollen
#

yeah it's not taking more then 300ms now

#

when cache is disabled in browser

#

I think that's acceptable

viscid thistle
#

Cool. Yeah I told the worker-env when fetching to set an edge ttl for the worker fetching process itself and to force cache it for the time we set.

random pollen
#

should I check the astro docs or do you know what this means already

viscid thistle
#

Their devtools are kinda neat

#

Sec I'm pushing vscode settings

#

Yeah I know what it means. I can push fixes.

#

We might just ignore it for now, or I need to probably look at the docs for proper SVG usage, cause when you switch it to their image component for this:

random pollen
#

btw I didn't realize the terminal was interactive until looking at the code

#

pretty cool

viscid thistle
#

πŸ˜„

#

I vote for now we just keep it in the regular img tag and focus on other things.

random pollen
#

fine with me

viscid thistle
#

Alright, what's all left to get this into production?

opal flare
#

is it rebased onto main?

viscid thistle
#

Yes

#

I spent like 30 minutes doing that the other day

#

The nav spacing is still slightly off, I can't get it to match perfectly.

#

It's like maybe 5 - 6 px different.

opal flare
#

Where can I see the difference?

#

oh I see

random pollen
hard quartz
#

Normal merge? Why not squash?

hard quartz
viscid thistle
#

I'm pushing a change for that image on the home page for hangar. I made it 1-1 of what it is now. I didn't actually realize the scroll bar was showing now because of that change πŸ˜›

hard quartz
viscid thistle
#

What pages are those two things on? I can try to fix them

hard quartz
#

-# also the team data need an update? CattoBlush

viscid thistle
#

Fixed both of those extra spaces

#

Pushing

#

It might need updating honestly. I thought I fixed all the files in the stupid rebase I did.

#

Let me check

random pollen
#

doc is new triage

hard quartz
#

-# yep, and not sure if another changes in the team?

random pollen
#

also what if we just made new builds trigger a site rebuild

#

maybe using fills webhook system

#

that would solve slow first load when a region has no edge cache

#

@opal flare ?

opal flare
#

maybe

viscid thistle
#

Well it's going to be 1 person once in awhile that runs into that

#

Everyone else will see it fine

random pollen
#

it won’t happen as often once it’s in prod yeah

#

just seems more straightforward to β€˜invalidate the cache’ when needed instead of time based

viscid thistle
#

Fixed nav minus 1 px

#

I'm not fighting this 1px. It's much much closer to 1:1 now.

#

Will be deployed soon

random pollen
#

I see a way to speed up the loads by like 30% too PepeLa

#

there's a duplicated builds request

viscid thistle
#

Oh?

random pollen
#

or maybe not actually

#

it might be duplicate but the gain looks smaller on second glance

viscid thistle
#

There is duplicated but the cache is already warmed by the time the 2nd request comes through

#

So it's going to be minimal.

#

Could try to promise.all them to run them parallel?

random pollen
#

possibly

#

can we pass a limit param to the fill api

#

not yet but we can pass a channel filter...

viscid thistle
#

Can you just build a util function that wraps and returns the result and builds in a single function and them parallel fetch the backend data for that?

#

Cause in the get project descriptor it already fetches the builds so just return the builds from that initial call?

Something like

const { descriptor, builds, latest } = await getDescriptorAndBuilds("paper");
opal flare
#

don't worry about limits and stuff, working on some changes to fill which will help with that

#

we will change it after that is done

viscid thistle
#

Apparently we can also use a KV binding to warm all pops at once but I'm not 100% sure on that yet.

#

We're pretty dang close though I feel.

random pollen
#

since for the descriptor query we will limit 1

#

with channel filter

viscid thistle
#

Oh sick so the extra speed will just come from the fill changes

random pollen
#

then for build list we limit 10 and no channel filter

#

yeah mostly

#

I pushed what we can do for now

viscid thistle
#

Awesome, ty.

#

Then I think... we're done minus a Team update?

#

Folia JD link is broken but I think we're waiting on Michael to push new ones?

#

Cause they were never deployed for 1.21.8, so, the site logic is right there for grabbing the latest version.

#

Oh I never did test on light mode. Did things seem better?

random pollen
#

same issue when clicking the big download button's dropdown

viscid thistle
#

Oh yes I never did address that, let me do that rq.

random pollen
#

also @opal flare a multi-channel filter would be good so we could query for stable or recommended

viscid thistle
#

Dear lord everything is so bright

opal flare
random pollen
#

yes

#

done

viscid thistle
random pollen
#

nice

viscid thistle
#

Alright that's pushed. Let me go suffer and look through the rest of the site in light mode.

opal flare
#

there are some sites I prefer in light mode these days - github and papermc.io are two of them

random pollen
fair river
#

We need a cute paper chan bg on fill rierunrunrun

viscid thistle
#

Found one last thing that needs fixed. Working on it.

#

Okay pushed a fix for that thing

#

I think it's pretty much ready to go now.

#

The sponsors missing image is no longer just a white circle and it matches with prod 1:1 for the initial as the fallback.

random pollen
#

is it intentional that styling is different for 1 initial vs 2 initials

viscid thistle
#

Yes

#

1 is literal html, one is opencollective image.

random pollen
#

oh

random pollen
#

not sure if this was a thing on prod but this hangar screenshot also looks a bit off

viscid thistle
#

Checking

random pollen
#

(looks like it needs the same fix as the landing page hangar screenshot)

viscid thistle
#

Good catch. Fixed. Any others? I'll group em all in a single commit.

random pollen
#

same thing on folia/waterfall/velocity

viscid thistle
#

Hangar always causing problems kekwiggle

#

Waterfall doesn't have a hangar one?

#

But I did fix for folia + velocity.

#

Pushed that

random pollen
viscid thistle
#

We want view transitions? dance

#

Nvm that breaks the nav dropdown

random pollen
#

can't you just wait until the dropdown closes before starting the transition

#

I guess I don't really get what transition you're trying to add

random pollen
viscid thistle
#

Am just messing around at this point

#

Not going to worry about that right now. I think we're ready for final checks and maybe riley pushes the button? πŸ‘€

lean venture
#

UI changes quite a lot depending on the page

hard quartz
#

The only thing i find in the first navegation.. that little delay in the color change...

random pollen
#

you mean when toggling experimental?

viscid thistle
#

Ahh yeah I see that too

random pollen
#

I'll fix it

hard quartz
random pollen
#

fixed

viscid thistle
#

Good catch πŸ‘

random pollen
#

well, fixed for the build list, I think the part with the big button was already there before my changes

#

it's much less noticable now though

viscid thistle
#

I think it's fine for now. I don't see someone chewing us out for something that small.

hard quartz
#

Yeah only happen one time then cannot reproduce later kekw

brazen moon
#

the font on the paper page's description is a bit smaller than the other/the main site

viscid thistle
#

Good catch

#

Lemme check

#

I see why

#

Fixed & pushed

#

@brazen moon Should be deployed. Can you confirm it looks correct now? πŸ™‚

brazen moon
#

yep perfect

viscid thistle
#

Beautiful.

#

@random pollen @opal flare Anything else we need to get in before we go ahead and move this to production? Once that's done we can start working on the blog πŸ˜„

random pollen
viscid thistle
#

Do we need to turn observability on in the wrangler config for our analytics or is that separate?

random pollen
#

@small harbor

opal flare
#

wrangler config

viscid thistle
#

Kk I'll turn it on

random pollen
viscid thistle
#

Ooo

random pollen
#

I have to enable throttling to fast 4g at least to see it fake_steve

viscid thistle
#

Okay observ should be turned on via wrangler config now

hard quartz
#

When merge the name need to be change here not?
wrangler.jsonc

viscid thistle
#

Ooo good catch. I'll have to coordinate that with riley.

hard quartz
#

That not affects later for future PR previews?

viscid thistle
#

Unsure yet.

#

Running Astro on Workers is still kinda new for me. I still use Pages.

random pollen
#

from my experience so far it's basically the same

random pollen
hard quartz
#

I mean if with all this then all the future PR can has the preview for them

random pollen
#

once it's merged we should be able to get previews working yes

#

well for PRs from the PaperMC repo

#

not sure if the third party pages action for outside PR previews works with workers yet

viscid thistle
#

Going to go make some dinner. Unless something else comes up this should be good to go. Just ensure you update the name in the wrangler config.

hard quartz
#

this one its a little hard and strange thing xd
a few avatars show a white line (second image) when pass the mouse over others avatars... if you pass the mouse over the avatar with the white line then fix for future...

viscid thistle
#

How long you dig to find that one? πŸ˜›

hard quartz
viscid thistle
#

Pushed a fix

#

Should be live if you want to confirm.

hard quartz
#

looks fine here πŸ™‚

viscid thistle
#

Awesome πŸ™‚

hard quartz
#

oh no...

#

better close the staging page xd

#

the downloads per project not has the commit in footer
now close the page for stop find things xd

viscid thistle
#

I'll take a look in the morning

pliant canopy
viscid thistle
#

I'm kinda confused

#

Oh nvm I see it

#

Did it used to? I wonder if it's because it's not pre-rendered and it's trying to pull env var from Cloudflare project at runtime.

#

Not entirely sure the proper fix for that right now. Need my coffee.

viscid thistle
#

I meant like on staging before we turned off pre-rendered

#

I think I have a fix actually, just need to bake it into vite's build step to expose during runtime.

hard quartz
viscid thistle
hard quartz
#

now is time for not touch/see and squash-merge xd

viscid thistle
#

Just gotta wait on Riley πŸ™‚

#

Cause I think we have to coordinate the wrangler config name update.

hard quartz
#

i hope this comes in squash because that PR are many commits xd

opal flare
pliant canopy
#

anything that ain't right

viscid thistle
# opal flare what is left?

I think we just need to coordinate the wrangler config name change. Need to turn off the wrangler deploys so I can update the config name and then we move it over to dev and then I think @random pollen has some insight on how to ensure previews are setup properly once we get this merged.

#

We've been able to fix anything that gets brought up, so, I think it's pretty much ready to go? Any small tweaks that come up and be addressed as needed.

random pollen
#

on fill-ui all I did was enable it in the wrangler config like I already did

viscid thistle
#

Ahh okay cool

#

So yeah I think we just need to halt the previews real quick, update the wrangler name conf, merge the PR and ensure it deploys.

#

Which if you're ready riley, I can go ahead and get the commit pushed to update the wrangler name and then we can merge this in and deploy to production.

opal flare
viscid thistle
#

I'm also going to drop the current blog branch once I save some things locally and I'm going to start a new one based on Astro.

hard quartz
opal flare
#

cross your fingers

#

what is the build command now @viscid thistle

viscid thistle
#

Whatever it was for the previews

opal flare
#
bunx opennextjs-cloudflare build
bunx opennextjs-cloudflare deploy
viscid thistle
#

I think

#

Oh

#

bunx astro build and bunx wrangler deploy iirc

night tiger
#

now that is a commit

opal flare
#

website may break briefly

viscid thistle
#

It's alive! Great work everyone!

opal flare
#

now PR enabling previews since you forgot that part

hard quartz
#

its already enabled not?

opal flare
#

no

viscid thistle
#

jmp added "preview_urls": true, to the wrangler

opal flare
#

oh he did?

viscid thistle
#

Yes

opal flare
#

I did not see that

viscid thistle
hard quartz
#

then now the next things for website its the blog feature and update the teams.json not?

viscid thistle
#

Yeah the teams.json should be a pretty easy update if anyone wants it.

#

I'll start working on a new blog branch here soon.

#

Now I get to write something up for the Astro showcase dance

hard quartz
drowsy zinc
#

great job on the website

opal flare
viscid thistle
#

Really happy that we finally made this a reality. Was fun.

drowsy zinc
#

idk if it was like that before but the alignment bugs me, needs an items-center on the row

viscid thistle
#

Ofc you wait to say that until after merge smh my head.

hard quartz
#

xd

drowsy zinc
#

could also probably use the assets CDN for the logos and stuff

drowsy zinc
viscid thistle
#

I have it fixed locally

#

@opal flare Can I just push this straight to prod?

opal flare
#

ok

viscid thistle
#

Guh

#

It's locked

hard quartz
opal flare
#

expected

random pollen
#

thats set in the bunfig.toml for security reasons

#

maybe there's a way to tell renovate to delay it's PRs as well

hard quartz
#

ready the two PRs doggo

random pollen
#

@hard quartz didn't see your PR first but I don't think it applies to all deps (specifically major versions)

hard quartz
random pollen
#

basically there are filters for what each rule applies to, the one you edited is grouping minor and patch updates

#

I made a new one that applies to all

opal flare
#

will merge doc's team and jmp's renovate

random pollen
#

whats this live content collections thing

#

sounds like maybe useful for the downloads page

opal flare
#

seems like it

random pollen
#

tbh at first glance I don't really get the difference from just normal clientside API calls or SSR

viscid thistle
#

Didn't really think about the live content collections but it didn't fully make sense to put the two together. I know we'll use regular content collections for the blog.

opal flare
#

or actually

#

what we could do is use minecraft screenshots as the hero? something featuring a new addition?

#

/cc @last bear ?

last bear
#

I don't think we need proper hero sections, unless you just mean a small banner-ish thing with the title and a background at the top

#

-# I'll do some bikeshedding and throw in that it's not going to be a blog but news pages

opal flare
#

yeah, same as like a minecraft update article with a hero at the top

#

iirc

#

is what glare had for next.js

viscid thistle
#

Riley can you look on the Xenforo Admin panel side of things and see if you can do a bulk export of the Announcements section in either XML or JSON and I can try to put something together to convert them all to MDX to save us a bit of time?

last bear
#

Nah I don't think we should throw in something as large as those, we really rarely have news covering the actually visible content and otherwise they'd fit better into the actual body of the posts since they wouldn't be representative of the entire thing ever either

viscid thistle
#

Sounds good.

viscid thistle
#

Guh. I don't want to have to do this via SQL queries.

opal flare
#

i'll whip up an export

random pollen
viscid thistle
#

You might be able to generate me an API key and I can try hitting an endpoint.

#

For scopes I think it's node:read, thread:read, and post:read?

opal flare
#

dm'd something

viscid thistle
#

Well this is fun. Got things started with the blog and I went to go build the site and I'm getting Bun panics.

random pollen
#

does it work if you comment the bun run part of bunfig

viscid thistle
#

Checking.

#

Nope, but a different error this time at least.

#

Somehow getting a JS heap out of memory.

#

Okay well I fixed it but I don't know why what it was doing broke to begin with. I had a MDX file outside of a folder on accident.

#

Or not, it's crashing again. Anyways, I'm going to push what I have so far for the blog. I did not port over any styling from the NextJS branch but I did add in tailwind typography and I took the data that Riley got me and got it started on the cleanup.

opal flare
viscid thistle
hard quartz
#

how firefox mess this...
first is chrome and second firefox in the latestVersionFrom

eager plover
#

some form of sorting logic or?

hard quartz
#

chrome sort: 1.7.10,1.8.8,1.9.4,1.10.2,1.11.2,1.12,1.12.1,1.12.2,1.13,1.13.1,1.13.2,1.14,1.14.1,1.14.2,1.14.3,1.14.4,1.15,1.15.1,1.15.2,1.16.1,1.16.2,1.16.3,1.16.4,1.16.5,1.17,1.17.1,1.18,1.18.1,1.18.2,1.19,1.19.1,1.19.2,1.19.3,1.19.4,1.20,1.20.1,1.20.2,1.20.4,1.20.5,1.20.6,1.21,1.21.1,1.21.3,1.21.4,1.21.5,1.21.6,1.21.7,1.21.8,1.21.9,1.21.9-rc1,1.21.9-pre4,1.21.9-pre3,1.21.9-pre2,1.21.10,1.13-pre7
firefox sort: 1.7.10,1.8.8,1.9.4,1.10.2,1.11.2,1.12,1.12.1,1.13,1.13.1,1.13.2,1.14,1.14.1,1.14.2,1.14.3,1.14.4,1.15,1.15.1,1.15.2,1.16.1,1.16.2,1.16.3,1.16.4,1.16.5,1.17,1.17.1,1.18,1.18.1,1.18.2,1.19,1.19.1,1.19.2,1.19.3,1.19.4,1.20,1.20.1,1.20.2,1.20.4,1.20.5,1.20.6,1.21,1.21.1,1.21.3,1.21.4,1.21.5,1.21.6,1.21.7,1.21.8,1.21.9,1.21.9-rc1,1.21.9-pre4,1.21.9-pre3,1.21.9-pre2,1.21.10,1.13-pre7,1.12.2

eager plover
#

I forget what JS offers for sorting, bleh

#

object sort :L

smoky granite
#

good olllll sorting

viscid thistle
#

Already opened a PR to fix it.

#

Not my favorite fix, but, it works.

#

Idk why it was only on Firefox and Safari

eager plover
#

it looks weird, like how the project is being passed over

viscid thistle
#

Wait don't merge

#

Why can't I convert this back to draft

#

I marked it as do not merge. I need to do some more testing.

#

It fixed Paper but it broke Velocity again.

hearty briar
#

Aren’t you guys using bun, why not just use their semver API?

viscid thistle
#

It's a client-side fetch in the worker environment

#

I don't think that'll run under Bun

eager plover
#

I don't like how we seem to be passing in what looks like a Project to a Record...

#

I would need to open my IDE but, 1am and on the wrong laptop πŸ˜„

hard quartz
#

hmm no preview working?

viscid thistle
#

Yeah idk why. Might be a jmp quesiton.

#

I'm still debugging locally.

weary condor
viscid thistle
#

Okay I pushed something different. Hope that works better.

#

Idk anything about the previews not working, so, someone might have to pull locally to confirm.

hard quartz
viscid thistle
#

Idk. I just installed Firefox to test this.

opal flare
viscid thistle
#

To find the right version for javadocs

#

It's a semvar compare

#

Because we don't have consistency across projects

opal flare
#

how do you mean?

viscid thistle
#

Waterfall -> 1.21
Velocity -> 3.4.0-SNAPSHOT but the Javadocs is 3.4.0
Folio -> 1.21.8 is the latest but Javadocs never deployed for it
Paper -> 1.21.10

opal flare
#

Yeah, but why is the actual sorting needed

viscid thistle
#

I don't know. Someone else did it.

#

I just ported it over.

opal flare
#

Ah

viscid thistle
#

I'm all for someone else to make improvements. I was just working with what I had πŸ˜„

viscid thistle
#

Dear lord this was the stupidest freaking thing. Bun was crashing out because a few of the migrated posts had empty markdown link URLs. It just wouldn't tell me that on Windows. As soon as I switched to Linux, it told me the issue and it works again.

viscid thistle
#

Blogs are pretty much ready to be worked on / styled by anyone. They are added in the sitemap and there's a rss.xml that is generated that will be under https://papermc.io/blog/rss.xml. All the blog pages just need styled and it's setup for MDX support so we can create some reusable blog components to throw into the posts.

hard quartz
#

now i remember.. not sure if @random pollen you know why the preview in website are not working? or is a thing for riley?

random pollen
viscid thistle
#

Riley may have to go to the Worker project in the settings and enable the Preview URLs option. It looks like last month they changed it to opt-in.

#

We can go ahead and ping @opal flare and have him double check that whenever he's around.

pliant canopy
#

@drowsy zinc btw I have updated https://github.com/PaperMC/docs/pull/642 to be up-to-date now and I think it is mergable. I also included the 1.21.9 system.properties changes (the descriptions are mostly copied from the mc wiki because I couldn't be bothered). Are you fine with me merging it?

GitHub

Description
This PR cleans up the config files shown on the docs in order to be in-sync with the current ones. Including:

Sorting entries to be in-sync with how the server generates the config.
Ad...

viscid thistle
#

Hmm, okay.

viscid thistle
#

So the next question, do we plan to use custom Astro components in our blog posts? And do we care if we have responsive-sized images in the blog posts? There seems to be a tradeoff between the two. With MDX (custom components), we have to do a little more work to have responsive images by default at build-time, if we drop the custom components, we can just just .md and I believe those are automatically responsive at build-time. I'm fine with either.

lean venture
#

wait blog posts? Since when are those a thing? Thought they were posted iin the forum

#

or am I missing something and that's a new feature?

viscid thistle
#

The forum is moving to read-only.

lean venture
#

Oh, well that makes sense

#

so you are moving blogs from the forum to it's own thing?

viscid thistle
#

I do not know the timeline for this ^^

lean venture
#

that sounds nice

viscid thistle
#

They'll be integrated directly into the website.

#

We haven't done much work on the styling yet, but, here's kinda what we have right now:

lean venture
#

Looks pretty decent

#

I'd suggest adding some QoL like ToC to the left/right side

viscid thistle
#

That should be possible.

opal flare
viscid thistle
#

Okie dokie

#

Okay cool so the same code works in Linux for this but running on Windows causes Bun to panic.

hard quartz
#

panic?

brazen moon
#

did you address my concern strokkur about 0 not meaning global for the config?

drowsy zinc
#

I was fooling around with the starlight-blog plugin in the docs codebase for 20 minutes, here's the patch if anyone needs a little inspiration (styling/layout/etc.) from an existing blog thing: https://pastes.dev/S8hbgg5dE2

viscid thistle
# opal flare which is?

It's related to using the Image component in the MDX. It works, just not on Windows env for some reason, it'll still build and deploy on Linux, just dumb. I will probably just go without the responsive images for now.

pliant canopy
#

If not, a quick patch never hurt anyone

#

(also, lulu, feel free to ping me whenever)

#

The number of blocks that the end portal opening sound is audible. Set to 0 for global (including cross-dimension). This setting has no effect if the gamerule globalSoundEvents is set to true, which is the default.

brazen moon
#

Yes it was in the review but was resolved before