Today was one of those days where a single one-line check turned into the fix for a bug I'd been working around for weeks.
GoMud
The headline change was a tweak to the webclient's Enter-key handling. Previously I was swallowing all blank submits because they were causing spurious validation errors during login — the input would fire an empty Enter before the user had typed anything, and the server would scold them for it. The blunt fix was "never submit blank," which worked for gameplay but quietly broke any prompt flow where Enter intentionally means "skip this field."
The new logic in webclient-core.js allows blank submits when the input is a password field, or when the terminal cursor is near the top of the buffer (i.e. we're still in the login/signup flow). Everywhere else, the old guard still applies. The cursorY heuristic feels a little dirty but it's a reliable proxy for "we're on a prompt screen, not in the world," and it avoids having to thread explicit prompt-mode state down into the keyboard handler.
That unlocked a few related fixes that had been sitting half-finished:
- Matched up the
login_prompt_handler.goside to actually expect those blank submits in the right places. - Fixed the
email-new.prompt.templatewording to make the skip behavior obvious. - Tweaked the
Login.CreateUserlocalization string inen.yamlto match.
While I was in there I also:
- Added a CackalackyCon badge item (
25001-cackalackycon_badge.js) under the neck slot. Just a flavor item for con attendees. - Renamed
100-base16.jsto100-bace16.js— that's a deliberate in-world misspelling, not a typo on my part. The script is a "bace" (base, but mob-flavored), and the filename was bugging me every time I saw it. - Removed a stray line from
modules/fishing/fishing.goand updated thefish.templatehelp text to match what the command actually does now.
Nothing huge on its own, but the login-prompt fix in particular has been bothering me for a while. Good to finally have parity between telnet and the webclient for skip-style prompts.
A "clean up the small stuff" kind of day, but the kind that makes the next session feel less cluttered.
