#development

1 messages · Page 304 of 1

eternal osprey
#

Npm seems to leverage microoft for malware scans. But they don’t say if its routinely done or if its done on publish/install.

#

Their docs mention that npm install uses audit reports though

#

But audit reports are those proactively or post-active scans and reporting

#

Cuz to me it seems like no scanning is done prior to install.

lament rock
#

I can't say for certain if it's like microslop defender where it scans for known patterns because JS can obfuscate in so many different ways. I'd be confident in saying that it's only post active

#

some vulns do go on for a while

eternal osprey
#

Thats the thing can i still do researxh while knowing this

#

we can’t tell for sure whether its pro-active or not

#

Known vulnerabilities may be periodic scans

lament rock
#

Idk why they'd do periodic scans though because you can't override versions. If it were me building a system like that, I’d make it to where on first install, it checks and if that were the case, then it'd be known instantly. No need to re scan

eternal osprey
#

Exactly but we can’t know for sure

#

Whether its just known vulnerabilities. Because i want to have my bachelor about instant scans right befoe publish and install.

lament rock
#

In that case if you want to have the exact answer, it'd be better to reach out to npm for a comment

lament rock
#

Welp then no sense in asking here. We know as much as you 😛

eternal osprey
#

I hope they answer wuick thi

crisp trout
#

they will

eternal osprey
#

I still think my researchnis valid though

#

I propose a transparent machine learning approach for explicit publish and install operations based on nom metadata and code patterns

eternal osprey
#

aka, it's a mere database lookup

#

thank god my thesis ain't cooked yet, i can actually play on their wording now

#

"The audit command submits a description of the dependencies configured in your project to your default registry and asks for a report of known vulnerabilities."
"npm will generate a JSON payload with the name and list of versions of each package in the tree, and POST it to the registry."

indigo holly
#

any api to obtain top.gg reviews on my bot?

humble gyro
#

not individual reviews

indigo holly
indigo holly
#

For example, having a record of what people think, with AI you can classify the bad and the good, be able to see the highest rated opinions, have everything much more focused and organized, give rewards for posting a review, etc.

#

There are many things you can do when obtaining ratings.

sharp geyser
#

Giving rewards for reviews seems like a bad way to inflate your bot's reviews

#

At that point people will just post anything just to get the reward

indigo holly
#

Just like voting, people vote to receive rewards(in most cases)

sharp geyser
#

Yeah but votes don't necessarily correlate to the bot itself. Reviews are a better look into what people think the bot does and how it works for them

#

Review rewards will just junk that up

#

So making it an incentive seems counterproductive to what reviews are supposed to be for

indigo holly
#

I don't know, I really want it to classify it with good and bad reviews, it would be a good idea to apply it (in my opinion)

humble gyro
#

Yeah, we've talked about review webhooks, but there would be a strict "no-reward" policy.

#

If we start incentivizing reviews, they become meaningless

crisp trout
#

new workflow who this

radiant kraken
#

awesome stuff!

crisp trout
#

actually freaking smooth as how it works

#

lol

radiant kraken
#

i would say the embed color border is way too thick though

crisp trout
#

The use case is pretty awesome, e.g you don't want your support agent to deal with finance, just assign someone from finance and dm them and open a conversation

#

Yeaahh it is

#

I'm swapping it to hex color

#

but i do agree 😂 it does look lame

#

ty null 🫶

icy copper
crisp trout
icy copper
crisp trout
#

to do everything, 2 days or so,

#

this relies on the bot but it's in a dashboard.

icy copper
#

Right?

deft wolf
#

Not really

crisp trout
#

kind of

#

the bot is used to send messages, and close threads, rest is all with the dashboard, so yes the bot just servers the purpose of pushing to our database and so on.

#

long process

#

but bot -> db - > api -> frontend

#

it's a bit complicated

#

so e.g. you would have a workflow set as Delete Message

Delete Message → Send Dm → Create Ticket -> Assign Staff → -> Notify Staff

#

bot would be doing the dming, creating the ticket notifying the staff

icy copper
#

That interesting

#

but it probably uses a lot of resources

crisp trout
#

Well

#

I do have my own server.

#

and a backup so hopefully.

#

@icy copper what are you working on?

icy copper
#

And working on website

#

I am full stack

crisp trout
#

nice, good luck.

icy copper
crisp trout
#

🫶

icy copper
crisp trout
#

for the bot or?

icy copper
#

like js or python

crisp trout
#

python.

icy copper
crisp trout
#

yes why?

icy copper
#

idk i don't know people can do this things on python

crisp trout
#

because the dashboard is react 😄

#

the both just does the simple functions the main power is within the sauce.

icy copper
#

that cool

crisp trout
#

i guess, going bit slow finding testers but sure let's say it's cool

wheat mesa
crisp trout
#

it's all about smart planning and infra imo

#

rest is easy and the idea ofc.

wheat mesa
#

Languages are just tools for the job

crisp trout
#

basically xd

icy copper
wheat mesa
#

Some languages are better choices than others for certain tasks, but ultimately the developer is responsible for using it properly

warm canopy
#

Like anything written in Java is the wrong language

icy copper
#

yea

#

i hate it

warm canopy
#

Despise it

icy copper
#

is just me but i hate java

warm canopy
#

I think people who even use Java hate it lol - we had a few clients that built apps with it and it was diabolical

crisp trout
#

though as SDET, gotta get used to all.

warm canopy
#

TBH in my old role I was on the receiving end of other peoples projects so I just see the worst in everything, ignore me

crisp trout
#

hah fair.

#

though dude, I'm so hyped and wish i can show off the power of the dashboard

#

holy

crisp trout
#

Hm?

#

i don't understand sorry

icy copper
#

What is the speed of dashboard is fast

#

Like 3 ms

crisp trout
#

pretty fuckin fast if you don't mind me saying

#

the dashboard is not self hosted, it's on cloudflare

icy copper
#

Clouflare have so fast response

wheat mesa
warm canopy
#

I mean I don't think anyone uses it by choice currently but yeah it's just a bit crap to work with and fairly resource hungry at scale

radiant kraken
#

Java is okay

frosty gale
#

java/javascript has gotten better over the years in regards to verbosity but i think that hate sorta never went away

#

i also just find it as a kinda boring language i just dont know why

scenic kelp
#

you cannot say java/javascript

#

javascript is anything but verbose they're on two opposite ends of the spectrum

