
Empat Keluaran dalam Dua Puluh Enam Jam: Saluran Paip Bahasa dan Sebuah Bridge Release
GeekBye v1.7.6 hingga v1.8.1: tetapan bahasa yang tidak pernah meninggalkan komputer riba, overlay Cmd+/ yang memaparkan keybinding sebenar anda, versi dengan sifar perubahan kod — dan dilema ayam dan telur apabila memindahkan feed auto-update anda.
Antara Khamis pagi dan Jumaat petang pada Februari 2026, GeekBye mengeluarkan empat keluaran: v1.7.6, v1.7.7, v1.8.0 dan v1.8.1 — enam belas commit, lebih kurang dua puluh enam jam antara tag pertama dengan yang terakhir. Tiada satu pun yang menjadi tajuk utama dengan sendirinya. Bersama-sama, ia adalah potret kandungan sebenar minggu-minggu keluaran kecil: ciri yang akhirnya menamatkan perjalanannya, overlay keselesaan, nombor versi tanpa kod di dalamnya, dan satu bahagian release engineering yang benar-benar mendidik.
Bahasa yang tidak pernah meninggalkan komputer riba
GeekBye mempunyai tetapan bahasa transkrip sejak September 2025. Ia berfungsi — secara tempatan. Pilih bahasa Sepanyol dan saluran paip speech-to-text pada peranti dengan patuhnya mentranskripsikan bahasa Sepanyol. Tetapi grep codebase v1.7.5 untuk tetapan itu dan anda menemuinya di tepat tiga tempat: pengendali audio, UI Settings, dan hook tetapan. Tidak dalam klien API. Tidak dalam penjejak sesi. Selama empat bulan, setiap permintaan yang meninggalkan mesin itu buta bahasa: rekod sesi backend langsung tidak tahu bahasa apa yang diwakilinya, dan sembang AI menerima transkrip bahasa Sepanyol tanpa sebarang petunjuk bahawa ia bahasa Sepanyol.
v1.7.6 ialah keluaran tempat tetapan itu menamatkan perjalanannya — dua commit, satu hari. Permulaan sesi audio kini membawa transcriptLanguage dalam payload-nya, dan permintaan stream-chat AI menerima medan yang sama, dijalin melalui helper kecil yang membaca tetapan itu dan dengan sengaja memulangkan undefined apabila nilainya auto atau belum ditetapkan, supaya backend yang lebih lama merosot dengan anggun dan bukannya tercekik dengan medan yang tidak dikenalinya. Ada juga bonus pembetulan senyap yang tersembunyi dalam diff itu: untuk menghantar bahasa, permulaan sesi terpaksa dialihkan ke selepas resolusi bahasa — yang, mengikut pembacaan kami, turut menutup laluan ralat di mana sesuatu sesi boleh dimulakan (dan dikira terhadap had) lalu menjadi yatim apabila resolusi bahasa gagal sejurus kemudian.
Pengajarannya boleh diitlakkan: sesuatu tetapan belum dikeluarkan apabila ia mempunyai UI dan kesan. Ia dikeluarkan apabila ia sampai kepada setiap pengguna nilai itu yang sepatutnya mengetahuinya. Tetapan kami terhenti di sempadan rangkaian selama empat bulan, dan tiada siapa perasan, kerana perilaku tempatan — perilaku yang kelihatan — betul sepanjang masa. (Ini ialah lelaran pertama yang kasar bagi pengendalian bahasa, sebagai catatan; mengajar AI untuk benar-benar menjawab dalam bahasa perbualan ialah bab yang jauh lebih kemudian dalam kisah ini.)
Cmd+/ — overlay yang tidak berbohong tentang keybinding anda
Ciri v1.8.0 yang menghadap pengguna ialah overlay pintasan papan kekunci pada Cmd+/ — 193 baris komponen baharu, dan satu keputusan reka bentuk yang patut dicuri: ia tidak memaparkan helaian rujukan hardcoded. Ia mengambil konfigurasi pintasan yang hidup dan memaparkan customKeys || defaultKeys, supaya pengguna yang telah memetakan semula kekuncinya melihat kekunci miliknya. Overlay pintasan yang menunjukkan nilai lalai kepada seseorang yang telah mengubahnya bukanlah dokumentasi; ia maklumat palsu dengan tipografi yang cantik.
Selebihnya ialah sentuhan ketepatan yang kecil: overlay itu meletakkan dirinya di kiri atau kanan kad aplikasi bergantung pada sisi skrin mana yang mempunyai ruang, dan tertutup dengan Escape, dengan Cmd+/ sekali lagi, atau dengan klik di luar. Cmd+/ sendiri menyertai sistem preset boleh peta semula yang sama dengan setiap pintasan lain — dan itu penting, kerana Cmd+/ ialah "toggle comment" dalam kebanyakan penyunting, dan alat untuk pembangun tidak sepatutnya menduduki kekunci penyunting yang tidak boleh anda alihkan.
Bridge release
Kejuruteraan yang menarik berlaku pada nombor-nombor versi yang tiada siapa akan pandang dua kali. v1.8.0 turut memindahkan keluaran projek ke organisasi GitHub baharu — pengemasan organisasi pada zahirnya, kecuali satu sifat auto-update desktop: URL feed terbenam dalam binari. Setiap pemasangan v1.8.0 menyemak keluaran organisasi baharu. Dan setiap pemasangan di luar sana — kesemuanya v1.7.7 atau lebih lama — menyemak yang lama, selama-lamanya, melainkan sesuatu muncul di sana.
Itulah dilema ayam dan telur: terbitkan keluaran anda yang seterusnya hanya ke repo baharu dan seluruh armada sedia ada tidak akan melihatnya. Enam belas minit selepas tag v1.8.0, sebuah bendera baharu mendarat dalam skrip keluaran: --publish-owner, yang menulis semula ke mana electron-builder memuat naik artifak selepas binaan — secara eksplisit "tanpa menjejaskan kod aplikasi yang dikompil", seperti kata komen dalam kodnya. Itulah keseluruhan helahnya, dan itulah tepat jahitan yang betul: feed terbenam binari dan destinasi muat naik artifak ialah dua keputusan yang berbeza, dan sesuatu penghijrahan memerlukan kedua-duanya dipisahkan untuk satu keluaran. Bina v1.8.1 menunjuk ke feed baharu, muat naik ke repo lama; klien lama melihat kemas kini di sana, memasangnya, dan terjaga sambil menyemak organisasi baharu. Mesej commit itu menamakannya "bridge release", dan itulah nama yang betul. v1.8.1 ditanda dua jam dua puluh minit selepas v1.8.0. (Untuk kisah asal usul mengapa projek ini melayan auto-update dengan hormat yang hampir menjadi ketakutan, lihat auto-update yang menjadikan aplikasi kami tidak boleh dibunuh.)
Dan v1.7.7? Satu commit. Kenaikan versi itu sendiri. Tiada pembetulan, tiada revert, tiada penjelasan dalam sejarah — pembacaan terbaik kami ialah publish yang perlu dijalankan semula, dan kami lebih rela mengakuinya daripada mereka-reka cerita. Kadangkala sesuatu nombor versi wujud kerana mengeluarkan perisian ialah proses dunia sebenar dengan gangguan dunia sebenar, bukan fungsi tulen pokok sumber. Tentang mengapa 1.7 menjadi 1.8: tiada commit yang memberitahu, tetapi penghijrahan feed ialah sempadan keserasian yang bermakna — setiap binari 1.8.x memandang organisasi yang berbeza daripada setiap binari 1.7.x — dan itu lebih layak menerima kenaikan minor berbanding mana-mana ciri.
Tiga perkara yang diajarkan minggu ini
- Jejaki sesuatu tetapan hingga ke setiap penggunanya. Keutamaan bahasa itu "siap" selama empat bulan sementara backend kekal buta. Perilaku tempatan yang kelihatan betul itulah yang membiarkan jurang itu terus hidup — soalan auditnya ialah "siapa lagi yang patut tahu tentang nilai ini?", ditanya pada setiap sempadan.
- Paparkan config yang hidup, bukan dokumentasi. Overlay pintasan membaca sumber kebenaran yang sama yang digunakan oleh sistem pintasan. Apa-apa selain itu akan tersasar sebaik sahaja seseorang pengguna membuat penyesuaian buat kali pertama.
- Penghijrahan feed memerlukan satu keluaran yang hidup dalam kedua-dua dunia. Feed baharu dalam binari, repo lama untuk muat naik. Jika perkakasan keluaran anda tidak dapat memisahkan dua sasaran itu, tambahkan bendera itu sebelum anda memerlukannya — bendera kami tiba enam belas minit selepas ia diperlukan, yang cukup hampir untuk dikira.
Untuk bab sebelumnya dalam kisah v1, halaman log masuk ITULAH demonya (v1.7.5); dan untuk keseluruhan lengkungnya, anatomi mengeluarkan perisian hingga ke kesempurnaan.