Fixed — (Seen)
- A C³ network with three Masters and nine Slaves is now correctly rejected. The builder accepted it before but shouldn’t have: joining three Masters costs one of them its entire Slave capacity. The rules are explicit that a Master controlling another Master cannot control a Slave. That is the whole reason Configuration 1 in the rulebook diagrams needs a fourth Master. The message now names the reason rather than just refusing—it states the computer count and that one computer is spent on the link. We currently hold no saved forces, but forces kept in a browser or a force file may be affected. Live.
- A unit with two C³ Master computers now gets the capacity it should. Thirteen units carry a second Master (C3M2)—every one a company-command variant, including BattleMasterBLR-CM, Cyclops CP-11-C2 and Naginata NG-C3B. The number was correct in the database and rendered correctly on the unit page (hurray!); the search export dropped it, so the force builder saw one Master and capped those units at three Slaves (::facepalm::). A dual-Master unit with six Slaves was rejected before and is legal now. Live.
- C3EM no longer counts as a Master. An Emergency Master activates only in the End Phase and cannot be designated as a network Master at force-building time. Affects three published units, all of which also carry a C3 Slave, so nothing they can legally do has changed—it stops a future C3EM-only unit licensing three Slaves it cannot control. C3EM can be used in a Slave slot. Live.
- When the unit index fails to load, both search boxes now say why and which file. Previously the header box said “Could not load the unit index.” for a blocked request, a truncated response, a parse failure and an offline browser alike. It now distinguishes a failed connection, an HTTP status, and a damaged response—the last of which names the content-type, so a filter’s HTML block page served as 200 identifies itself. Prompted by reports that corporate firewalls make search unusable, which we previously had no way to confirm or count. (This might need a future automated message on failure.) Live.
- The force builder no longer says your force is empty when it could not read the index. A failed index load left the page with no rows, so it fell through to “Your force is empty. Add units from search”—an invitation to rebuild work that wasn’t actually lost. The message now shows the specific failure instead. Verified rather than assumed: the saved force was read out of local storage byte-for-byte before and after a blocked request, found unchanged, and the units reappeared once the file was reachable. So the force was always intact and just un-renderable, which is what made the old message wrong instead of unhelpful. This should improve error reporting. Live.
- 46 units were unreachable unless you could type the accent (::facepalm::). Searching Gotterdammerung returned nothing; only Götterdämmerung worked. Same for Mówáng, Teppō, Araña and the three Gùn variants, which the query gun could never reach. Both the search index and the query were being lowercased but not folded, so only a byte-identical spelling matched—and the typeahead replied “No unit matches that. Spelling is exact.” For users who typed exactly, that message would indicate the error. That message is gone…for reasons. Curly quotes turned out to be a leftover from the old MUL’s typed data entries: 28 occurrences across 15 units, more than any accent, so a straight ” could not match “Red Reaper”. Honestly, quote probably need to go away entirely. And one case—Guillotine GLT-3N (Estriđsen)—destroyed the fix. đ is a single character, not a letter plus an accent, so “strip the accents” left it untouched. (Why do we keep doing this?) The fix now carries an explicit map for đ ø ł æ œ ß ð þ ŋ. Costs +1.5 ms once per index build. Annoying, might still nuke it. Live.
- Six public pages had no heading (::facepalm::). The search page, both hubs and both hub detail pages rendered their title as a plain <div>, so /, /units/{slug}, /eras, /eras/{slug}, /factions and /factions/{slug} returned zero <h1> and zero <h2>—zerp document outline whatsoever. A screen reader could not jump to the content as intended, and had to read past the whole filter sidebar; search engines had no on-page subject for ~8,700 unit pages. Regression happened on 2 July in a layout rebuild that I missed. Each page now has exactly one <h1> naming its subject, and the banners are pixel-identical—all verified. The search page reads “Search” on screen and announces “Master Unit List Search” to assistive technology and crawlers. <h2> is still outstanding, but for other reasons. Live.