lament rock
#

id say its sufficiently verbose

warm canopy
#

I feel like we all just want to say the word verbose

pearl trail
crimson vapor
#

just yesteday I was talking about how lox in crafting interpters uses a java script to generate the ast for the interpter

#

hence interchangable

frosty gale
#

oldest trick in the book

deft wolf
radiant kraken
#

JavaScriptScript

small tangle
#

JavaScript²

vivid fulcrum
#

modern java is pretty cool

#

much less syntactic boilerplate

#

Bonus points for pattern matching improvements

#

it's still half baked in java 21 though

quaint linden
#

JavaJavaScript

#

(Java)²Script

frosty gale
#

i hate builders so much lol

radiant kraken
#

time to make a builder builder

#

a builder that makes builders

#

.build().build()

gentle condor
#

How do I make a votetracker with the topggpy api wrapper for my discord server?

#

like probably send messages through my bot when someone votes the server

#

something like the VoteTracker bot

#

I read the documentation and also checked the examples for topggpy but even the examples had some issues going on like the code was just not working it was trying to use a decorator which didnt even exist, and the top.gg docs just don't say enough

deft wolf
#

Server webhooks have been removed and have not yet been reimplemented. Work on this is reportedly ongoing

gentle condor
deft wolf
#

You can theoretically use the API

gentle condor
deft wolf
gentle condor
deft wolf
#

That's why I wrote “theoretically.” In practice, it's impossible to track this in real time using API ig but you can check from time to time for example

gentle condor
#

but ig thats not possible?

crisp trout
#

SLA metrics ❤️

#

rough draft but looks nice.

crisp trout
#

also some new metrics

radiant kraken
#

fantastic stuff! keep it up!

crisp trout
#

❤️

#

at this point 99% of the analytics are done, just testing and all

jaunty cypress
crisp trout
#

aren't there always 😄

#

But what'sup

jaunty cypress
#

I did test the auth but it don't make a callback

crisp trout
#

hm?

#

can u share screenshot?

#

ll

jaunty cypress
crisp trout
#

hm itneresting giv me a sec

jaunty cypress
#

there is a problem with the api

crisp trout
#

checking mate @jaunty cypress

#

give me a few 😛

jaunty cypress
#

alr lemme know it when fixed it

crisp trout
#

will do sorry

jaunty cypress
#

np I just wanted du test it, and might find some bugs

#

If i find more bufs i will let yoi know

crisp trout
#

Yeyes

#

Appreciate it.

#

found it

#

This is a critical one 😂 but yea couldn't have found it personally lol

#

@jaunty cypress can you check now?

jaunty cypress
#

It don't let me see the dashboard

crisp trout
#

Did you add the bot?

jaunty cypress
#

Alaways callback me do the login page

#

yes

crisp trout
#

hm

#

again now you are returned to login*?

jaunty cypress
#

yes

crisp trout
#

Lemme dm you

#

Ty ❤️

#

fastest fixer ever 😂

crisp trout
#

i wonder if i make it work with other bots if it would be more good

radiant kraken
#

this is driving me insane

#

what makes this return an empty page??

crisp trout
#

can you paste the code

#

im blind

#

;xd

radiant kraken
#
import AppText from "@/components/AppText";
import { colors, spacing } from "@/helpers/consts";
import { Image } from "expo-image";
import {
  ActivityIndicator,
  ScrollView,
  View
} from "react-native";
import { SafeAreaView } from "react-native-safe-area-context";

export default function Product() {
  // TODO
  const foundProduct = true
  const loading = false

  return (
    <SafeAreaView style={{ flex: 1, backgroundColor: colors.background }}>
      <ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={{ padding: spacing.xxxl }}>
        {loading ? (
          <View style={{ padding: spacing.huge, alignItems: 'center' }}>
            <ActivityIndicator size="large" color={colors.primary} />
          </View>
        ) : foundProduct ? (
          <Image
            source={{ uri: "https://picsum.photos/seed/696/200/200" }}
            style={{ width: 200, height: 200 }}
          />
        ) : (
          <View style={{ padding: spacing.huge, alignItems: 'center' }}>
            <AppText style={{ color: colors.textMuted }}>No such product exists</AppText>
          </View>
        )}
      </ScrollView>
    </SafeAreaView>
  );
}
unreal mist
radiant kraken
neon leaf
#

try using the default img html tag

crisp trout
#

do ```export default function Product() {
console.log('Rendering Product, foundProduct:', foundProduct);
// ...
}

And see whjat happens?
unreal mist
#

OR

radiant kraken
neon leaf
#

yes, try using the default

#

the expo one has cursed cors

radiant kraken
#

oh

unreal mist
#

try adding flex grow of 1 in the scroll view where you have spacing.xxxl

radiant kraken
#

it works

#

😭

crisp trout
#

cors?

neon leaf
#

i know

unreal mist
#

Nvm

#

Was gonna say content could be pushed off

unreal mist
crisp trout
#

i know what cors is

#

lol

unreal mist
#

I use it myself solely for the node side of things tho

crisp trout
#

😅

unreal mist
#

In all fairness you questioned it 😂

neon leaf
#

the expo image tag uses js to fetch the image, which has different cors implications than an img tag

crisp trout
radiant kraken
#

my project has been using expo image for everything

#

how does it work for everything else

#

😭

neon leaf
#

probably hosted on your domain

#

or the sources have explicit cors headers that allow js fetching

unreal mist
radiant kraken
#

e-commerce mobile app

#

for uni

unreal mist
#

Ooo

radiant kraken
#

i'm on expo

#

npx expo start

#

running it on my web browser

steel oxide
#

hmm idk i was messing around with react native a bit over the summer and was using an emulator thru xcode

#

i thought it could maybe be a network issue or strange configuration of the emulator

#

but i'm not very familiar sorry adhamop

steel oxide
radiant kraken
#

STILL NOTHING

steel oxide
#

we love react native podplayer

radiant kraken
#

guess I am not sleeping tonight

#

😄

steel oxide
#

let me ask claude

crisp trout
steel oxide
#

does anyone want claude free trial DoggSunglasses

#

this is what mr smarty pants says

radiant kraken
steel oxide
#

i'll tell the man pepenoted

#

the url redirects so maybe that's an issue?

#

claude's response tho

radiant kraken
#

btw @neon leaf img does not work with react native

#

at least in mobile

neon leaf
#

yea ik

#

just wanted to confirm the issue

#

dont actually have a proper fix

radiant kraken
#

😭

#

huuuuaaaaaaa

radiant kraken
#

@steel oxide OH MY GOD OH MY GOD I FIXED IT

#

I ADDED Ababel.config.js TO ROOT WITH ```js
module.exports = function (api) {
api.cache(true);
return {
presets: [
['babel-preset-expo', { unstable_transformImportMeta: true }]
],
};
};

