Made a change to a code block in a verb that I think was getting people stuck in the 'PERFORMING' state, preventing them from performing some more.
Hopefully, it should be fixed and will allow people to perform to their heart's content.
Please report any wonkiness that may have been introduced.
If you eval a robot now, you'll see partially covered robot parts right after fully visible ones. Partially covered ones will not give your a condition, as they are partially covered and thus you can't fully evaluate them. This should avoid confusion that players have reported with not seeing parts that are not fully covered.
The SIC cyberware had no emp resistance, meaning it could be damaged and disabled by an EMP. We actually don't want this. It's only happened once ever, that we know of. I've given it much better emp resistance (to damage).
This should not impact disabling it temporarily / deadzoning it with an EMP. Just permanent damage to it.
Don't wany immies getting their SICs damaged, or people using EMPs in lieu of going to the ripper doc when they need their SIC gone.
I've updated the fire escapes in game such that they are NOT targets you can typically jump to from a rooftop. This should prevent the roof that overlooks the Ashlin Crown building from having 15 rooftops you can jump to.
You can still attempt to jump FROM the fire escape to a nearby roof, and I've left the fire escape that is LEVEL with the garage as a valid jump location but excluded all the others to make this a more manageable jumping experience.
Ammo production kits had a bugged property that was causing them to trace back when trying to make certain types of ammo. This was then compounded by a bug in the error handling code for these kits.
Both have been fixed, and ammo kits should just work now for anything you know how to make. If you run into any issues, raise a new bug so we can investigate.
This had been broken for a while due to the changes to security networks several years ago and this camera not being ported over. I've moved it and it should be working as expected now, and showing what's going on in RiotGear on channel 777, with the view rotating between different view points once a minute while games are going.
If you uncontrol/exit the vehicle/dismount while driving a vehicle, the vehicle will continue forward for 1 room and then either roll to a stop or crash due to the lack of driver. It's a coin flip that decides which outcome.
I've tested this and the messages are mostly right, though there might be a tad bit of wonkiness about you continuing to drive smoothly or something even if you've uncontrol'd or dismounted.
I don't think this outcome will come up much so it may be a non issue.
I had to edit vehicle movement so if anyone see's any weirdness please @bug it.
Updated how we pull recipe masks so that ones without full configuration (like tacos) show up correctly when you craft [something] using chef.
Hopefully fills in the gaps people were seeing where they bought the groceries but didn't see available recipes for the items.
I've tracked down a lingering and super annoying dynamic room issue where we were calling a verb (match_exit) to see if we had any real exits pointing in a direction, but which had the side effect of creating a dynamic exit if one didn't exist. This side effect exit would then be used, but blocked because it did something silly like fly you through the dome walls into the badlands.
However, if you attempted to fly in that same direction again, in some situations, it would use the same exit that was just created, without all the checks for if it was valid and not doing something silly (which we only did on dynamic exits that were just created).
I've resolved this with a read only check. I've tested, and had a few players test, and flight and other stuff seems to be working fine and the bug is gone.
This likely fixed a bunch of random bugs that people have seen rarely over the years.
It might also have caused issues that I can't foresee, so if you notice something, please @bug it right away.
Typos no longer get submitted through a separate system. Typos are submitted via @bug (you can still use @typo, it's now aliased to @bug). I've updated @bug with a new category id (10) for 'Typo'. Please use this moving forward when submitting typos.
I've also removed all the admin facing typo specific triage tools as they are now unused.
This change will also let the automated scanner identify and triage typos for fixing.
I've implemented automated traceback triage (manually kicked off by me, while I monitor it for now) similar to the bug triage I've already implemented.
This takes a more offensive approach to identifying bugs. Yesterday I implemented code that enhances tracebacks that we detect (but that are not surfaced to the player) with extra data that is then stored in the SQL db, on top of logging them to a channel.
Now, I've implemented a series of MOO verbs that allow an LLM which is connected to our dev server to pull these TBs one by one, investigate them, decide if they still exist, mark them as resolved if they are already fixed, and automatically submit a bug with the issue + root cause + suggested fix.
This should surface tracebacks as bugs for us to fix, without a coder (me) having to manually review old TBs in the logs, and make it faster for us to resolve them because we have enhanced tb info that is not in the raw logs.
(Edited by Slither at 11:29 am on 5/8/2026)
(Edited by Slither at 9:34 pm on 5/8/2026)
Due to confusion I've updated the app help for the messaging app to clarify that when you send a text message via the 'input write [number]' command you should include your message in quotes:
input write 555-1234 "Sup? How's it going you a dumb baka laka this is a quotes string with prepositions and stuff" with prog
The quotes are needed because otherwise if you include 'is' or 'with' or another moo recognized preposition in your message, it will break the verb execution and not work.
I realized tonight that because using - doesn't echo the text back to you, that this text doesn't end up in logs! That's a shame. You miss out on capturing RP if it doesn't log.
Well, it does not. This doesn't change how others see you talking, it just now shows you what you're saying echoed back to you like this:
-Cool.
You speak quietly into your phone: "Cool."
There was a bug that prevented aeros from fleeing into dynamic rooms (like up from a rooftop). This likely was the cause of a few different flee issues with vehicles over the years. I've updated the code to support fleeing properly through these rooms either with 'flee [direction]' or just 'flee'.
(Edited by Slither at 9:07 pm on 5/11/2026)
I was a biiiit overzealous when I made it so all robots could get/drop/inventory. Some are configured to not have inventories at all. I've removed the commands from these ones (quadrupeds mostly). The rest still have these commands. Should prevent the TBs some of y'all were seeing.
There was a further issue in the progia text messaging that was caused by a variable being reused, which led to text losses. I'm sorry about that. The issue should be fixed now, hopefully for good. I just tested all the combos I could think of with a player and it looks good.
I made this verb call, which we call 3.2 million times -a minute- when there are 45 people online, return early when a sin isn't needed. This seems to have dropped the CPU usage by ~15%. It's somewhat hard to tell because random things are always happening in game, but it's a solid improvement.
At the direction of DistantOrigin and lisdude (maintainers of ToastStunt), who I shared my adventures in $cu:sin optimization with, they suggested I remove the seconds_left() check as it is not really needed anymore, with modern CPUs and how fast they are.
Removing this dropped our CPU usage even further. We were at 35% or so as the baseline with 45 people on. We're down to 6-8% CPU usage now with 40 people online.
Freaking wild. The MOO should feel more snappy and have more room to grow now.
There was a bug where you could scan a room or device with a term, then instantly leave the room and the scan would continue as if you hadn't moved.
This has been fixed, the terms will now check to see if you're still 1) in the room you're scanning or 2) in the same room as the device you scanned / it's in your inventory still.
If there's any weirdness with these checks please file a bug.
New webclient logs are now 100% local and do not rely on the styling from the sindome.org website. The styles are 100% included in the log file, and that means they will look just like they did at the time they were made, even if we update the website or webclient styling.
Old logs should remain working.
If you type: control+r
You will get a command history search that you can start typing into, and move up and down to review previous commands, and then if you hit enter it will populate that command in your buffer.
You can hit esc or the 'x' button to leave this UI.
The command in your buffer isn't sent, giving you the opportunity to edit it.
If you actually want to refresh the browser window, just hit control +r while inside the overlay and it will execute it (so basically control+r twice).
Not sure how many people would want to do that– but we are using control+r because that's what a terminal search uses, so it is easy to remember for those with the muscle memory.
The battery 'load' verb is on the battery, not the object that supports loading. This makes it hard to tell what items accept batteries. I've added a line to examine on all objects that have a battery property, to show how to load the battery. Should reduce confusion.
Fixed an issue with grapple where if you tried to get something you would see:
You can't do that while You can't do that while grappling someone.
I also resolved a more general issue with the way this worked, for action checks, so it should fix this for some other cases that were broken as well.
If anyone see's anything weird here, let me know.
I've made a ton of webclient updates. Hopefully they are seamless and don't break anything but please @bug any issues and be patient while I resolve them.
ANSI STATE MACHINE
I've implemented an ansi state machine for parsing ANSI/XTERM/TRUECOLOR. This works much better than the regex stuff we were doing before and actually fixes some lingering issues where colors might not close when they should.
I expect some minor issues in game due to fixes we put in place in the MOO to correct for webclient issues, that I will need to debug and change. Please flag these with @bug.
While we don't support TrueColor (RGB) some games do, and this client is for everyone, and now it works correctly for TrueColor, and if we decide to implement truecolor in the future we are in good shape already.
CLIENT OPTIONS
You have many more options now and they are broken out into different sections via tabs in the client options overlay.
FONT FAMILY / SIZE / COLOR
- Input Font Family
- Input Font Color
- Input Font Size
- Output Font Size
SCROLL PAUSE TOGGLE UPDATE
There is a new toggle that auto pauses the scroll when you scroll up and unpauses it when you scroll down. This started out as a mobile specific feature but I actually like it so much that I made it available to everyone.
IMPORT / EXPORT / RESET CLIENT OPTIONS
There is now a new tab in client options for importing/exporting your client options. It saves a small json file that you can use to import into a different instance of the webclient, like mobile, or a different computer, if you want to keep your options consistent.
CLIENT NOWRAP BLOCKS
I have implemented (in the client, not yet in the MOO, so no impact currently) a feature that will let us tag blocks of content as 'nowrap'. This will make the mobile client put this content into a horiztonally scrollable box, which will maintain the formatting instead of wrapping it.
This is most useful for mobile, and other small screen devices.
Like I said, I haven't started using this in the MOO, but examples:
- The Sindome Splash Screen when you connect
- When you view a node in game
- ASCII art SIC ads
- Other things that rely on their visual presentation to convey meaning
There is an option to turn this on and off in the client options.
MOBILE KEYBOARD UPDATE
I've updated the input area to tell mobile keyboards not to do things like auto correct and auto capitalize as these are super annoying with MOO commands. Entry should be much easier.
MOBILE TOOLBAR
The mobile toolbar wasn't sticky, and making it sticky was difficult. It was also difficult to hit the little icons. So on small mobile touch screens I've turned these into buttons that are locked to the input buffer on the bottom of the screen. On desktop small screens they will remain buttons on the bottom.
CLEAR BUFFER ON MOBILE
This will have a confirmation prompt on mobile when you try to clear buffer, in case you fat finger it.
TRANSPARENT OVERLAYS
This option was not impacting enough of the overlays, it now impacts all of them.
FURTHER STANDARDIZATION OF ICONS
I've updated the glyph icons to look and work better for the toolbar.
(Edited by Slither at 10:09 pm on 5/27/2026)
(Edited by Slither at 10:55 am on 5/28/2026)
When your disguise slips and reveals your face, we were doing a player:tell but the context should have been this:tell, resulting in the potential for the wrong person to see the 2nd person notification, meaning you wouldn't know your disguise slipped and another person in the room would get the wrong message.