
Štyri vydania za dvadsaťšesť hodín: jazykové inštalatérstvo a „bridge release"
GeekBye od v1.7.6 po v1.8.1: nastavenie jazyka, ktoré nikdy neopustilo laptop, Cmd+/ overlay, ktorý ukazuje tvoje skutočné klávesové skratky, verzia s nulou zmien v kóde — a sliepka a vajce pri migrácii auto-update feedu.
Medzi štvrtkovým ránom a piatkovým popoludním vo februári 2026 GeekBye vydal štyri vydania: v1.7.6, v1.7.7, v1.8.0 a v1.8.1 — šestnásť commitov, približne dvadsaťšesť hodín medzi prvým tagom a posledným. Ani jedno z nich samo osebe nie je titulka. Dokopy sú portrétom toho, čo týždne malých vydaní naozaj obsahujú: feature konečne dokončujúci svoju cestu, quality-of-life overlay, číslo verzie bez akéhokoľvek kódu vnútri a jeden naozaj poučný kus release engineeringu.
Jazyk, ktorý nikdy neopustil laptop
GeekBye má nastavenie jazyka transkriptov od septembra 2025. Fungovalo — lokálne. Vyber španielčinu a lokálna speech-to-text pipeline poslušne prepisovala španielčinu. Ale pregrepuj kódovú základňu v1.7.5 na to nastavenie a nájdeš ho presne na troch miestach: v audio handleri, v UI nastavení a v hooku nastavení. Nie v API klientovi. Nie v trackeri sedení. Štyri mesiace bol každý request opúšťajúci stroj slepý na jazyk: backendové záznamy sedení netušili, aký jazyk reprezentujú, a AI chat dostával španielske transkripty bez náznaku, že sú španielske.
v1.7.6 je vydanie, v ktorom nastavenie dokončilo svoju cestu — dva commity, jeden deň. Štart audio sedenia teraz nesie transcriptLanguage v payloade a stream-chat request na AI získal to isté pole, pretiahnuté cez malý helper, ktorý číta nastavenie a zámerne vracia undefined, keď je auto alebo nenastavené, takže staršie backendy degradujú elegantne, namiesto toho, aby sa dusili poľom, ktoré nepoznajú. V diffe sa skrýva aj tichá bonusová oprava: aby sa jazyk dal odovzdať, štart sedenia sa musel presunúť za vyriešenie jazyka — čo, ako to čítame, zároveň zavrelo chybovú cestu, v ktorej sedenie mohlo byť naštartované (a započítané do limitov) a o chvíľu osirotené, keď riešenie jazyka zlyhalo.
Ponaučenie sa zovšeobecňuje: nastavenie nie je dodané, keď má UI a efekt. Dodané je vtedy, keď sa dostane ku každému konzumentovi, ktorý by o ňom mal vedieť. To naše sa štyri mesiace zastavilo na hranici siete a nikto si to nevšimol, pretože lokálne správanie — to viditeľné — bolo celý čas správne. (Pre poriadok: toto bol hrubý prvý pokus o prácu s jazykom; naučiť AI, aby naozaj odpovedala v jazyku konverzácie, je oveľa neskoršia kapitola tohto príbehu.)
Cmd+/ — overlay, ktorý neklame o tvojich keybindingoch
Používateľský feature v1.8.0 je overlay klávesových skratiek pod Cmd+/ — 193 riadkov nového komponentu a jedno dizajnové rozhodnutie hodné ukradnutia: nevykresľuje zahardkódovaný ťahák. Načíta živú konfiguráciu skratiek a vykreslí customKeys || defaultKeys, takže používateľ, ktorý si klávesy premapoval, vidí svoje klávesy. Overlay skratiek, ktorý ukazuje defaulty niekomu, kto si ich zmenil, nie je dokumentácia; je to dezinformácia s peknou typografiou.
Zvyšok sú malé korektnostné dotyky: overlay sa umiestni naľavo alebo napravo od karty aplikácie podľa toho, na ktorej strane obrazovky je miesto, a zavrie sa na Escape, na opätovné Cmd+/ alebo na klik mimo. Samotné Cmd+/ sa pripája k tomu istému premapovateľnému systému presetov ako každá iná skratka — čo je dôležité, pretože Cmd+/ je „toggle comment" (zakomentovať) vo väčšine editorov a nástroj pre vývojárov by nemal okupovať editorový kláves, ktorý sa nedá presunúť.
„Bridge release" — premosťovacie vydanie
Zaujímavé inžinierstvo sa odohralo v číslach verzií, na ktoré by sa nikto dvakrát nepozrel. v1.8.0 zároveň zmigroval vydania projektu do novej GitHub organizácie — na povrchu organizačné upratovanie, nebyť jednej vlastnosti desktopového auto-update: URL feedu je zapečená v binárke. Každá inštalácia v1.8.0 dopytuje vydania novej organizácie. A každá inštalácia vonku vo svete — všetky v1.7.7 alebo staršie — dopytuje tú starú, navždy, pokiaľ sa tam niečo neobjaví.
To je tá sliepka a vajce: publikuj svoje ďalšie vydanie len do nového repa a celá existujúca flotila ho nikdy neuvidí. Šestnásť minút po tagu v1.8.0 pristál v release skripte nový flag: --publish-owner, ktorý prepisuje, kam electron-builder nahráva artefakty po builde — explicitne „bez ovplyvnenia skompilovaného kódu aplikácie", ako to formuluje komentár v kóde. To je celý trik a je to presne ten správny šev: feed zapečený v binárke a cieľ uploadu artefaktov sú dve rôzne rozhodnutia a migrácia ich potrebuje na jedno vydanie odpojiť. Zbuildi v1.8.1 mieriace na nový feed, nahraj ho do starého repa; starí klienti tam uvidia update, nainštalujú ho a zobudia sa dopytujúc novú organizáciu. Commit message to nazýva „bridge release" — premosťovacie vydanie — a je to správne meno. v1.8.1 bol otagovaný dve hodiny a dvadsať minút po v1.8.0. (Pre pôvodný príbeh, prečo tento projekt zaobchádza s auto-update s rešpektom hraničiacim so strachom, pozri auto-update, ktorý spravil našu appku nezabiteľnou.)
A v1.7.7? Jeden commit. Samotný version bump. Žiadna oprava, žiadny revert, žiadne vysvetlenie v histórii — naše najlepšie čítanie je publish, ktorý bolo treba spustiť znova, a radšej to priznáme, než by sme si vymýšľali príbeh. Niekedy číslo verzie existuje, pretože vydávanie softvéru je proces z reálneho sveta so škytavkami z reálneho sveta, nie čistá funkcia zdrojového stromu. A prečo sa 1.7 vôbec stalo 1.8: žiadny commit to nehovorí, ale migrácia feedu je tá zmysluplná hranica kompatibility — každá binárka 1.8.x sa pozerá na inú organizáciu než každá binárka 1.7.x — a to si zaslúži minor bump viac než akýkoľvek feature.
Tri veci, ktoré nás tento týždeň naučil
- Vystopuj nastavenie ku každému konzumentovi. Jazyková preferencia bola „hotová" štyri mesiace, zatiaľ čo backend zostával slepý. Práve to, že viditeľné, lokálne správanie bolo správne, nechalo medzeru prežiť — audítorská otázka znie „kto ešte by mal poznať túto hodnotu?", položená na každej hranici.
- Vykresľuj živú konfiguráciu, nie dokumentáciu. Overlay skratiek číta ten istý zdroj pravdy, ktorý používa systém skratiek. Čokoľvek iné sa rozíde pri prvej používateľskej customizácii.
- Migrácia feedu potrebuje jedno vydanie žijúce v oboch svetoch. Nový feed v binárke, staré repo pre upload. Ak tvoj release tooling nevie tieto dva ciele oddeliť, pridaj flag skôr, než ho budeš potrebovať — ten náš prišiel šestnásť minút po tom, čo bol potrebný, čo je dosť blízko na to, aby sa to počítalo.
Pre predchádzajúcu kapitolu príbehu v1 — prihlasovacia stránka JE demo (v1.7.5); a pre celý oblúk, anatómiu dodávania softvéru do dokonalosti.