#

AISDJAFHDSUFHDSF

#

so sorry to bother you guys 😭

crisp trout
#

all good

steel oxide
crisp trout
#

rough draft of the client portal

radiant kraken
crisp trout
#

❤️

radiant kraken
#

great job!

prime cliff
radiant kraken
#

you are amazing!

#

best of luck on your website!

prime cliff
#

Sounds like an AI chat bot response xD

radiant kraken
#

I am not

#

I am a human

neon leaf
#

for now

prime cliff
#

That's what an ai would say 👀

radiant kraken
#

just wanted to congratulate you

neon leaf
#

null, do you have a phd in async lifetimes by any chance

radiant kraken
neon leaf
#

im assuming its safe and the issue just comes from the fact that rust assumes concurrent access I guess? but its still not amazing

radiant kraken
#

oh god

neon leaf
#

oh yes

radiant kraken
#

i don't get it

#

you're transmuting &mut sqlx::Transaction<'_, sqlx::Postgres> to &mut sqlx::Transaction<'_, sqlx::Postgres>?

neon leaf
#

yep, the lifetime somehow gets fixed, if I dont cast it tells me im already using this variable mutably in a previous iteration of the loop

radiant kraken
#

why not move transaction_ref outside of the loop?

neon leaf
#
  1. would still require the unsafe block
  2. let me check
radiant kraken
#

doesn't matter

neon leaf
radiant kraken
#

pain

#

one sec

#

lemme pull the rust playground

sharp geyser
#

In terms of backend api, I am actually what I think nearly completed.

#

with a v1

#

Still some stuff to do to polish it up but, once i finish with the last few graphql resolvers I think all that's left is a working frontend

radiant kraken
#

great job aaron!

#

i am so proud of you 🫶

neon leaf
#

though something very weird, in my nightly branch I added a similar thing for updating, but here, even though I am passing a mutable ref to another object, still only need to sqlx transmute

radiant kraken
#

why am i unable to replicate it 😭

#

maybe waffle can help me here DoggLaugh

neon leaf
#

I think its an issue with the sqlx Transaction struct having an additional lifetime

radiant kraken
#

wait

wheat mesa
#

I am not versed enough in cursed rust for this

radiant kraken
#

the '_ in &mut sqlx::Transaction<'_, sqlx::Postgres> implies an inferred lifetime

neon leaf
wheat mesa
#

This is the type of rust that C++ devs just say "fuck it, let the memory leak"

radiant kraken
#

therefore the '_ in &mut sqlx::Transaction<'_, sqlx::Postgres> and&mut sqlx::Transaction<'_, sqlx::Postgres> are different?

neon leaf
#

yes

radiant kraken
#

got it

#

what's the '_ in the latter?

#

'static?

#

what does the IDE tell ya

neon leaf
#

should be impossible to be static

#

and ide telling me nothin

radiant kraken
#

you know this is why i would never transmute lifetimes DoggLaugh

neon leaf
#

I mean sure but why would i need this at all

#

im clearly uising non-lifetimed structs without transmute in other code

#

unm

#

i think i just got it working

#

in the most rust way possible

wheat mesa
#

.clone()

neon leaf
#
type UpdateListenerResult<'a> =
    Pin<Box<dyn Future<Output = Result<(), crate::database::DatabaseError>> + Send + 'a>>;
type UpdateListener<M> = dyn for<'a> Fn(
        &'a mut M,
        &'a mut <M as UpdatableModel>::UpdateOptions,
        &'a mut UpdateQueryBuilder,
        &'a crate::State,
        &'a mut sqlx::Transaction<'_, sqlx::Postgres>,
    ) -> UpdateListenerResult<'a>
    + Send
    + Sync;
pub type UpdateListenerList<M> = Arc<ModelHandlerList<Box<UpdateListener<M>>>>;
#

changed sqlx::Transaction<'a, sqlx::Postgres>, to sqlx::Transaction<'_, sqlx::Postgres>,

#

🧠

#

let the compiler deal with it

#

wait lemme see if I can actually still create a listener properly though

#

bruh it works

radiant kraken
#

i've never tried dyn or for<'a>

#

those are the Rust no man's land for me

neon leaf
#

if you need for<'a> its too late to be saved

#

dyn is cool

radiant kraken
#

the only time i've used dyn was probably when i wanted to use DebugStruct DoggLaugh

neon leaf
#

i use dyn for many unholy things

radiant kraken
#

but yeah i'm afraid i couldn't help you with that use case

#

not that it's out of my scope, it's just that i've never stumbled upon it in my projects enough to get familiar with it

#

also i have not slept and it's 6am so

neon leaf
#

no worries, in the end it took me over 3 months to finally fix this too

radiant kraken
#

💀

neon leaf
#

i somehow think a newer rust version made this easier

#

because it would be pretty embarassing if i hadnt tried '_

radiant kraken
#

inferring my beloved

#

i love to infer as much as possible

#

as _ is everywhere in my code

neon leaf
#

I miss it every time i need to work on other langs

radiant kraken
#

IKR

#

"idk how about you guess the type? dont be such a baby"

sharp geyser
#

Right...this isn't so bad right.... this is how much I still have to implement

#

I thought I was nearly done Waaaaaah

crisp trout
sharp geyser
#

I am indeed

#

It's been pleasureable honestly

sharp geyser
crisp trout
#

i use it at work and i hate it with a burning passion
:p

sharp geyser
#

How come? It's been nothing but pleasurable for me

crisp trout
#

well listen in small projects it's fine

#

but bigger ones

#

eh

#

i'd debate

sharp geyser
#

Well...this project is anything but small 😭

crisp trout
#

we are using it in my job, a big ass repo with real users (10k+)

#

and yea

#

i'm not a fan

sharp geyser
#

Well, rn its currently not seeing a user count. but development wise it hasn't been a pain

#

if anything it's made it easier compared to its REST counterpart

crisp trout
#

it depends i guess on the use case as well

#

but yeah

#

