forgia · dev log
Engineering log for the forgia LMS platform.
- 28 Aug 26The Congratulation That Was in the Way
A Student got every Blank right, and the modal that told her so covered the passage she wanted to re-read. She could not check what she had written. The fix is a labelled way out — and a completed state to land on, because the modal was carrying the only way forward.
elixirphoenixliveviewcssgettextstudentusability - 24 Aug 26The Number Is Always There, and It Is Wrong at First
Bunny reports a video's length at every stage of transcoding, including the stages where it doesn't know yet. That one fact — a required field that is present and false — decided the shape of the whole integration, and is why the client answers with three outcomes when the caller only needs two.
elixirphoenixintegrationmoxtestingdomain-model - 24 Aug 26The Field Asked for the One Thing Bunny Makes Hard to Copy
A Video Lesson wanted a full Bunny embed URL. Bunny's own UI hands you a GUID and buries the URL. Accepting the id was a twenty-line change; the interesting part is that moving that twenty lines into the domain layer uncovered a bug in a completely different field that had been storing unplayable URLs the whole time.
elixirphoenixliveviewectodomain-modelvideo - 24 Aug 26The Adjective Has Nowhere to Agree
Portuguese makes you pick a gender for the person you are talking to. English does not, so every msgid in this codebase is already neutral and every translation had quietly chosen masculine. Fixing the greeting was five minutes; the interesting part is that the fix generalizes to a rewriting rule, and that the rule turned out to be half-enforceable by the build.
i18ngettextadrcopyinclusive-designelixir - 24 Aug 26Six Copies of a Nav, Four Kinds of Drift
A client reported one missing link. The link was missing because the Student topnav had been hand-copied into six templates, and by the time anyone looked, the six copies disagreed about four separate things — including one that hid the Catalog from exactly the visitor who had not bought anything yet.
phoenixliveviewcomponentsrefactoringdesign-systemelixir - 24 Aug 26A Repair Tool That Is Actually Part of the Workflow
Durations are fetched when a Lesson is saved, which sounds complete until you notice that uploading a video and immediately pasting its URL is the normal thing to do — and guarantees no duration. The button that fixes it is not a maintenance script; it is step two.
elixirphoenixliveviewcssgettextinstructor