You are browsing as a guest. Sign up (or log in) to start making projects!

3h 0m 5s logged

Devlog 7 - StudyBuddy

the drag box was broken in the real app. for months

u upload a worksheet, u draw a box around question 1, it fills in. thats the whole manual editor, thats the whole free tier. and it didnt work. click through the app to get there and nothing responds. reload and its fine.

four previous commits went looking for this. the test had a 24 line comment explaining why it was probably a test problem. it was not.

elementFromPoint(100, 28)  ->  HTML
elementsFromPoint(100, 28) ->  [HTML]

thats the browser saying nothing is at this pixel, for every pixel on the page.

the cause was 8 view transition animations, 6 stuck running forever. one that never finishes sits in the top layer and covers everything. and its a pseudo element so it shows up in no ancestor walk and no element stack, which is why every previous investigation contradicted itself.

bisected on clean builds:

next flag react component result on on broken off on broken on off clean off off clean

so its react’s <ViewTransition>, not next. three lines of css. the drag test used to fake the mouse with dispatched events, now it uses a real one, which is the only thing that proves anything.

gemini has never completed a single request

4 providers in settings. one says “has a free tier worth starting on”. zero successful calls, ever.

  • every nullable field is anyOf: [{type:'x'}, {type:'null'}]
  • gemini doesnt understand anyOf, so a filter strips keywords it rejects
  • the filter dropped anyOf and left {} behind, while leaving the field in required
  • a required field with no type = rejected request. every time

funny part: the allowlist already had nullable in it, gemini’s own word for the same idea. someone knew. nothing connected them.

the landing page was lying about 3 of its 4 topics

theres a comment above them saying “kept honest on purpose: these are real taxonomy names”.

  • Ratio & proportion - not real
  • Linear equations - not real
  • Reading inference - not real
  • Vocabulary in context - real

so the one claim the page made about its own honesty was the false one lol. theres a test now instead of a comment.

tests found 2 bugs i wasnt looking for

  • new Date("sometime in 2010") returns jan 1 2010, cuz v8 scrapes a year out of almost anything. and it parses as local midnight while everything next to it is UTC. on a 13th birthday thats the whole question
  • one route answered 404 to someone with no session. the client sends u to sign in on a 401 and brings u back after, so a tab that sat open till the session expired just ate what u typed

the rest

  • a reload could cost u a 114 question paper. markup saves nothing till every question is marked, so its a local draft now
  • /, /signin, /signup are static html now. the topbar called auth() from the root layout, which made all 39 routes render per request
  • the 23mb embedding model was getting fetched inside a background task on every cold start, and failing silently
  • one commit recorded 32 renames and none of the code. the git add failed and i’d redirected the error away so i never saw it
0
46

Comments 0

No comments yet. Be the first!