i ain't saying it's not good

sharp geyser
#

plus frontend is nice due to tanstack-query

crisp trout
#

just not prefererd for me

sharp geyser
#

Fair

#

I guess im jsut lucky aha

crisp trout
#

i was thinking of building the dashboard / client portal

#

i was debating between rest and gql

#

but figured for my purposes rest just fit better

sharp geyser
#

I definitely went overkill using gql so early on at the very least I will admit that

crisp trout
#

i mean better build the foundation now then later

sharp geyser
#

The benefits gql offers will not be seen for a while, but Im the type of person who'd rather not deal with shit in the future

#

💀

crisp trout
#

fair

#

what r you building?

sharp geyser
#

Marketplace

crisp trout
#

oh nice 😄

sharp geyser
#

yuhhh

crisp trout
#

you can see benefits in that use-case 😛

sharp geyser
#

It's been a 2 year project (on and off, mostly off...)

crisp trout
#

haha same 😛

#

i know how it feels

#

but i ramped up development now and pushed all major features , just testing with real world users

#

and my project is massive code wise lol

sharp geyser
#

Well

#

One of my commits I did like 40k lines in one commit 😭

crisp trout
#

why

sharp geyser
#

dk how

crisp trout
#

lol

#

just smaller commits easier to revert

sharp geyser
#

Yeahhh

#

I got locked in

#

and got side tracked a lot

#

It was the stripe implementation

crisp trout
#

ahh

#

i can't implement

#

stripe yet

sharp geyser
#

order tracking / payment

crisp trout
#

my coutnry doesn't support it

sharp geyser
#

What country?

crisp trout
#

ah I'll dox myself already more than enough

sharp geyser
#

the gap between the price and text is too small fyi

#

Lookin good though

#

...I suck at frontend so this is all i've come up with on my own

crisp trout
#

eh it's probably gonna get scrapped and offer full

#

looks 🔥

sharp geyser
#

Ahaha thanks, I definitely don't think so 😭 but design is not my forte

#

Im a dumb backend engineer thats my domain

crisp trout
#

though realistically only hardcore servers would use my tool so 🤷 might not even get used a lot lol

#

and might fail, but whatever i've gven it all

sharp geyser
#

All you can do

#

Hoping to have my MVP ready in 10 weeks

#

💀

#

Still got a lot to do

crisp trout
#

eh for me.

bot (creating/receiving dms) ready, dashboard and analytics is fully ready

#

rules (my proudest thing) is fully ready

sharp geyser
#

especially since when I do frontend im a perfectionist so everything has to look perfect (which is ironic cause I suck at design)

crisp trout
#

client portal is close to beeing done

sharp geyser
#

Like the features cards barely noticible but hopefully it looks better 😭

crisp trout
#

basically my bot is just used for creating the threads and closing them and receiving dashboard input 😂

sharp geyser
#

Yeah no

#

I could never

#

in one commit i'd die

crisp trout
#

that' crazy

swift barn
crisp trout
#

at most

neon leaf
swift barn
#

Most of my code changes are because of deprecated usages with react query

crisp trout
#

interesting developing trend

LLM-Friendly Documentation: Every doc page is available as markdown for easy LLM ingestion. Add .md to any URL (e.g., redacted-url-privacy.md)

past charm
#

Is there any job to create a discord bot? I want to register.

deft wolf
#

Not here, try on fiverr or something

past charm
#

what is fiverr?

#

oh thanks

radiant kraken
junior wigeon
#

yo

#

if anyone know about iframe, ping me rq

#

my web not showing up in description when i iframe it

radiant kraken
#

i don't know much about iframes but can you provide more context on what you're doing with your iframe? can you provide some code that might help some of us understand what you were doing?

junior wigeon
#

put in description -> not showing website in bot page

radiant kraken
#

try getting rid of the DOCTYPE, html, and body

#

and make it just an iframe

junior wigeon
#

did

#

<iframe src="https://example.com" width="100%" height="500" frameborder="0" scrolling="yes"></iframe>

past charm
#

ask ai stk1

junior wigeon
#

i won't ask ai for code that i already have

junior wigeon
#

worked

radiant kraken
#

@neon leaf @wheat mesa today i learned!

neon leaf
#

wtf is that

radiant kraken
#

turns rust variables directly to raw pointers without needing to turn them to a rust reference first

neon leaf
#

never ever seen this syntax

#

interesting

radiant kraken
#

i will always love you clippy ❤️

neon leaf
#

well I havent really had to work with raw pointers yet thankfully

radiant kraken
#

you will soon smirk one way or another

neon leaf
#

i fear so

radiant kraken
#

some intern over at GitHub has done a little oopsie

crisp trout
#

hmm interesting the moment i add webhooks for push events this happens 🤔

past charm
neon leaf
stark kestrel
crisp trout
past charm
crisp trout
past charm
#

I want to work!stk34

radiant kraken
neon leaf
#

imagine committing

#

i change 20k lines locally and then do 1 commit called "fix typo"

crisp trout
#

xd

#

Update - We have identified the cause of high error rates and taken steps to mitigate. We see early signs of recovery but are continuing to monitor impact.

radiant kraken
crisp trout
#

hopefuilly it'll be sooner than later -_-

radiant kraken
#

we can certainly hope for the best for sure

crisp trout
#

anyone using Cloudflare Pages :P?

neon leaf
#

yes

clever tundra
#

i use it for a basic landing page for a random domain i have

crisp trout
#

ah need a touch advanced, but i don't think it's possible what i want.

#

namely environment wise ;P

clever tundra
crisp trout
#

yeah fair, it's a bit tricky, though I prefer cloudflare for my current workload

crisp trout
#

recovery my a, they are ded.

eternal osprey
#

hey guys, so i made a qucik wordpress site cuz i was lazy to go through the hassle of doing react

#

like a bunch of bots accessing different files, but the files aint even there.

clever tundra
#

its normal, they just try and find vunerabilities and all sorts

eternal osprey
#

i know, i just don't get it lmao

clever tundra
#

lemme send you pics of some of my logs devious

eternal osprey
#

are they fetching the page to see whether the files are there?

#

Aka my site has been fucked before.

#

so they can try and access it?

clever tundra
eternal osprey
wheat mesa
#

They are trying to access common vulnerabilities in PHP sites

clever tundra
#

theyre fetching to see if it exists and whats there so they can report back to owners and do malicious things

#

