#Next.js Discord Forum Discussion

1 messages ยท Page 1 of 1 (latest)

sharp python
robust garden
sharp python
#

@robust garden regarding the linked table, it could indeed be a good idea for profile pages, but for the ranking of answers I think it would still end up with a large number of rows read because we would need to compute it for every user instead of just using a backward index

#

we still have the answerId in the post table so if we ever need to add new features, we can populate new tables from our current data

robust garden
#

Yeah, i kinda came to the same consensus (as you could tell)

sharp python
#

also what happens when you run out of planetscale usage? slow queries?
no idea, tbh I thought they would just shut it down fine

robust garden
#

i also think to continue with efficiency, add a lastmod to posts to negate the extra querying involved + also better sorting for active (to copy discord on home) kinda taking about also: #discord-feedback message

robust garden
sharp python
#

they got incredibly lenient, I used almost 10x more the free quota

#

I should've waited for the fix after it reached 10b

sharp python
robust garden
#

(and one again sorry if im taking up your time with this - there is probably better things you could be doing then this..., and also again thank you for making this site and letting me contrubute to it ๐Ÿ™‚ )

sharp python
#

don't worry I appreciate the contributions, I am just busy atm so I am kinda slow to reply because I want to take the time to think more about it

sharp python
#

@robust garden sorry for the delay, your PR looks good. I left a final review because of unstable_cache and we can merge it ๐Ÿ™

robust garden
#

๐Ÿ‘ i kinda did think it was overkill, and will fix this now

robust garden
#

i think my fix conflicting change didn't mess things up

#

