
Čtyři vydání za dvacet šest hodin: jazykové potrubí a jeden „bridge release"
GeekBye od v1.7.6 po v1.8.1: jazykové nastavení, které nikdy neopustilo laptop, overlay na Cmd+/, který ukazuje vaše skutečné klávesové zkratky, verze s nulou změn v kódu — a problém slepice a vejce při migraci auto-update feedu.
Mezi čtvrtečním ránem a pátečním odpolednem v únoru 2026 dodal GeekBye čtyři vydání: v1.7.6, v1.7.7, v1.8.0 a v1.8.1 — šestnáct commitů, zhruba dvacet šest hodin mezi prvním tagem a posledním. Žádné z nich samo o sobě není titulek. Dohromady jsou portrétem toho, co týdny malých vydání doopravdy obsahují: funkci, která konečně dokončuje svou cestu, quality-of-life overlay, číslo verze bez jediného řádku kódu a jeden opravdu poučný kus release engineeringu.
Jazyk, který nikdy neopustil laptop
GeekBye má nastavení jazyka přepisu už od září 2025. Fungovalo — lokálně. Vyberete španělštinu a on-device speech-to-text pipeline poslušně přepisovala španělsky. Ale grepněte codebase v1.7.5 po tomto nastavení a najdete ho přesně na třech místech: v audio handleru, v Settings UI a v settings hooku. Ne v API klientovi. Ne v session trackeru. Čtyři měsíce byl každý požadavek, který opustil stroj, slepý k jazyku: záznamy session na backendu neměly tušení, jaký jazyk reprezentují, a AI chat dostával španělské přepisy bez jediné stopy, že jsou španělské.
v1.7.6 je vydání, ve kterém nastavení dokončilo svou cestu — dva commity, jeden den. Start audio session teď nese transcriptLanguage ve svém payloadu a AI stream-chat požadavek dostal stejné pole, provlečené malým helperem, který nastavení přečte a záměrně vrací undefined, když je auto nebo nenastavené, takže starší backendy elegantně degradují, místo aby se zadusily polem, které neznají. V diffu se navíc skrývá tichá bonusová oprava: aby šel jazyk předat, start session se musel přesunout až za vyřešení jazyka — což, jak to čteme, zároveň uzavřelo chybovou cestu, kdy mohla být session spuštěna (a započítána do limitů) a pak osiřet, když vyřešení jazyka o okamžik později selhalo.
Poučení se dá zobecnit: nastavení není dodané, když má UI a účinek. Dodané je, když dorazí ke každému konzumentovi, který by o něm měl vědět. To naše se na čtyři měsíce zastavilo na hranici sítě a nikdo si toho nevšiml, protože lokální chování — to viditelné — bylo celou dobu správné. (Pro pořádek: tohle byl hrubý první průchod zpracováním jazyka; naučit AI skutečně odpovídat v jazyce konverzace je mnohem pozdější kapitola tohoto příběhu.)
Cmd+/ — overlay, který nelže o vašich klávesových zkratkách
Uživatelsky viditelná funkce v1.8.0 je overlay klávesových zkratek na Cmd+/ — 193 řádků nové komponenty a jedno designové rozhodnutí, které stojí za ukradení: nerenderuje natvrdo zadrátovaný tahák. Načte živou konfiguraci zkratek a renderuje customKeys || defaultKeys, takže uživatel, který si klávesy přemapoval, vidí svoje klávesy. Overlay zkratek, který ukazuje výchozí hodnoty někomu, kdo si je změnil, není dokumentace; je to dezinformace s pěknou typografií.
Zbytek jsou drobné korektnostní doteky: overlay se umístí vlevo nebo vpravo od karty aplikace podle toho, na které straně obrazovky je místo, a zavírá se na Escape, na další Cmd+/ nebo kliknutím mimo. Samotné Cmd+/ vstupuje do stejného systému přemapovatelných presetů jako každá jiná zkratka — což je důležité, protože Cmd+/ je ve většině editorů „toggle comment" a nástroj pro vývojáře by neměl okupovat editorovou klávesu, kterou nejde přesunout.
Bridge release
Zajímavé inženýrství se odehrálo v číslech verzí, na která by se nikdo dvakrát nepodíval. v1.8.0 zároveň zmigroval vydání projektu do nové GitHub organizace — na povrchu organizační úklid, nebýt jedné vlastnosti desktopového auto-update: URL feedu je zapečená v binárce. Každá instalace v1.8.0 se ptá na vydání nové organizace. A každá instalace venku ve světě — všechny v1.7.7 nebo starší — se ptá té staré, navždy, pokud se tam něco neobjeví.
To je ten problém slepice a vejce: publikujte své další vydání jen do nového repa a celá existující flotila ho nikdy neuvidí. Šestnáct minut po tagu v1.8.0 přistál v release skriptu nový flag: --publish-owner, který přepisuje, kam electron-builder nahrává artefakty po buildu — výslovně „bez ovlivnění zkompilovaného kódu aplikace", jak to říká komentář v kódu. To je celý trik a je to přesně ten správný šev: feed zapečený v binárce a cílové místo uploadu artefaktů jsou dvě různá rozhodnutí a migrace potřebuje, aby byla na jedno vydání oddělená. Sestavíte v1.8.1 mířící na nový feed, nahrajete ho do starého repa; staří klienti tam uvidí aktualizaci, nainstalují si ji a probudí se s dotazy na novou organizaci. Commit message tomu říká „bridge release" — přemosťovací vydání — a je to správné jméno. v1.8.1 byl otagován dvě hodiny a dvacet minut po v1.8.0. (Příběh o původu toho, proč tento projekt zachází s auto-update s respektem hraničícím se strachem, najdete v auto-update, který udělal naši aplikaci nezabitelnou.)
A v1.7.7? Jeden commit. Samotný version bump. Žádná oprava, žádný revert, žádné vysvětlení v historii — naše nejlepší čtení je publish, který bylo potřeba spustit znovu, a radši to přiznáme, než abychom si vymýšleli příběh. Někdy číslo verze existuje proto, že vydávání softwaru je proces z reálného světa s reálnými zádrhely, ne čistá funkce zdrojového stromu. A proč se z 1.7 vůbec stalo 1.8: žádný commit to neříká, ale migrace feedu je ta smysluplná hranice kompatibility — každá binárka 1.8.x se dívá na jinou organizaci než každá binárka 1.7.x — a to si minor bump zaslouží víc než jakákoli funkce.
Tři věci, které nás tento týden naučil
- Sledujte nastavení až ke každému konzumentovi. Jazyková preference byla čtyři měsíce „hotová", zatímco backend zůstával slepý. Právě to, že viditelné lokální chování bylo správné, nechalo mezeru přežít — auditní otázka zní „kdo další by měl o této hodnotě vědět?", položená na každé hranici.
- Renderujte živou konfiguraci, ne dokumentaci. Overlay zkratek čte stejný zdroj pravdy, jaký používá systém zkratek. Cokoli jiného se rozjede při prvním přizpůsobení uživatelem.
- Migrace feedu potřebuje jedno vydání, které žije v obou světech. Nový feed v binárce, staré repo pro upload. Pokud váš release tooling neumí tyto dva cíle oddělit, přidejte flag dřív, než ho budete potřebovat — ten náš dorazil šestnáct minut poté, co byl potřeba, což je dost blízko na to, aby se to počítalo.
Předchozí kapitolu příběhu v1 najdete v login stránka JE to demo (v1.7.5); a celý oblouk v anatomii dodávání softwaru k dokonalosti.