i get stuff for admin and .env and all sorts

eternal osprey
#

but doesn't wordpress automatically block invalid urls?

clever tundra
#

not sure, never used it before

wheat mesa
#

I mean an invalid url will probably just 404

eternal osprey
#

that;s what i mean.. so their attack is useless

clever tundra
#

mine just auto-redirects home

eternal osprey
#

ahh

#

its just probing

clever tundra
#

yeah

eternal osprey
#

genuinely let me curl that url hopefully it returns an error

#

else i am cooked

wheat mesa
#

Nothing wrong with someone trying to GET an invalid URL though… it’ll just 404

eternal osprey
#

may i ask for a huge favour

clever tundra
#

depends what thus would be doing

eternal osprey
#

can i install a backdoor

#

i mean

clever tundra
#

...

#

that sounds awful without context

clever tundra
#

elaborate though

eternal osprey
#

i was on phone wanted to try to curl one endpoint they keep spamming to see whether they're returning 404.

#

so was asking if someone could do that but i sound lazy now

clever tundra
#

if you send the command then sure

wheat mesa
#

It will always 404 or 405

eternal osprey
#

i love your cat btw, i got a cat just like yours its the best

eternal osprey
clever tundra
#

aawh thank you

eternal osprey
#

my kitty called nero

eternal osprey
#

ahhhh

#

you got twooo

clever tundra
#

i have one called neo!

wheat mesa
#

Well… yeah, but these are common PHP vulnerabilities. As long as your site isn’t built on a 15 year old version of the framework, you’re probably fine

clever tundra
#

3*

eternal osprey
clever tundra
#

neo = top right on wood
not fully nero but close

eternal osprey
eternal osprey
clever tundra
#

black cats are the cutest

eternal osprey
#

still i am an overthinker

clever tundra
#

sitting in darkness then you see two eyes staring into your soul

clever tundra
eternal osprey
#

i hope, can i send you some links in dm?

#

That sounds like a scam but lmao just curl it.

#

even more fishy

eternal osprey
#

but bengals tend to be small

clever tundra
#

the name makes sense now

eternal osprey
#

hahhaha

clever tundra
eternal osprey
#

lmao

#

I love cybersecurity but i can’t handle the stress

#

So that’s why i do data now

clever tundra
#

it wasnt a scam

#

that was more than 5 rip

crisp trout
#

eh im happy @radiant kraken

neon leaf
crisp trout
#

the hell you have so much dist files for

#

the hell are you building? VLC compatible for all?

#

lol

sharp geyser
#

I am trying so hard to describe the effect im seeing from this. Like it's snappy no? It doesn't close smoothly right?

#

or is it just because im clicking from one to another

#

to me it looks weird idk

queen needle
#

it's snappy yeah, height not transitioning

sharp geyser
#

Im not sure why tbh

#
            <Grid.Col span={{ base: 12, md: 8 }}>
              <Stack gap={'md'}>
                {faqs.map((faq, i) => {
                  const isOpen = openIndex === i;
                  return (
                    <Box
                      key={i}
                      className={`${classes.faqItem} ${isOpen ? classes.active : ''}`}
                      onClick={() => toggleFaq(i)}
                    >
                      <Group justify={'space-between'} wrap={'nowrap'}>
                        <Text fw={600}>{faq.question}</Text>
                        {isOpen ? (
                          <AiOutlineMinusCircle className={'w-8 h-8'} color='var(--mantine-primary-color-filled)' />
                        ) : (
                          <AiOutlinePlusCircle className={'w-8 h-8'} />
                        )}
                      </Group>
                      <div
                        style={{
                          maxHeight: isOpen ? '500px' : '0px',
                          opacity: isOpen ? 1 : 0,
                          overflow: 'hidden',
                          transition: isOpen
                            ? 'max-height 0.35s ease-in-out, opacity 0.2s ease'
                            : 'max-height 0.3s ease-in-out, opacity 0.15s ease',
                        }}
                      >
                        <Text c={'dimmed'} size={'sm'} mt={'md'} lh={1.7}>
                          {faq.answer}
                        </Text>
                      </div>
                    </Box>
                  );
                })}
              </Stack>
            </Grid.Col>
#

Discord lowk needs to fix this spacing issue with codeblocks

sharp geyser
#

no fuckin clue how this actually works tho ngl

#

found it on stackoverflow

queen needle
#

lmaooo

sharp geyser
#

uses some contentRef array

#
<Stack gap={'md'}>
                {faqs.map((faq, i) => {
                  const isOpen = openIndex === i;
                  const contentHeight = contentRefs.current[i]?.scrollHeight ?? 0;

                  return (
                    <Box
                      key={i}
                      className={`${classes.faqItem} ${isOpen ? classes.active : ''}`}
                      onClick={() => toggleFaq(i)}
                    >
                      <Group justify={'space-between'} wrap={'nowrap'}>
                        <Text fw={600}>{faq.question}</Text>
                        {isOpen ? (
                          <AiOutlineMinusCircle className={'w-8 h-8'} color='var(--mantine-primary-color-filled)' />
                        ) : (
                          <AiOutlinePlusCircle className={'w-8 h-8'} />
                        )}
                      </Group>
                      <div
                        ref={(el) => {
                          contentRefs.current[i] = el;
                        }}
                        style={{
                          maxHeight: isOpen ? `${contentHeight}px` : '0px',
                          opacity: isOpen ? 1 : 0,
                          overflow: 'hidden',
                          transition: 'max-height 0.35s ease-in-out, opacity 0.2s ease',
                        }}
                      >
                        <Text c={'dimmed'} size={'sm'} mt={'md'} lh={1.7}>
                          {faq.answer}
                        </Text>
                      </div>
                    </Box>
                  );
                })}
              </Stack>
#

like tf is this scrollheight shit

#

is this just basically getting the height of the all faq divs?

#

so it can transition properly?

#

okay I was right

radiant kraken
pearl trail
#

oh yeah you answered, didnt see

radiant kraken
#

hai takiyoo!!

#

how are you today?? how's your drawing?

pearl trail
#

ehh i dont intend to continue it. i cant do further than sketch yet.
-# also this is #development

radiant kraken
#

and it's alright if you can only sketch right now, your sketches already look really good! DoggThumbsUp

#

progress is progress! i wish the best in you!

pearl trail
#

thanks ❤️

radiant kraken
#

no worries! 🫶

crisp trout
#