and the other reason for using custom regex (not from the package) was because of how unsuported it is (ie lots of new features aren't there) - making it easier to change to new platform

#

and sorry for over complicating a basic change

sharp python
#

no worries, you brought good points

robust garden
#

How many double ups of the random non-public name in this server and could it be worthwhile checking the db if user already exists and change salt or something? #discord-feedback message (611000252438413342 and 141252432054190080 seem to return same name)

robust garden
#

and i think there should be a fallback image (the default one) for when the user changed the avatar but the bot somehow doesn't know... https://nextjs-forum.com/post/1117227012701032569 (and possibly if the user leaves the server, make them to private)

sharp python
sharp python
robust garden
#

I was just wondering if it is just one case, or if many have the same name (which can confuse people)

sharp python
#

well actually if they gave permission to show the data I am not sure changing it back to private is expected, otherwise they would be required to say on the server to have their name public in the forum

robust garden
#

Well, they technically loose the role...

sharp python
#

yeah thats true blobthinkingglare

robust garden
#

It would also be weared if they join the server, and that is when they make it private (because of the member role)

sharp python
#

lets play safe and make them private as you suggested

robust garden
#

@sharp python another thing I have been wondering for some time is, how much ram is the bot using because it can be lowered with less caching (or using discordjs/core as you don't need much)

sharp python
#

let me check

#

ah its fine

robust garden
#

300mb fine as you can only really get it down to 50mb (with some horrible optimisations)

#

Yeah, I just didn't know how well it was with this big server

robust garden
#

Is there a reason that LayoutWithSidebar isn't just used/defined in a layout file (opposed to used in each page)

sharp python
#

good question, I don't remember

robust garden
#

I'm assuming it could be from when you used pages dir first...

robust garden
#

I like the new locking feature, however when a post gets locked, you seem loose notifications, so I think it should also DM the user saying that their post has been locked/removed to encourage them to make a better post...

#

At least this is what has happened to me when I participated in a thread that got locked (the locking message didn't get sent to me)

sharp python
#

blobthinkingglare are you sure it was not closed instead of locked?

#

I tested here with another account and I received the notification

robust garden
#

Hmm that's a good question

#

Ill test soon

#

I forgot that there is that there is just locking now

sharp python
#

I remember an user closed a thread and it indeed vanished from my list, I didn't know what happened until I searched for it so I could see the last message

robust garden
#

Yeah, that's what I'm worried by

#

But I think it should be good now (if you only locking) edit: just cheded docs and yeah locking and archiving are different

#

Well, how about the bot pings the user in the locking message (so that they can know insead of thinking it got ignored)

sharp python
#

I'm basically trying to not draw too much attention to the user itself since if you are new to discord it might seem a bit intimidating

#

so just the lock message without directing it to anymone is more neutral

robust garden
#

Yeah i understand the issues and kinda forgot about being a new user to discord

#

But thanks for always answering my questions ๐Ÿ˜€

robust garden
#

is there a way for google to actually use useful content (ie the LD+JSON) instead of this...

robust garden
#

There was a apost but not any replies, so it may have been confused. I was wondering if there is a way to guide google to not look at some sections of the page...

robust garden
sharp python
#

uh so weird ๐Ÿค”

#

no idea why it isn't loading

robust garden
#

is it in the db?

#

its the only one also ๐Ÿ˜ญ

#

1,836 characters (idk what the first non-edited one was) and the default character limit

#

but the limit seems to be 65,535, so ig you can look into this later ๐Ÿ™‚ (maybe looking at bot logs) - and nitro limit is 4,000

sharp python
#

yeah I can check the db

#

but not today, i need to sleep

robust garden
#

good idea, good night galactic_relifed

robust garden
#

so i think i either worked out the issue or another bug:

  • I put 10 files as attachments (not very small but not too large)
  • bot error: Failed to create thread: DiscordAPIError[40058]: Cannot message this thread until after the post author has sent an initial message.

I think the thread creation time occurred earlier then the message as it was still uploading my many files.

robust garden
robust garden
#

(umm idk why i thought that could that issue because the initial message did get sent)

robust garden
sharp python
#

no

#

tbh I am kinda tired lately

#

burning myself out with my work job and a complex side project

#

so when I am not doing these 2 things I am too tired to work on other stuff

robust garden
#

๐Ÿ˜ญ i understand that, I hope you get better soon

robust garden
robust garden
modest garnet
#

ever thought of registering nextjs.forum?
and using a subdomain for faqs like faq.nextjs.forum

#

it's available and it costs $20 a year

#

might need to ask for permission to the team at Next tho

robust garden
modest garnet
#

that would be a nuke solution compared to having a completely different domain easy to type and remember blobsweats

#

it would low-key imply a stronger endorsement by Next.js as an organisation while still keeping it separate from the org itself

robust garden
#

i mean, lots of forums used to be on subdomains...

#

but i get your point

modest garnet
#

I like short memorable and intuitive domains, and Google does too

robust garden
#

tbh i would say its cool, but id prefer the .com and use the .forum as redirect (but thats imo)

modest garnet
robust garden
#

i wouldn't say that joulevs site isnt that related to the forums... yeah it is made for it, but it can be used for way more than that (ie google and such), so it kinda sounds better as another one... having the end of forums can imply its only useful for forums...

modest garnet
#

mh, yeah... I can see how the associations could be made

robust garden
#

hmmm, i think we should stop going through each post's message to see last mod...

sharp python
robust garden
#

i think that might have been something weird... now its slightly better... but still shouldn't go through every message

robust garden
#

@sharp python what would be the best way on adding a lastmod row to the table... set the default to now and make everything modified... or make a script to set it to do the same query as sitemap does for lastmod... (and if script should it be done in the migration file...)

#

hmm should i call it lastActive instead of lastMod

sharp python
#

do we already have a createdAt column? it could be updatedAt

#

then we set it to new Date() every time it should be marked as "modified"

robust garden
robust garden
#

but for initial migration data is what im wondering

sharp python
#

(and if script should it be done in the migration file...)
that's a good question, I don't really know if we can do data migrations in the migration file because planet scale does not replicate the data on migration branches so it would have no effect

robust garden
#

this seems to work (just copyed code from sitemap)

import { Kysely, sql } from 'kysely'
import { DB } from '../schema'

export async function up(db: Kysely<DB>): Promise<void> {
  await db.schema
    .alterTable('posts')
    .addColumn('lastActive', 'datetime', (col) => col.notNull().defaultTo(sql`now()`))
    .execute()

  // update posts with lastmod time
  const posts = await db
    .selectFrom('posts')
    .select([
      'posts.snowflakeId',
      sql<Date>`MAX(IFNULL(posts.editedAt, posts.createdAt))`.as('lastModTime'),
      sql<Date>`MAX(IFNULL(messages.editedAt, messages.createdAt))`.as(
        'lastMessageModTime',
      ),
    ])
    .leftJoin('messages', 'posts.snowflakeId', 'messages.postId')
    .groupBy('posts.snowflakeId')
    .execute()

  for (const post of posts) {
    const lastActive = post.lastMessageModTime > post.lastModTime ? post.lastMessageModTime : post.lastModTime
    db
      .updateTable('posts')
      .where('posts.snowflakeId', '=', post.snowflakeId)
      .set({ lastActive })
      .execute()
  }
}

export async function down(db: Kysely<DB>): Promise<void> {
  await db.schema.alterTable('posts').dropColumn('lastActive').execute()
}
#

(idk it its a good practice thing to do tho)

sharp python
#

the last time I had to do a migration of this kind (for the number of answer for the members) I added a bot command ThinkDerp

#

yeah so the problem is that the migration on production doesn't run on the normal database

#

it runs on a replication that doesn't have any data

robust garden
#

o.O i didn't consider that

sharp python
#

I was meant to search about it to figure out how people were doing data migrations with planetscale but I didn't get to find a solution

robust garden
#

hmm ig ill make another command... should i make one for both (refresh data), or have 2 separate (probibly better)

sharp python
#

yeah you can make another command and we delete it afterwards

sharp python
robust garden
#

i am proposing lastActive because it makes more sense in the name

export interface Posts {
//...
createdAt: Date
lastActive: Date // i added
editedAt: Date | null
sharp python
#

ok so we have editedAt for post edits and it looks like we are already using it but we need another field

#

yeah active sounds like a good name

#

I would just add the sufix so we know its a date: lastActiveAt

robust garden
#

ahh good idea

#

*I didn't look at the others for examples to template of ๐Ÿ˜ญ *

#

is this code fine... or should i work out how to to do it like your other one... (idk about how to use the lastedit or new message - or if it is even necessary)

// update posts with lastmod time
const posts = await db
  .selectFrom('posts')
  .select([
    'posts.snowflakeId',
    sql<Date>`MAX(IFNULL(posts.editedAt, posts.createdAt))`.as('lastModTime'),
    sql<Date>`MAX(IFNULL(messages.editedAt, messages.createdAt))`.as(
      'lastMessageModTime',
    ),
  ])
  .leftJoin('messages', 'posts.snowflakeId', 'messages.postId')
  .groupBy('posts.snowflakeId')
  .execute()

for (const post of posts) {
  const lastActive = post.lastMessageModTime > post.lastModTime ? post.lastMessageModTime : post.lastModTime
  db
    .updateTable('posts')
    .where('posts.snowflakeId', '=', post.snowflakeId)
    .set({ lastActiveAt: lastActive })
    .execute()
}
await db
  .updateTable('users')
  .set({
    answersCount: (eb) =>
      eb
        .selectFrom('posts')
        .select(eb.fn.countAll<number>().as('count'))
        .innerJoin('messages', (join) =>
          join
            .onRef('messages.snowflakeId', '=', 'posts.answerId')
            .onRef('messages.userId', '=', 'users.snowflakeId'),
        ),
  })
  .execute()
sharp python
#

I think we have too many posts for the first alternative to work

#

let me check

#

hmm 6k thinkgif I think it's not that much to load in the memory

#

it should be fine as this is an one-off thing

robust garden
#

well its 6k but only 2 dates...

#

hmm do you want me to try and be fancier...

#

ill try and see ๐Ÿ™‚

sharp python
#

I mean if you want to try, go ahead meow_party but we can use the first version w/o issues

#

the only tricky part of converting it into a single query would be the conditional of picking the highest edit time from the two selected columns

robust garden
#

its a learning experience... and if it doesn't work, then ill just revert :)

sharp python
#

I would do this with a CTE in postgres, but I don't think vitess supports CTEs

robust garden
#

tbh i don't think i have ever seen an edited message after a message send...

#

(it was more a cool thing, but idk now... ill still update it from the bot)

sharp python
#

yeah its a very edge case that its not a big deal

#

if you come up with a query that only uses the message time we can use it as well

robust garden
#

wait is there always a message in the post...

sharp python
#

it just need to work with posts without messages

#

well

robust garden
#

thats what i just realised

sharp python
#

I think the post content is a message thinking

robust garden
#

if it gets deleted

sharp python
#

yeah I am pretty sure it is

#

if it is deleted you can use the current time

#

or the post creation time

robust garden
robust garden
#

idk if its worth this madness of a query

#

(it already seems chaotic for me)

sharp python
#

it would be a left join with the messages, get the max value for the message's last modification (messages.editedAt or messages.createdAt, decided by the ifnull) then using coalesce to pick it or the post's creation date

robust garden
#

doesn't mysql use IFNULL (at least that is what i used for prev query..) - wait they are doing diferent things

sharp python
#

tbh I don't really remember why I used ifnull instead of coalesce ThinkDerp

robust garden
#

i think i did it tbh

sharp python
#

ah in this case where we only have 2 values it is basically the same thing but with a different name

#

its 5:17 AM here so I gtg, if you have any questions you can ask and I will try to reply tomorrow

robust garden
#

ahh enjoy your sleep ๐Ÿ™‚

robust garden
sharp python
#

ah its ok! I will give it a look tomorrow, thanks a ton!

sharp python
#

I was gonna comment on the PR but I wanted to get this merged asap to reduce the load on the db

robust garden
#

Yeah that's fine derp

sharp python
#

btw the refresh command didnt work

robust garden
#

๐Ÿ˜ญ

sharp python
#

it was firing too many queries so it introduced problems with the locks

#

I will give it a look later on but I think the easiest solution is just adding a delay between each update command

robust garden
#

Ig complex query is the best method

sharp python
#

alternatively, we can also create a single query to update the rows

#

instead of trying to select the data and updating in a single query

robust garden
#

I mean it isn't too bad having a all dates as now fo google (as they won't do too many queries anyway)

sharp python
#

yeah that's why I am not too worried about it

#

but the interval might be the best

#

we are gonna remove the command after this is done anyway

robust garden
#

Yeah sounds good

sharp python
#

the only downside is that it is probably gonna take like 10+ minutes

#

but this is fine

robust garden
#

I forgot that certain things kinda need optimisations for large db

sharp python
#

yeah that's annoying

#

tbh planetscale makes it much worse

#

the read limit is very bad

robust garden
#

So platenscale doesn't like that many writes in a short time

sharp python
#

ah writes is fine

#

let me show you

#

we dont use even 1% of monthly writes

#

the only problem was that the queries itself were being fired too fast for the db driver to keep up I guess

robust garden
#

but surly the sitemap didn't cause most of that

#

and i prob shouldn't have initially created such a bad query

robust garden
# sharp python

im amazed that there aren't many repercussions for this usage this_is_fine

sharp python
#

tbh I have no idea why the reads is this high joystroke

#

it looks like there are some very old deploys of vercel that are still triggering the old expensive query that I wrote when I started the project

#

yeah...

#

(thats 1 query)

robust garden
#

o.O

#

that is only 0.1b but way lots... (actually 10% of limit decent)

robust garden
#

surly we get rid of alt text for images...

robust garden
#

@sharp python just wondering if we need the custom sitemap or if the nextjs version is good enough (i haven't checked if revalidate works, but i would assume it does) - even though it is just a fancy version of doing the same thing, i feel like it could be easier to understand... (only issue i can see is when 50k results as they don't support multiple)

sharp python
#

yeah thats a good idea

#

we are very far from 50k

robust garden
robust garden
#

hmm i can't even revalidate it

robust garden
robust garden
sharp python
#

oh cool we can merge the pr when this is fixed

robust garden
#

๐Ÿคž i haven't tested, just hoping based on its description

#

also that might mean going into canary version... is that fine? or should wait for stable?

sharp python
#

yeah its fine

robust garden
#

and can i update all the other deps while im at it

sharp python
#

not in the same pr meow_stare

robust garden
#

good

#

but they will be later... as one was just complaing that it wasn't updated...

#

@nextjs-forum/web:build: Browserslist: caniuse-lite is outdated. Please run:
@nextjs-forum/web:build: npx update-browserslist-db@latest
@nextjs-forum/web:build: Why you should do it regularly: https://github.com/browserslist/update-db#readme

#

lol that isn't even a direct dep anyway

robust garden
robust garden
#

๐Ÿ˜ฆ

warning "next > styled-jsx@5.1.1" has unmet peer dependency "react@>= 16.8.0 || 17.x.x || ^18.0.0-0".
warning " > next@13.5.4-canary.4" has unmet peer dependency "react@^18.2.0".
warning " > next@13.5.4-canary.4" has unmet peer dependency "react-dom@^18.2.0".
sharp python
#

ooh nice!

robust garden
#

will this affect the bot storing attachments? (as the urls now expire)

sharp python
sharp python
#

yeah probably

robust garden
robust garden
#

It's been happening occasionally

#

Kinda weird... Not enough often to test, but enough to see ๐Ÿ˜ญ

sharp python
#

I still need to fix the attachment changes

#

๐Ÿ˜ญ

#

the time is running out

robust garden
#

๐Ÿซ 

#

but this shouldn't get too costly with all the uploads (or could vercel be nice and pay for it) - actually it surly won't get more than 10gb (if you have pro)

sharp python
#

I will check with lee if they can sponsor the project so we dont have to worry about it

robust garden
#

and then im gussing vercel postgres so we don't need planetscale

sharp python
#

thats a good idea but I'm not sure its worth the switch

robust garden
#

prob not, but we won't have the reads issue ๐Ÿ™‚

#

instead we have scarier pricing with vercel pg ๐Ÿ˜ญ

robust garden
#

@sharp python poor nextjs forum bot is down or at least not responding to cmds or sending new msgs ๐Ÿ˜ญ (your probably sleeping tho)

#

wait actually, the new posts are in the ui, but not responding on discord... hmm...

robust garden
#

ok its fixed now ๐Ÿ™‚ (you don't need to worry unless you can find out why it dies for some time)

sharp python
#

I will check the logs

#

nothing in the logs at the timestamp you sent the message

#

๐Ÿค”

#

it crashed a few times later

#

but it recovered shortly after

robust garden
#

hmmm

#

it occured before i send msg (but that was when i verified it didn't work)

#

maybe discord was being a little weird ๐Ÿ˜ญ

#

ig there is nothing we can do if it occures again

#

as the issue is sending the responses (as the websoket seemed to work)

robust garden
#

lol a lot of the recent ones have this

sharp python
#

this is weird blobthinkingglare

#

discord lag maybe?

robust garden
#

im thinking it could be discord telling the bot weird ratelimit headers as d.js respects them and waits for new requests

#

but it could also be lag... idk

#

there is no errors, so not easy to tell

#

the good thing is that it still indexes the new messages ๐Ÿ™‚

robust garden
sharp python
#

oh more time for me to procrastinate?

#

I thought it was already rolling out

robust garden
#

Well it is there but not enforced yet

sharp python
#

I asked lee about vercel blob but he didn't reply yet, I think I will send another message

#

then move to s3 if I don't get any replies

robust garden
#

What about R2... They seem to have good pricing too

sharp python
#

yeah true, I will give it a look too

#

it might be simpler than s3

robust garden
#

*that

sharp python
#

I engaged with a new project so I forget about the previous ones ๐Ÿ˜ญ

robust garden
#

me not know why

robust garden
#

but on more positive news... google is grouping things ๐Ÿ™‚

robust garden
#

@sharp python just wondering, as bun seems to be stable now, do you think we could try it with the forum bot and maybe improve speeds (I'm not sure how well it will work with larger bot tho), or would you like to wait for better windoes support before

#

Or... Just use node as it works?

#

Mainly asking as it works alot better for me than tsnode than windows... (Even though I am using wsl)

#

we can still use pnpm as package manager also :)

sharp python
#

if this means we can remove the nodemon and ts-node stuff that would be great

#

but node is way more stable as we don't need to worry about subtle bugs

#

and I am pretty sure speed isn't a concern for us

robust garden
#

Yeah I only suggested as nodemon and tsnode hasn't ever worked well for me in windows

#

And using bun in wsl improved everything (as no build and things not as death)

robust garden
robust garden
#

@sharp python before i try, would you think making the "most helpful" a suspense query could be useful (and then make a skeleton for loading) - im thinking that it isn't as nessary to show so can be a little less required

sharp python
#

hmmm why not

#

I would be curious to know if that would speed up the initial rendering

robust garden
#

so am i

#

im just testing the look, and then ill make PR so we can see on prod

sharp python
#

sure

robust garden
#

hmmm it seems like the query is so fast and so much caching (from browse homepage and min revalidate), it doesn't do too much

sharp python
#

does it show the loader locally?

robust garden
#

yeah i see it, but for such a small time

sharp python
#

yeah I think the query is cached ๐Ÿค” so it wouldn't do much here

robust garden
#

the query itself isn't cached

#

but it kinda takes the same time as the rest of queries

#

and i tested localy my forcing the MostHelpful function to wait a few secs

#

im not too suprised that it is so fast, but on the off chance it is waiting for most helpful, it may be useful to make it unblocking

sharp python
#

hm yeah I like the effect but I am not sure it will be really useful in production, this query is now using an index so it is insanely fast

robust garden
#

yeah i kinda realised that

#

but was cool to play with ๐Ÿ™‚

sharp python
#

to be clear, I almost always advocate to have the least amount of code possible for the best results, and adding this extra code (albeit small, is still code that would need to be maintained) doesn't seem much justifiable

#

that's the only reason, otherwise I would accept it because it looks cool

robust garden
#

yeah, i can't get it to ever show it (even in uncached pages), so it isn't good for maintainability

#

but i just wanted to test on prod because bigger size then my local test (+on vercel so diferent speed) ๐Ÿ™‚

sharp python
#

yeah that was a cool test

robust garden
#

ill close it as not really mergable, but if it becomes useful, we can always copy the code back ๐Ÿ™‚

#

btw thank you for allowing me to try this meow_meow

sharp python
#

np, thanks for the pr meow_pizza

robust garden
sharp python
#

this bug is so random ๐Ÿ˜ญ

robust garden
#

at this point im just putting them here to see if any correlation, but its to random ๐Ÿ˜ญ

robust garden
robust garden
#

also 1 month left of current embed thingy (as 15 dec)

robust garden
sharp python
#

yeah it's the answer bighmm

#

for some reason the codeblock is going over the parent's width

#

but the other codeblock in the actual replies is working normaly

robust garden
robust garden
robust garden
robust garden
#

@sharp python would it be possible for you to have a look at my pr for better markdown, even if it is just to enable vercel preview so i can see if it breaks everything (kinda hard to copy and paste everything into private server than just accessing it on ui) - but its fine if it needs more time to look at as more chaotic (and if you have other more important things)

sharp python
#

@robust garden sure, sorry for the delay

robust garden
#

so its the lists that basicly die... everything else works... (if they are changing type without new line)

#

should i disable it or is it fine...

#

and in this post it kinda removes some whitespace padding... (but nothing else is changed, so it may be fine) #1178083994181582949 message https://nextjs-forum-web-git-fork-riskymh-update-e0aad6-rafaelalmeidatk.vercel.app/post/1178083994181582949

robust garden
#

or... just disable as 1./ *. in text isn't too bad

robust garden
#

also btw i removed the override in the pr as i couldn't get it to change anything (but both ways yielded the peer dep warning)

sharp python
#

but it might be in conformation with the md spec?

#

let me check

#

yeah github does the same

#

I would prefer the markdown to be the same as discord but I feel this is an edge case so its fine

robust garden
#

Yeah that's kinda the issue... But my regex skills aren't good enough to fix it, but I think removing is a fix too

#

Also, should I bundle the simple-msrkdown to not make it a dep ๐Ÿ™‚

robust garden
robust garden
#

but this pr still does headings, masked link, and quote styling

sharp python
#

did discord really created their own mdx flavour

robust garden
#

yeah ๐Ÿ˜ญ

#

its so weird

#

like i inspect element on lists, and it creates some intresting things

#

lol but i wasn't bothered to make new release on my package, so i just did temp disable ๐Ÿ™‚

#

like this is validish because the new line is the separator and it creates new list

1. hi

3. lol
4. yee
8. yay
  1. hi

  2. lol

  3. yee

  4. yay

#

so it follows some spec but not all

#

and you can add multiple lines to one point

* ok
  lol
  
  ok
  • ok
    lol

    ok
    at least this isn't a thing

1. list
* not list
4. actually is a list
* no
  1. list
  • not list
  1. actually is a list
  • no
#

there wasn't anyone else who has done this list, so i can't just copy ;(

robust garden
#

i just haven't really worked out the end scope, like some things join and other things create new (and then actually fixing)

robust garden
robust garden
#

@sharp python kinda spontanious, but do you have any data to see how used the forum site is? as i am kinda interested if it is actually used and in decent position

sharp python
robust garden
#

yeah

sharp python
robust garden
#

like i know you have vercel analytics

sharp python
#

let me check the analytics dashboard

robust garden
#

and google search dashboard

#

idk how much info they have as i don't use them

sharp python
#

we get like 70-80 visitors daily

robust garden
#

wow nice

sharp python
#

unfortunately I have a limit because of my hobby plan so I can't see the entire data for the month

#

let me grab the data from the search board

robust garden
sharp python
robust garden
#

wow this is very intresting

#

why the drop of index tho ๐Ÿ˜ญ

sharp python
robust garden
#

it decided to not index new...

robust garden
# sharp python

yay now i see that actual humans see it and have some impact ๐Ÿ™‚

sharp python
robust garden
robust garden
sharp python
#

hm yeah some of them get unindexed

#

no idea why

robust garden
#

o.O what are the 6 reasons

#

i wouldn't be surprised if duplicate ngl

sharp python
#

the number of indexed posts dropped since oct 3

robust garden
#

thats a month ago ๐Ÿ™‚

sharp python
robust garden
#

but i can't remember anything happening then

robust garden
sharp python
#

Crawled - currently not indexed
The page was crawled by Google but not indexed. It may or may not be indexed in the future; no need to resubmit this URL for crawling.

Discovered - currently not indexed
The page was found by Google, but not crawled yet. Typically, Google wanted to crawl the URL but this was expected to overload the site; therefore Google rescheduled the crawl. This is why the last crawl date is empty on the report.

#

most of the pages fall into these two categories

#

which is basically "they will be indexed some time in the future"

robust garden
#

but that kinda makes sense... i feel like if google crawls it and 404, it gets sad ๐Ÿ˜ญ

robust garden
sharp python
#

๐Ÿ˜ญ

#

I need to fix that

robust garden
#

@sharp python also, is the position and ctr good? (i added my site and it is kinda...)

sharp python
#

hmm

#

I think its good

robust garden
#

wow indeed cool... 7 is actually decent when considering stackoverflow and github

sharp python
#

yeah

robust garden
#

i think you have made a really good site ๐Ÿ™‚

sharp python
#

not just me, us

robust garden
#

your right, the site is useless without people adding content ๐Ÿ™‚

#

so it is a big group effort ๐Ÿคฉ

sharp python
#

yeah and you and some others also helped with the coding

robust garden
sharp python
#

yeah that looks great

robust garden
#

i like the 3 options, but joulev's one while bold change, does look way cool

#

if i had time and knew css, id prob try and make it

robust garden
robust garden
robust garden
#

@sharp python it kinda looks like you have until end of year to do the image thingy (and maybe not the 15) #697138785317814292 message (this is for app dir, but still proaibly same thing in terms of rollout)

sharp python
#

I can't see the linked message but thats good news

#

I am secretly hoping they decide to not go forward with this change but it is good for the users so thats not gonna happen

robust garden
#

i thought if you click it if opens as its just ddevs public server, but ill ss it

robust garden
sharp python
#

I have seen some people using it as a free hosting service, they would split very huge files and upload it all to discord

robust garden
#

@sharp python yay you still have some time... but i wonder for how much longer (note this is for attachment thing)

sharp python
#

I think I will get this done this weekend

robust garden
#

๐Ÿ‘€

sharp python
#

I decided to do the pnpm migration before the attachments thing and now I am stuck trying to fix tooling issues

robust garden
#

ahhh

#

i think for github actions, you need to run corepack enable before setup node to install pnpm easily

#

and maybe add back packageManager in package.json for corepack to know what to install

sharp python
#

I think the issue is with turborepo or I am doing something weird

#

when I call pnpm run build, it calls turbo run build and the build command from the bot project fails because it cant find tsc but it is listed there as a dependency

#

and when I call pnpm run build directly inside the bot folder it works

#

so I think I will just do cd apps/bot && pnpm run build

robust garden
#

ahh i see, i was just going off the error on gh actions

robust garden
#

it works on windows well tho

#

and im talking about this error

sharp python
#

ok nevermind the error was pretty stupid

robust garden
#

oh so you fixed it ๐Ÿ‘€

#

๐Ÿ˜ญ

sharp python
#

I fixed one issue they this one showed up

#

I had to leave before looking into this one

robust garden
#

i kinda wonder how pnpm caused this error...

#

but mabe bun for github actions as a temp fix as i know that works well for typescript

#

also i think thats the error i kept on getting on windows, which is why it was always pain to deploy commands/sql tables

#

yeah you moved back to node 18 (so it couldn't have been moving to latest fixed/broke it)

robust garden
#

this has just been overly chaotic to try and upgrade ๐Ÿ˜ญ

robust garden
#

@sharp python how is your attachment thing going ๐Ÿ‘€

sharp python
#

๐Ÿ˜ญ

#

someone please delay it again

robust garden
#

btw, can you sometime host this on github or somethere not discord so it doesn't die next refresh of bot (as won't be verified attachment url)

robust garden
#

oh yay, you fixed the forum bot's github action ๐Ÿ™‚

sharp python
#

yeah it was an annoying esm issue

#

one more to the list

robust garden
#

๐Ÿ‘€ i see your postgres change pr

#

@sharp python is there a reason you didnt want to be fancy and use the neon serverless driver for kysely like you had for planetscale (or is normal pg good enough with vercel)

sharp python
#

not a specific reason, I believe this driver is mostly for the edge runtime compatibility which we are not using yet

robust garden
#

ah that makes sense

#

i just thought it improved cold start speed

#

i havent benchmarked... but there is a chance pg driver can be better if avalible tho

sharp python
#

@robust garden I added instructions to run the db locally

#

in case you want to try it out

robust garden
#

yaya

sharp python
#

its sooo much easier now, it was very annoying to ask people to create an account on planetscale

#

tbf that was one of my motivations for the migration ๐Ÿ˜…

robust garden
#

๐Ÿ‘€ wow just a simple docker command and it exists

#

time to install docker

#

you should fix the readme's icon tho

#

its looking a little not nextjsy

robust garden
sharp python
#

oh no ๐Ÿ˜ญ

sharp python
robust garden
# sharp python oh no ๐Ÿ˜ญ

actually, if you do it right, you can just disable that if env var not present and just be like now with sad broken urls after a few days

robust garden
sharp python
#

oh whta

#

where did I get this from

#

I think I know ThinkDerp

echo rover
#

What if