A customer-readable note on a negotiated agreement
The internal `notes` field is where staff record what was conceded and to whom. The customer's own plan page needs prose it can show them, and one careless sent...
The shelf, its slide-out pane, and its place on the first row
Every app the member may open, with a pin, a search, and a pane that slides out of whichever side has room for it. Locked to the launchpad's first row by lib/ho...
One send contract across all five providers, and stop dropping inbound texts
The SMS abstraction layer had five providers disagreeing about how to fail and an inbound path that discarded real customer messages in silence. Sending - Se...
Design for the App Shelf launchpad widget
A system widget with no rights, locked to the first row of the launchpad by arithmetic rather than a band of its own, with a portalled flyout carrying each app'...
Stop every scene re-rasterising its sprite bank on resize
An audit of all eighteen scenes found the same defect in twelve of them, and it is the shape that degrades a tab over a minute or two and then stalls it in garb...
Remove the footer picker, keep the ?holiday= parameter
The dropdown was a temporary control for the initial review of the eighteen scenes and it has served its purpose. The query parameter stays — it is the only way...
Stop the page-rotation easter egg re-firing on every trip to the footer
The reported lockup was never the holiday scenes. It is `HiddenAnimations`, which has been in this repo the whole time, and the report described it exactly: "so...
Stop the scenes hanging the tab
Reported: "after about a minute or two the page looks to animate away then animate back and its completely locked up. Browser wants to close the tab." Reproduce...
Dress the site for eighteen days of the year
On ~84 days a year the marketing site now decorates itself, automatically, from the reader's own calendar. Snow falls through December and settles on the cards ...
One scrollbar on a data grid, not two
Every grid in the app drew two vertical bars — ours and the library's, side by side. Measured on /leads: ours at x∈[868,900], ag-Grid's at x∈[900,915]. ag-Grid...
Fix Verified, a reason on every denial, and a Requires Verification filter
The status menu on /support?tab=system-bugs leads with "Requires Verification" and a rule, then the individual statuses. It stands for NEW, IN_PROGRESS and FIXE...
Add denial_reason, and sweep the three retired status names
status_name holds a NAME read back through @Enumerated(STRING), so a row still saying TRIAGED after the constant is gone does not read as a default — it throws ...
Give the bug-status preview the denial block it now renders
SystemBugStatusEmail pre-renders two conditional blocks, and the admin preview has to supply both. Present and empty rather than absent: an unsupplied placehold...
Keep the dispatch's status write in step with the denial reason
Two services move a system bug's status, and only one of them knew about the new denial_reason column. A dispatch applying IN_PROGRESS to a report that had been...
Let the reporter confirm their own fix, and carry a denial's reason
Adds POST /{id}/verify-fix — the one status change in this feature that is not gated on MANAGE_SYSTEM_BUGS. A separate endpoint rather than a hole in the one be...
Retire three statuses, name what Verified verified, and record why a report was denied
Removes TRIAGED, AWAITING_INFO and CANNOT_REPRODUCE. Each described how confident an operator felt rather than where the report had got to, and none of them mov...
Lock the platform rights an operator may not grant
SecurityService now refuses to grant a right the caller does not hold themselves — an administrator may create a peer or a lesser, never a superior. The Manage ...
An administrator may grant a peer or a lesser, never a superior
MANAGE_PLATFORM_ADMINS is the right to administer the platform's access list, not a right to invent access. Without a ceiling it was silently every right at onc...
Stop the operator seed re-granting revoked platform rights
Rights taken away from a platform administrator on Platform Admins came back on their own days later, which read from the console as a save that would not stick...
Make the left seam move the LEFT edge, and put one on every window
Two things were wrong with the width gesture. **It moved the far edge.** `store.resize` writes a window's width and touches nothing else — not `dockX`, not the...
Stop a horizontal scrollbar flashing under every tab switch
Every tab and sub-tab change in the Interaction Center slides the incoming pane in from x: 12 (the panel's tabs) or x: 10 (the Terminals workbench's). A transfo...
Relay coder usage onto a per-member topic
menu subscribes to over the existing chat STOMP connection. Built as a twin of the training relay — same subject shape, same single-token rule, same core-NATS-...
List every provisioned account on one dev machine
findEnabledProvisioned asks existsEnabledProvisioned's two conditions of a can put one question to the agent per tick rather than one per member.
Sweep the dev machine for coder usage and publish what moved
Feeds the two meters the Linux Desktop menu now draws — how much of a member's A sweep rather than a push, because the numbers are born on the machine and stat...
Show how much coder allowance is left, live, in the Linux Desktop menu
windows is left, which window resets when, and whether what is on screen is current. It is the fact that decides whether starting a session is worth doing, so i...
Carry the no-credit-card mark on the nav Start Free too
The hero CTA changed but the nav button kept a Rocket, so the same action wore two different marks on the same screen — and the nav one is the button a reader s...
A tab per open window above the maximized pane
A maximized tool window with a navigator down its left side now gets a row of tabs across the top of the column beside it — one per OPEN window of the type the ...
Swap the Start Free arrow for a no-credit-card mark
The hero CTA carried a generic ArrowRight, which told a reader nothing they did not already know from the button being a button. The objection it has to answer ...
Keep the dock clear of every scrollbar, and let members size it
Three things about the row of docked tool windows. **It stops covering scrollbars.** The dock reserves the viewport's right edge so it does not park a window o...
Report each account's coder allowance to the console
The Linux Desktop menu is getting two meters — how much of the member's numbers. transcripts do not carry them, and neither OTel metric is about the subscripti...
Preview each logo from the org being edited, and stop hiding the software simple logo
Two defects on Behavior & Labeling, both of which make a logo that IS uploaded read as though it is not. **Every preview URL now comes from the org this pane f...
Context menus for tool window title bars and hex heads
A member with a dozen windows open could only put them away one at a time, and the only bulk gesture that existed — throwing each hex head at the goal — is a ge...
Make the logo-preview checker mid-grey, so a white logo shows
The checker shipped in 5e0fb7b2 at #e0e0e0/#fff, matching the image-to-svg tools. Rendered against real logo geometry that is wrong for this screen: a pure-whit...
Assert the contract the service actually has
**************** asserted that an image already inside the box comes back byte-identical to what went in. It has been failing since afee6fd in July, and the cod...
Checkerboard behind the logo previews on Behavior & Labeling
The nine logo slots painted their artwork straight onto the card's own white, which hid the two things an admin is looking at: whether the file is actually tran...
Stop an indexed source turning the tab icon into a black box
A tab icon uploaded as a transparent PNG-8 arrived in the browser tab as a black square with a ragged logo on it. Measured on the upload that exposed it: of the...
Let the lender word the application ribbon
`t("application.ribbon")` becomes the FALLBACK rather than the answer. A lender can set its own wording on the labeling page, which reaches this site through th...
Let the organization word the three ribbons, and own the tab icon
The route map in PaneRibbon stays exactly as it was and becomes the fallback layer: each of "/", "/member" and "/team" now pairs the wording this site ships wit...
Let the organization word the ribbon, and own the tab icon
"Welcome Back!" moves out of the root layout into PaneRibbon, a client component, because the wording is now the organization's to choose and this site learns i...
Ribbon wording and a tab icon column on Behavior & Labeling
Two additions to the same page, each in the pane it belongs to. **Custom Labels** grows a Ribbon Messages box: five rows, one per public pane screen, in the or...
Deliver ribbon wording, and generate favicons from a tab icon
Provisioning learns two things: what an organization wants its public corner ribbons to say, and which artwork its browser-tab icons should be cut from. **Ribb...
Per-org ribbon wording and tab icons
Fourteen columns on `orgs`, and two small records to keep their shapes honest. RIBBON_MSG_* carry the corner-ribbon wording for the five public pane screens — ...
Carry a referral code through to the register link
The referral code normally travels in the apex cookie the marketing site sets (kdsc_src on .<apex>), which register.<apex> reads for itself, so this link does n...
Log a referral code that arrives with no visitor guid
A signup carrying a marketing code but no visitor guid had its referral dropped in complete silence — the branch that publishes the attribution event is gated o...
Credit a signup whose page views were never recorded
**************** was the ONLY thing in the fleet that ever inserted into MARKETING_VISITORS, so the whole conversion pipeline silently depended on a browser bea...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