dude i'm so giddy after cryptic's review that he left on the bot site holyy

#

just constantly giggiling haha

radiant kraken
#

you should be proud of yourself

eternal osprey
#

boys i am in a split atm

#

i enjoy web development with js, ts, react and also backend stuff like java, haskell etc. But tbf, i also really like data analysis... what the fuck should i pursue lmao

#

i feel like wb development is getting fucked by ai...

#

and i can't do both, i feel like i will just get a jack of all trades without going in depth in a specific domain

wheat mesa
#

Web development will always have a market. AI being decent at generating a frontend doesn't mean that it will replace developers. It will just change the expectations of the output from a single developer

#

So I wouldn't make your decision based on whether or not AI will replace anyone

#

Generally speaking though, getting good at higher level system design & backend concepts will land you higher paying jobs

vestal stratus
#

i think proper good frontend engineers are more important now than ever

#

b/c of the variability of how things can be done on the front, ai chokes hard without good guidance, conventions, patterns, etc.

neon leaf
#

ai is basically essential for any complex react app at this point, so many stupid render rules and use hooks so you dont slow down their stupid rendering system to a halt

#

but even with that, someone needs to still look over what it does

vestal stratus
#

i don't think it's essential at all, useful sure, but certainly not essential

low marten
#

so close!

#

it's so nice to finally have a project blow up a little

acoustic fern
#

ggs

#

I hit 1400 in 6 months 🙌🙌

sharp geyser
#

Where should I put the theme switcher

#

This is a dropdown

#

Maybe its the lack of items in the dropdown but it being centered there looks weird

#

Maybe like this?

spring hemlock
#

does anyone have a vote tracker bot for your servers? I would love to bounce ideas...I wanna update my vote tracker bot for when the server webhooks go live

eternal osprey
sharp geyser
#

I think left align looked ugly

stiff parrot
#

I made a gta5 bot

#

I want to put a ticket in for review not sure where to go

sharp geyser
#

You don’t put a ticket in

#

You add it to the site and it sits in queue until a reviewer gets to it.

#

Current wait time is about a week iirc

pearl trail
#

that kind of toggle (yours) looks better on footer imo

radiant kraken
#

i agree! topggHappy

sharp geyser
#

You mean just a button?

pearl trail
sharp geyser
#

Just without icons

pearl trail
sharp geyser
#

I see I’ll try it

crisp trout
#

who in the right mind uses anything BUT dark-mode?

low marten
#

real

#

i don't even offer a lightmode

crisp trout
#

Also salt, any tips for growing the bot?

low marten
#

after that, i just passively grew

crisp trout
#

always interested in tips from someone who has a popular bot

#

Ah i see

low marten
#

social media and reddit are powerful

#

if you know how to use em

#

i dont

#

😭

crisp trout
#

you are at the point you don't need it.

low marten
#

here's my current count

crisp trout
#

amazing truly

#

I'm not sure if you are opened to it, but would love to get feedback from you relating the bot/dashboard you've built if possible, if not I completely understand.

low marten
#

feedback is always great

#

i like ur UI though

#

fits in with discord quite alot haha

crisp trout
#

I agree, always something to improve upon, and I see the project with different eyes, than someone else.

#

Thanks hah 😄

#

currently I've 6 servers, but most are test or people testing stuff out.

#

😛

low marten
#

ah that's how i started out, eventually it'll branch out from testing servers trust me

crisp trout
#

listen, as long as people find a genuine use and are happy, I'm more than happy to get harsh feedback.

#

Even the premium, there is a placeholder lol

placid hull
#

@crisp trout you're website is really well built

#

Same for you @low marten but you don't use any capital letter, is that normal ?

low marten
#

but thanks for the compliment

placid hull
neon leaf
#

im getting to a point where its more efficient to resolve relations in-app rather than directly in the initial db select query

#

one of the main reasons being data duplication with many rows, if I resolve in-app I need 1 query for 200x the same relation, if I do it in-db i need 1 big query that then gives me 200x the bandwidth costs

lyric mountain
#

if ur getting data duplication then ur constraints arent strict enough

neon leaf
#

well in my extreme example its activity logs

#

where if you list 1000 entries under the same server, you are likely to get the same people over and over again

#

then I can fetch these people individually while fetching the activity logs in parallel

#

so simplified

user_futures = {}
rows = []
q1 = select logs where server is x limit 1000

loop {
r = q1.next_row().await
if (!user_futures.has(r.user_uuid)) {
user_futures[r.user_uuid] = User::by_uuid(r.user_uuid);
}
rows.push(r);
}

users = join_all(user_futures).await;

radiant kraken
#

me when i brute force

jaunty cypress
#

@low marten normal?

low marten
jaunty cypress
low marten
jaunty cypress
#

yea It would be great, since if somebody is tired he can count

#

and It would be great if you could add maths like calculate

jaunty cypress
low marten
#

ofcourse, and mathmatical counting is already in beta, it'll be out next patch

low marten
jaunty cypress
#

ye, I will try it later on

#

any support server?

#

If yes it would be great if you could send me the link

crisp trout
#

🔥

#

And with that development of allowing dashboard access is now close to completion.

What does this mean?

Now not only server admins can view the dashboard, but your support team as well (of course with some RBAC configurations beforehand) 😄

crisp trout
#

hehe

proud sky
#

Hello Top.gg members! I was wondering if it is possible to have a actual discord bot send notifications when a bot gets a vote, I have seen it is possible just wasn't sure how it would work if I tried to do it in discord.js so some help would be greatly appreciated!

#

and then how would i do a webhook from my bot to top.gg

#

(and I would be using a private bot for this feature)

deft wolf
proud sky
#

okay... now a dumb question, do I just need to make my own random webhook for my bot and top.gg to communicate or is it way different than that?

humble gyro
proud sky
eternal osprey
#

hey guys i just added cloudflare to my site, i am kinda new with cloudflare.

#

i logged into my account and it displayed an ip i am not familiar with.

#

is that cloudflare proxying my ip?

#

i think it is heheh very cool

prime cliff
eternal osprey
#

yeah i know

#

but i thought my service would show my root level ip

#

but not

warm canopy
#

You can add something to resolve real IPs and what not

#

But yeah cloudflare is pretty awesome

clever tundra
#

We <3 cloudflare

crisp trout
#

veld is goated holy

crisp trout
#

if yes then it masks your ip to visitors instead.

