Glorrin
Glorrin
Explore posts from servers
TTCTheo's Typesafe Cult
Created by Glorrin on 11/16/2023 in #questions
server side ref
Is there a way to create a ref of a "use server" component to pass it down to a a client component :
"use server"
// [...]
async function MyServerComponent(){
// useRef doesn't work here
return
<>
<MyClientComponent refs={[ref1, ref2]} />
<Component1 ref={ref1} />
<Component2 ref={ref2} />
</>
}
"use server"
// [...]
async function MyServerComponent(){
// useRef doesn't work here
return
<>
<MyClientComponent refs={[ref1, ref2]} />
<Component1 ref={ref1} />
<Component2 ref={ref2} />
</>
}
6 replies
TTCTheo's Typesafe Cult
Created by Glorrin on 4/27/2023 in #questions
why do we add prisma in ctx instead of using import ?
As stated in the doc
We include the Prisma Client in Context by default and recommend using this instead of importing it separately in each file.
We include the Prisma Client in Context by default and recommend using this instead of importing it separately in each file.
but there is no explanation Why is it better ? What is the difference ?
8 replies
TTCTheo's Typesafe Cult
Created by Glorrin on 4/6/2023 in #questions
What is the correct order to put files in S3 and update DB ?
I am doing something very simple. I need to update some content which has images. What is the correct order of doing the update: 1) optimistic - send update mutation to api (I am using rest but trpc will replace it soon*) api update the content on db and send back put urls for client - client then use those urls to put stuff it S3 advantage: less api calls disadvantage: not sure if things actualy exist in S3 2) controlled - request put urls - client then use those urls to put stuff it S3 - send update mutations with correct access avantage: less likely that the file doesn't exist in S3 disadvantages: more calls and client could put stuff in S3 and never update db
9 replies
TTCTheo's Typesafe Cult
Created by Glorrin on 2/15/2023 in #questions
Log management for the server
It is the first time I need to implement logging and I am not sure who to ask. There is a 2 kind of informations I want to track : - how long each request take server side - for each user what are the request they make and on which frequency I am not sure if both of those information can be tracked with the same tool. Also should I just implement it myself by adding a line in my database every time I get a request ? I am in the process of migrating my apps so for now I can't use axiom next on the server, at least for a few more weeks I will need to use express still, and axiom send me in a rabbit hole of adding winston, and may morgan ? This seems complicated, and for a problem as common as simple server logs I don't think it should be that complicated, what am I missing ?
1 replies
TTCTheo's Typesafe Cult
Created by Glorrin on 11/5/2022 in #questions
For low computational work should I do it on server or client ?
It probably won't make a difference at low scale. So I probably shouldn't worry too much about this but still. Here is an example to make my question clearer. I want to implement a translated input on my client. I implement a list of dynamic inputs on the client, each row is an object containing the language and the value (2 inputs per row). So client side data is an array of object like this:
type Skill = {
...
description: {value: string; language: string}[]
}
type Skill = {
...
description: {value: string; language: string}[]
}
On DB side I want this array to be a JSON object with the language as key and value as... value.
type Skill = {
...
description: {[language:string]: string}
}
type Skill = {
...
description: {[language:string]: string}
}
Should I format the object on the client and then send it formatted to the server. Or should I send the array unformatted to the server and then transform it server side before writing it to DB ? I guess using client ressources as much as possible makes more sense financialy. Apart from obvious security/critical reasons. When would you guys stop using client ressources to use server instead ?
4 replies
TTCTheo's Typesafe Cult
Created by Glorrin on 9/22/2022 in #questions
GCP SQL via prisma
I got a more or less empty t3-app for test I have tested on 2 databases. postgres on Railway, works perfectly fine postgres on GCP SQL on the second one prisma works fine, I can even do prisma studio and I have no problem accessing data but when I launch the app and I got this error :
tRPC failed on user.users: TRPCError:
Invalid `prisma.user.findMany()` invocation:


Authentication failed against database server at DB_URL, the provided database credentials for DB_USER are not valid.
tRPC failed on user.users: TRPCError:
Invalid `prisma.user.findMany()` invocation:


Authentication failed against database server at DB_URL, the provided database credentials for DB_USER are not valid.
I am probably missing a gcp setting somewhere but why would it work localy via prisma studio but not in nextjs ?
1 replies