Repository navigation
Onesist v0.1.47
Fix — Quit macOS ~2 menit → di bawah 1 detik
src-tauri/src/sidecar.rs+lib.rs+tray.rs— jalur terminate tidak lagi mengirim event ke WebView. Dock Quit / Cmd+Q masuk sebagaiRunEvent::Exit(bukanExitRequested), dan di sanastate.stop()memancarkansidecar-statuske WebView yang justru sedang dibongkar macOS. Pengirimannya memblokir main thread di dalam semaphore milik tao, dan quit terukur ~123 detik. Sekarang adastop_quiet()— mematikan sidecar tanpa mengumumkannya — dan itulah yang dipakai jalur terminate (RunEvent::Exit,ExitRequested, danDrop), sementaratray::watch_sidecar_statusmelewati penerusan selamaQUITTING. Terukur di mesin ini pada bundle rilis: quit 0,48 detik dan tidak ada proses yang tertinggal (penulis PR mengukur 0,65 detik pada bundle debug).- Klik ikon Dock kini memunculkan jendela yang sedang tersembunyi ke tray (handler
RunEvent::Reopen; sebelumnya ikonnya tampak mati).
Fix — Folder picker macOS: "Load failed" (osascript tidak lagi dipakai di aplikasi desktop)
- Desktop tidak pernah lagi jatuh ke osascript. Rantainya:
invoke("pick_folder")gagal (perintah milik app ini tidak punya entri izin app-level, jadi Tauri menjawab "Plugin not found"), lalu jatuh kePOST /api/helpers/choose-folder→osascript "tell me to activate"→ aktivasi direbut → proses web-content di-suspend → setiap fetch yang sedang jalan mati dengan "Load failed" (itu kata-kata WebKit, bukan pesan Onesist) dan muncul dialog kedua. SekarangOpenProjectDialogmencoba perintah native sekali lagi, lalu beralih ke folder browser bawaan aplikasi yang bicara langsung ke sidecar lewat HTTP (/api/helpers/list-dirs) tanpa proses anak;system.tsmenolak jalur darwin saatSA_DESKTOP=1dengan pesan yang jelas, dan setiap kegagalan picker dicatat kelogs/server.err.log(reportClientError) sehingga rantai kegagalannya kelihatan. - Konsekuensi yang disengaja: sheet folder bawaan macOS tidak lagi terjangkau di aplikasi desktop sampai
pick_folderdiberi izin app-level (atau dipindah ke dialog plugin). Ini keputusan desain yang masih terbuka — untuk sekarang folder browser bawaan aplikasi yang berlaku.
Feat — Pilih provider BYOK saat membuka project
- Dialog Open Project kini punya dropdown provider (hanya provider buatan Anda yang siap pakai; bootstrap environment bukan konfigurasi tersimpan, jadi tidak bisa dijadikan default). Pilihannya disimpan sebagai default aplikasi saat project dibuka, jadi project berikutnya memakai provider yang sama tanpa ditanya lagi; tombol Kelola membuka pengaturan provider sebagai modal di atas dialog, dan Batal tidak mengubah apa pun.
Catatan — DMG macOS sekarang ter-seal (rilis pertama setelah #5)
- Mulai rilis ini bundle macOS ditandatangani ad-hoc (
bundle.macOS.signingIdentity: "-"), jadi Gatekeeper menampilkan dialog yang menawarkan Open Anyway alih-alih vonis "damaged" yang tidak punya jalan masuk. Belum ada Developer ID/notarization, jadi halaman rilis tetap membawa catatan pemasangan; jalurxattr -cr /Applications/Onesist.apptetap berlaku sebagai cadangan yang dijamin bekerja.
Verifikasi
bun run typecheckbersih,bun run buildsukses, dan sidecar + shell Rust terkompilasi lewatbunx tauri build --bundles app.- Bundle hasil build dijalankan: aplikasi boot, sidecar melayani
/api/health200, dan quit terukur 0,48 detik tanpa proses yatim. - Penjaga picker diuji lewat sidecar produksi: dengan
SA_DESKTOP=1,POST /api/helpers/choose-foldermenjawab{"path":null,"error":"Folder picker native gagal — jalur osascript dinonaktifkan di aplikasi desktop"}(tidak ada osascript yang dijalankan),POST /api/helpers/list-dirsmengembalikan daftar direktori, dan jejak[client] folder-picker/…benar-benar mendarat dilogs/server.err.logaplikasi. - Belum diuji: jalur picker secara klik-nyata di macOS (yang diperiksa sisi server + peruteannya) dan perilaku di Windows — penulis PR juga belum mengujinya; cabang
win32tidak berubah perilakunya dan penjaga disystem.tshanya berlaku untuk darwin. - Bump
0.1.46 → 0.1.47.
macOS: saat app pertama kali dibuka, macOS akan menolak dengan "Apple could not verify 'Onesist.app' is free of malware". Klik Done, lalu buka System Settings → Privacy & Security, cari Onesist dan klik Open Anyway.
Kalau tombolnya tidak muncul, atau lebih suka terminal, jalankan sekali:
xattr -cr /Applications/Onesist.app
Detailnya di #3.