ऑटो-अपडेट
Oleafly अपना क्रॉस-प्लेटफ़ॉर्म अपडेटर फ़ीड कैसे बनाता, साइन करता, सत्यापित करता और प्रकाशित करता है।
Oleafly, Tauri के अपडेटर प्लगइन का उपयोग करता है। लॉन्च होते ही ऐप ताज़ा GitHub रिलीज़ जाँचता है और नया वर्शन उपलब्ध होने पर अपनी अपडेट विंडो खोलता है। यूज़र ऐप्लिकेशन मेनू या About → Check for updates से भी जाँच कर सकते हैं।
रिलीज़ फ़ीड
“रिलीज़ फ़ीड” शीर्षक वाला अनुभागहर प्लेटफ़ॉर्म बिल्ड साइन किए हुए अपडेटर आर्टिफ़ैक्ट और एक latest.json फ़्रैगमेंट बनाता है। रिलीज़ वर्कफ़्लो उन फ़्रैगमेंट को तब तक अलग रखता है जब तक चारों बिल्ड पूरे न हो जाएँ, फिर हर टार्गेट की एंट्री को एक कैनोनिकल मैनिफ़ेस्ट में मर्ज करता है।
आख़िरी मैनिफ़ेस्ट में macOS Apple Silicon, Windows x64, Linux x64 और Linux ARM64 की एंट्री होनी चाहिए। वह तब तक ड्राफ़्ट रिलीज़ से जुड़ा रहता है जब तक कोई मेंटेनर सुरक्षित प्रकाशन वर्कफ़्लो न चलाए। इंस्टॉल किए हुए ऐप्स को ड्राफ़्ट नहीं दिखता।
ऐप latest.json को GitHub Releases से डाउनलोड करता है। इंस्टॉल से पहले Tauri अपडेटर सिग्नेचर की जाँच src-tauri/tauri.conf.json में एम्बेड की हुई सार्वजनिक कुंजी से करता है। ग़ायब, अहस्ताक्षरित या बदले हुए आर्टिफ़ैक्ट ठुकरा दिए जाते हैं।
रिलीज़ नोट्स CHANGELOG.md के मिलते-जुलते सेक्शन से आते हैं। वर्कफ़्लो उस सेक्शन को निकालकर GitHub रिलीज़ बॉडी और अपडेटर विंडो दोनों के लिए उपयोग करता है।
साइनिंग कुंजियाँ
“साइनिंग कुंजियाँ” शीर्षक वाला अनुभागसार्वजनिक अपडेटर कुंजी src-tauri/tauri.conf.json में कमिट होती है। निजी कुंजी केवल GitHub Actions सीक्रेट्स में रहती है:
TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD
निजी कुंजी कभी कमिट न करें। अगर वह उजागर हो जाए, तो नया जोड़ा बनाएँ, रिपॉज़िटरी सीक्रेट अपडेट करें, और एम्बेड की हुई सार्वजनिक कुंजी बदलें। मौजूदा इंस्टॉलेशन अपनी एम्बेड कुंजी पर भरोसा करती हैं, इसलिए रोटेशन के लिए एक नियोजित मैनुअल अपडेट पाथ चाहिए।
ऑपरेटिंग सिस्टम साइनिंग अपडेटर साइनिंग से अलग है। macOS बिल्ड रिलीज़ सीक्रेट्स मौजूद होने पर Apple कोड साइनिंग और नोटराइज़ेशन उपयोग करते हैं। Windows बिल्ड अपने क्रेडेंशियल मौजूद होने पर Azure Artifact Signing उपयोग करते हैं।
विफलता और रोलबैक
“विफलता और रोलबैक” शीर्षक वाला अनुभागजाँच या डाउनलोड विफल होने पर इंस्टॉल किया हुआ ऐप्लिकेशन बिना बदले रहता है। सिग्नेचर विफलता इंस्टॉलेशन रोक देती है। ऐप्लिकेशन केवल तब पुनः आरंभ होता है जब सत्यापित डाउनलोड सफलता से इंस्टॉल हो जाए।
Oleafly पूरा हुआ अपडेट अपने आप वापस नहीं लेता। किसी पुराने वर्शन पर लौटने के लिए ऐप बंद करें, ज़रूरी प्रोजेक्टों का बैकअप लें, पुराना आधिकारिक इंस्टॉलर डाउनलोड करें, उसे सत्यापित करें, और उसे मौजूदा वर्शन के ऊपर इंस्टॉल करें।
ड्राफ़्ट और प्रकाशन प्रक्रिया के लिए Oleafly रिलीज़ करना देखें।