hazy heron
#

cargo clean

quartz kindle
#

car go clean

sharp saddle
quartz kindle
#

oh wait, you're already there

#

:^)

sharp saddle
#

come to Brazil

quartz kindle
sharp saddle
pearl trail
#

do tim ever go outside his cave

quartz kindle
quartz kindle
#

:^)

pearl trail
#

wow 🙀

sharp geyser
#

@pearl trail

pearl trail
sharp geyser
#

I mean yeah but I tried that as well and it didn't look as clean

#

If you mean like next to it?

eternal osprey
#

to mention cloudflare is free

#

Best ever

crisp trout
#

yes

rustic nova
#

until you get noticed by their sales team

frosty gale
neon leaf
#

im scared for my life every day

crisp trout
#

shii now im scared

#

shiit, might have to plan for exit strategies lol

frosty gale
#

tho i did hear cloudflare sales are under very strict quotas

#

you are gone within the first month if you dont hit them they usually dont care if you're new

#

so its either harass possible leads into paying for cloudflare or harass existing customers to pay more for something they dont need

neon leaf
#

writing another archive format 🔥

-rw-r--r-- 1 root root 2073924K Feb 12 13:39 archive.ataf # my old new format
-rw-r--r-- 1 root root 2073747K Feb 12 13:39 archive.itaf # my new new format
-rw-r--r-- 1 root root 2076621K Feb 12 13:37 archive.tar

-rw-r--r-- 1 root root 1357282K Feb 12 13:41 archive.ataf.gz
-rw-r--r-- 1 root root 1343064K Feb 12 13:42 archive.itaf.gz
-rw-r--r-- 1 root root 1343222K Feb 12 13:43 archive.tar.gz
#

new approach this time tho

radiant kraken
#

WOOOOO

#

awesome stuff!!

#

keep it up!

frosty gale
#

🗜️

neon leaf
#

🗜️🗜️🗜️

deft wolf
#

Since when this is an emoji

radiant kraken
#

aint no way we still have bot compression jokes in 2026

crisp trout
#

fucking crazy, nice one

low marten
warm surge
#

or ts?

low marten
#

the bot is running pycord, i'm using a quart webserver for the frontend

warm surge
#

ahh

crisp trout
#

a bit more advanced workflow builder 😛

radiant kraken
#

TRULY AMAZING

crisp trout
#

not sure hjow d8r sounds as a name lol

radiant kraken
#

wdym?

crisp trout
#

the name

#

of the "app" d8r sounds a bit like doer or dater lol

delicate zephyr
#

d-eight-r

#

so

crisp trout
#

We have a reviewer in the chat

/we are not worthy!

radiant kraken
crisp trout
radiant kraken
#

all of you are awesome!

low marten
#

d8a would sound more like data imo

#

but d8r is cool

radiant kraken
crisp trout
radiant kraken
#

🫡

crisp trout
#

just a bit more advanced to send to different places, e.g. jira, trello bla bla

radiant kraken
#

ngl that looks fantastic!

crisp trout
#

just need to think about

#

um infra or whatever which api's i'd need and sh

#

idk im just messing round xd

#

might not even finish it xd

radiant kraken
crisp trout
#

idk

wise sand
#

Does the v1 API include the v0 endpoints, or do I need to keep using the v0 API to update my bot's stats?

radiant kraken
#

things like autoposting is from v0

#

the API will still continue to support v0 endpoints though

#

but subsequent updates on the SDKs from this point on forward will only contain v1 features

neon leaf
radiant kraken
#

YOU ARE AMAZING

#

no words could convey how much I am proud of you!

low marten
#

hourly cat picture module instead of working on the actual important things

low marten
crisp trout
#

we

#

we' shall see if i continue development on it 😄

radiant kraken
#

you should!

#

😤

crisp trout
#

realisticallly I'd only need oauth and what else 🤔

#

actually

crisp trout
#

haha @radiant kraken

radiant kraken
crisp trout
#

though workflows only based on discord sounds lame no @radiant kraken ?

radiant kraken
#

nuh uh!

crisp trout
#

would appreciate though opinions on what other interactions they' appreciate current ones are

radiant kraken
#

wdym?

crisp trout
#

what other integration/actions should I add

#

hmm maybe when message sent -> vote topgg

#

hah

humble gyro
icy copper
#

@steel oxide Hi, how are you?
You tell me to tag you when i change it

crisp trout
icy copper
crisp trout
#

f it i'll try and build it out @radiant kraken who knows 🤷 , but will be using my old api engine hah

crisp trout
#

oh i know KEKW

#

kidding

#

though, I cba to scout for domains, I'll just yoink my existing one and host the api there hah

radiant kraken
#

nice!

crisp trout
#

zug zug

crisp trout
#

@radiant kraken think i'm close to finishing lo 😄

crisp trout
#

update broke decorators what

#

oh no im just dumb, commented out different part of code.

spring hemlock
#

Hi, I’m pretty new to this so I might be missing something simple.

I set up a webhook for Server Votes and pointed it to:

https://votes.topggvotetracker.xyz/topgg

If I manually send a test POST request (using curl), everything works:
• My server receives it
• My bot logs the vote
• It posts the announcement in Discord

But when someone actually votes on the Top.gg website, nothing happens.
No logs, no errors — it’s like the webhook never fires.

I’ve double-checked:
• The webhook URL is correct
• The secret matches
• The bot is online
• The route responds with 200

Is there something different about how Server Vote webhooks are sent compared to manual test requests? Or is there something specific I need to enable for live votes to trigger the webhook?

Just trying to figure out what I might be missing. Thanks

spring hemlock
#

Correct

#

I’m using a VPS which doesn’t allow HTTPS, however I’m going through cloudfare to re funnel? I think. Everything checks out though, test work, but live votes do not

humble gyro
#

you do need https, but if you're going through cloudflare you should be ok

#

do you get any error?

#

just nothing?

#

can you share the server link?

#

i can probably check the webhook status for your server

spring hemlock
#

Sorry, a manual curl works, the send test on the website does not. Then live votes do not. Had to correct myself

humble gyro
#

gotcha.

spring hemlock
#

Here or dm?

humble gyro
#

either is ok

#

its a top.gg link so i doubt the big bad bot will block you

spring hemlock
humble gyro
spring hemlock
#

Well damn, thank you.

#

Any recommendations by chance

humble gyro
#

add more logging

#

