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

2h 12m 45s logged

Devlog: giving AuriaOS two real apps (and finding out neither of them worked)


Calculator and Mood Lamp had been placeholders since day one. A folder icon and a div that said “🧮 Calculator app” and nothing else. A window
opened, technically. Nothing else did. For the second submission I finally built them for real.

Building them

Calculator got a real display and button grid, doing immediate-execution math on purpose: 6 + 3 × 2 = gives 18 not 12 because that’s how an actual physical calculator behaves and a proper order-of-operations parser felt like solving a problem nobody asked for. Divide by zero gives Error like it should. Keyboard input works too but only while
the calculator window is actually focused so it can’t hijack typing elsewhere.

Mood Lamp got more ambition! Instead of a “click a button, see a color” toy, it’s a global ambient tint over the whole desktop not just its own
window. Four presets pulled from the existing accent palette, plus a real color picker and intensity slider for anyone who wants to go off-menu.

Wrote the CSS, wrote the JS, wired both in, called it done. It was not done. The buttons that did nothing.

Time for the First bug! Mood Lamp’s buttons didn’t work. No errors, no visual change, just silence..which is a specific kind of bug since broken JS usually throws. Silence like that means the code never actually ran. That’s exactly what happened. wireCalculator() and wireMoodLamp() were both fully written and correct and never called from anywhere. openWindow() still had the old dispatch list from before either app existed so every button in both apps existed in the DOM with zero listeners attached. Not a typo, just two lines I never wrote.

The command that lied about itself

From the previous reviews, I got to know that typing lightmode on in the terminal printed darkmode turned on. The Dark Mode → Light Mode rename happened everywhere except one spot. The shared toggleBooleanSetting() helper used the internal state key (darkmode, which still has to exist since the actual effect is a literal CSS invert) for the confirmation message too. I split those apart so the message reflects what you actually typed not the plumbing underneath it.

The mood lamp that had no mood

Once the wiring was fixed, buttons visibly responded but the desktop itself looked exactly the same. Sampling the actual rendered pixel before/after at max intensity confirmed it. The shift was small enough to round to nothing. The overlay used mix-blend-mode: soft-light which was picked for subtlety. Except soft-light scales toward zero as the base color approaches black and AuriaOS’s desktop is about as close to black as a color gets (almost). The mode I chose for subtlety was almost mathematically guaranteed to do nothing on this exact theme. I switched it to screen, which always adds light regardless of how dark the base is. Same 30% intensity setting, suddenly an actual visible wash instead of a rounding error.


The actual lesson? None of these three were exotic bugs. A missing function call, a copy mismatch, a blend mode never checked against the theme it’d run on. All three shipped unnoticed because each one failed quietly instead of throwing. Worth remembering “it’s not doing anything” isn’t a shrug, it’s a symptom!

0
115

Comments 0

No comments yet. Be the first!