then figure out what to do next

spring hemlock
#

Got it, thank you, I will do that

spring hemlock
#

Could you confirm what exact header format server webhooks send? For the authorization part @humble gyro

humble gyro
#

check the reference code here

#

it explains the entire thing, with comments

spring hemlock
#

Okay thank you

#

so thats probably exactly what i was missing

pearl trail
#

👍 🔥

lament rock
#

Tried agentic coding for the first time and I hate it. I have my own local Ai running and the performance isn't awful. Just I'd only use it for suggestions instead of trying to let it do anything itself. It just feels way more efficient for how I'm wired

frosty gale
#

but yeah its sort of finding that balance of where to use it and where not to

#

i tend to favour it for work code tasks i find boring but dont in my personal projects unless its boring frontend stuff

lament rock
#

gpt oss and deepseek r1 didn't provide terrible suggestions, but some of the tooling I was running them under sucked and even if it didn't suck, I did have to explain myself quite a bit for them to understand I'm not making stupid decisions

neon leaf
#

every time claude auto-compacted itself for me it got completely lobotomized and i had to reprompt it from a new context

frosty gale
#

it just removes crucial information from the prompt and gives the model a shitty summary

#

thats why i think people are starting to use ai-agents.md files or whatever they are called that agents automatically read so they retain context about the codebase and stuff you want it to do and dont want it to do

neon leaf
#

finally a new rack 🙏

neon leaf
crisp trout
frosty gale
#

i saw a job posting last week hiring for an "AI first software engineer" and they explicitly made it clear in the job description that you must only code with LLM tools like cursor or copilot

#

i definitely would not want to be a user of whatever app they are building

neon leaf
#

banking app 🔥

frosty gale
#

tho if you think about it its actually good for us long term

#

it means there will be a massive influx of vibe coders that have no low level knowledge or knowledge of why computer do something its not supposed to which means they will hire us with a 4x salary to fix their shit

#

kinda like cobol developers are still in demand

neon leaf
#

how can they offer a 4x salary if the economy collapses?

frosty gale
#

good point

#

they will pay us in bread slices like in the old times

neon leaf
#

perchance

#

tho im curious if the bubble pops, will it have a positive or negative effect on inflation

radiant kraken
pearl trail
#

well that’s great since then my competitors is lesser but still

lyric mountain
#

currently migrating to v1 webhooks, what does req.rawBody in express?

#

trynna implement in java

neon leaf
#

its the body without any additional parsing, so just a bytebuffer/string

lyric mountain
#
def content = '{"type":"vote.create","data":{"id":"810124259540119552","weight":2,"created_at":"2026-02-13T12:24:34.8557721+00:00","expires_at":"2026-02-14T00:24:34.8557721+00:00","project":{"id":"4283610082692988928","type":"bot","platform":"discord","platform_id":"572413282653306901"},"user":{"id":"8638540286017601536","platform_id":"350836145921327115","name":"kuuhaku_otgmz","avatar_url":"https://cdn.discordapp.com/avatars/350836145921327115/0a21892e002631ad384ceb9c05ed64a8.png"}}}'
def head = 't=1770985474,v1=f010cc323b3d3ab4db12eba0cdc70cae98ed13d58010386f9399423a45135a1f'
def secret = '--------------------'

def values = head.split(",")
        .collect {it.split("=") }
        .collectEntries()

HmacUtils mac = new HmacUtils(HmacAlgorithms.HMAC_SHA_256, secret)
mac.hmacHex(values.t + "." + content)
Result: 5446a40c62615fed23465b8fe8a2c94268ded3596daf8c9bdc8f8dad900f0a99
#

then no idea what I'm doing wrong

#

like, that's the literal raw body

frosty gale
#

these are always such a pain to get right because even a single byte or setting can fuck you up

lyric mountain
#

content length matches with content byte count

neon leaf
#

is values.t extracted correctly?

frosty gale
#

wondering if that t= preamble needs to be preserved as well but i would imagine not

#

log the result of values

#

will try locally

#

actually i cant without the secret nvm lmao

radiant kraken
#

during our lecture he was coding and debugging on his own 🥺

lyric mountain
#
--values
[t:1770985474, v1:f010cc323b3d3ab4db12eba0cdc70cae98ed13d58010386f9399423a45135a1f]

--hmac value
1770985474.the_big_ass_content
radiant kraken
neon leaf
#

@frosty gale i think i just found a bug in clippy

#

nvm confusing error

neon leaf
frosty gale
#

maybe the secret key is also hex/base64 encoded which you need to decode first???

#

send secret

neon leaf
#

i mean its not in prod yet id hope so would be an issue ig

lyric mountain
#

eh, actually shouldn't matter since I'm still implementing it, can just create another later yeah

#

whs_ea6dae5f7b6cdcbe32181e60260a90bd244413527881a89a26a2dbccb26ba1be

#

aint even running yet, I'm testing the code on groovy console lmao

frosty gale
#

yeah youd just use the key directly

neon leaf
#

yeah im getting the same result as you in my test code in another lang

lyric mountain
#

that's weird then

neon leaf
#

u sure the secret is correct on topgg side? 🤔

lyric mountain
#

imma check in case

frosty gale
#

if thats not it then the body might be sus and may be being interpreted in a different encoding

lyric mountain
#

nah it's wrong lmao

frosty gale
#

lmao

lyric mountain
#

mustve pressed reset sometime after voting, so the signature will obv mismatch

#

well that's it folks, just a pebkac issue

frosty gale
#

deficiency in nutrient skill

neon leaf
#

ah yes gotta love tokio not implementing AsyncRead for &mut [u8] and only for &[u8]

#

Vec<u8> doesnt have an impl either ????

radiant kraken
#

yeah this annoyed me once

#

no streaming 😔

neon leaf
#

ok got it working by not using dyn

#

annoying

radiant kraken
#

0x7d8 when he finds out that you can do things without dyn

#

/s

neon leaf
#

look my bin is already 60mb of pure rust even with all opt set to s

#

i need to save space somewhere

radiant kraken
neon leaf
#

while dyn pollutes the vtable, its still cheaper than generic function dupes

frosty gale
#

dyn users realising that you can code without ever doing any runtime dispatching

#

this calls for an AI meme

neon leaf
#

dyn haters realising having do_stuff<T>(a: T) dupes their function for each time its called with a different T

frosty gale
#

kinda makes no sense but its the effort that counts