1 पॉइंट द्वारा GN⁺ 2024-09-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Servo के अगस्त 2024 अपडेट में web engine features से लेकर servoshell browser, Windows quality, developer tools और CI stability तक कई व्यापक बदलाव शामिल हैं
  • Nightly build में HTMLDialogElement.show(), <textarea> input rendering, border-image, structuredClone(), crypto.randomUUID(), WAV playback, Web Audio IIRFilterNode, और cross-origin redirect navigation जोड़े गए हैं
  • मुख्य components को SpiderMonkey 128, WebRender 0.65, wgpu 22.0, Rust 1.80.1 तक अपडेट किया गया है, और WebXR व flexbox अब default रूप से enabled हैं
  • servoshell को tab browsing और नया toolbar व नया tab page मिला है, जबकि Windows पर keyboard navigation, PNG output, font और GPU से जुड़ी समस्याओं में सुधार हुआ है
  • नए CI runner की वजह से Windows-only build time 70% कम हुआ है, और वास्तविक websites पर आने वाले कई crash तथा SpiderMonkey GC से जुड़े BorrowError भी ठीक किए गए हैं

web platform features जोड़े गए

  • Servo nightly build में कई web API और CSS features क्रमिक रूप से जोड़े गए
    • 2024-07-27: HTMLDialogElement के show() का basic support
    • 2024-07-29: HTMLFieldSetElement की type property
    • 2024-07-31: <textarea> में डाले गए text की rendering
    • 2024-07-31: CSS border-image property
    • 2024-08-02: CSP sources unsafe-eval, wasm-unsafe-eval
    • 2024-08-04: WAV audio files playback
    • 2024-08-09: structuredClone() API
    • 2024-08-12: Web Audio का IIRFilterNode
    • 2024-08-13: cross-origin redirect navigation
    • 2024-08-23: crypto.randomUUID() API
    • 2024-08-29: CSS clip-path property
      • path(), polygon(), shape(), url() values शामिल नहीं हैं

engine components और default behavior में बदलाव

  • Servo ने मुख्य dependency components को नए versions पर अपडेट किया
    • SpiderMonkey 128

    • WebRender 0.65

    • wgpu 22.0

      • Rust 1.80.1
      • WebXR और flexbox अब default रूप से enabled हैं
      • Promise लौटाने वाले web API अब failure पर exception throw करने के बजाय Promise को सही तरीके से reject करते हैं

WebXR और flexbox में सुधार

  • WebXR API को default enablement के अनुरूप कई interfaces और input features के साथ अपडेट किया गया
    • Gamepad support जोड़ा गया
    • hand input, XRBoundedReferenceSpace, XRFrame, XRInputSource, XRPose, XRSession, XRTargetRayMode, XRView, XRWebGLLayer से जुड़े updates शामिल हैं
    • makeXRCompatible() अब केवल WebGLRenderingContext ही नहीं बल्कि WebGL2RenderingContext पर भी call किया जा सकता है
  • flexbox में अक्सर इस्तेमाल होने वाले layout features को मजबूत किया गया
    • gap property
    • align-content: stretch
    • align-items, align-self के start, end values
    • flex-direction: column, column-reverse का basic support
  • flex item placement और size calculation भी अब अधिक सटीक हैं
    • flex item पर position: relative support किया गया
    • flex item का z-index अब हमेशा stacking context बनाता है
    • flex item और flex container पर सही intrinsic size लागू होता है
  • bidirectional text support पर काम जारी है
    • इसमें fragment tree architecture changes और writing-mode interface पर काम शामिल है
    • unicode-bidi property और dir property को partial support मिला है
    • dir=auto value अभी support नहीं करती

servoshell browser और Windows quality

  • Servo-the-browser में नया toolbar और tab browsing जोड़ा गया है
  • नया tab page एक नए API का उपयोग करता है, जिससे Servo embedders custom protocol handler register कर सकते हैं
  • Windows execution quality में भी कई क्षेत्रों में सुधार हुआ है
    • keyboard navigation ठीक किया गया
    • --output की PNG output behavior ठीक की गई
    • font और GPU से जुड़े bugs ठीक किए गए
  • Windows fixes उन समस्याओं से भी जुड़े हैं जिनमें servo.org और duckduckgo.com पर glyph गलत align हो रहे थे और colors गलत दिख रहे थे, तथा wikipedia.org पर images टूट रही थीं

developer tools और developer workflow

  • internship project के अंतिम महीने के काम के बाद devtools support में और features जोड़े गए
    • Servo अब HTML tree support करता है
    • Styles और Computed panels support किए गए हैं
  • macOS पर build के तुरंत बाद servoshell launch होने की प्रक्रिया कुछ seconds तेज हो गई है
  • CI में मौजूदा tidy check के अलावा एक dedicated linting job में clippy चलाया जाता है
  • donations की मदद से Windows builds के लिए नया CI runner जोड़ा गया, और Windows-only build time 70% घट गया
  • Linux builds के लिए नया runner भी जल्द जोड़ा जाएगा, जिससे WPT try build और तेज होगा
  • GitHub issues की जांच के लिए triage meeting चल रही है, और अगली Servo issue triage meeting 2 सितंबर 10:00 UTC पर होगी
    • अधिक जानकारी project#99 में है

engine stability में सुधार

  • अगस्त में वास्तविक websites पर सामने आने वाले कई crash bugs ठीक किए गए
  • प्रमुख fixes rendering, reflow और HTML parser behavior तक फैले हुए हैं
    • HTML spec में table के पास float rendering के दौरान होने वाला crash
    • w3schools.com पर अनावश्यक explicit reflow के कारण होने वाला crash
    • HTML parser को re-entrant बनाकर kilonova.ro, tweakers.net जैसी कई sites के crashes ठीक किए गए
  • इसके अलावा platform, API और parsing paths में होने वाले crashes भी कम हुए
    • macOS पर WebGL उपयोग के दौरान window resize पर crash
    • बहुत लंबे grapheme cluster text की rendering के दौरान crash
    • कुछ fonts में tab character render करते समय crash
    • window.stop() call के बाद parser crash
    • कुछ values को console.log() में pass करने पर crash
    • कुछ <img srcset> values parse करते समय crash
    • कुछ HTTP header values parse करते समय crash
    • कुछ स्थितियों में window.opener set करते समय crash
    • document से iframe हटाते समय crash
    • unsupported options के साथ new AudioContext() call करने पर crash
    • Servo shutdown के दौरान WRSceneBuilder में कभी-कभी होने वाला crash
  • SpiderMonkey GC में आने वाले कई BorrowError crashes ठीक किए गए
  • इस तरह के bugs को static analysis से रोकने पर काम चल रहा है
  • navigation के दौरान DOM Window objects अब leak नहीं होते
  • Unix पर servoshell अब panic होने पर abnormal termination करता है, जिससे web tests परिणाम को सही तरीके से “CRASH” के रूप में दर्ज कर सकते हैं

donations की स्थिति

  • Servo को recurring donations से फिलहाल $3,077 प्रति माह मिल रहे हैं, जो जुलाई की तुलना में 4.1% अधिक है
  • इसमें LFX के जरिए आने वाले 12 donations शामिल हैं, लेकिन Servo जल्द ही LFX donations स्वीकार करना बंद करेगा
  • recurring donations को GitHub Sponsors या Open Collective पर स्थानांतरित करना होगा
  • Servo thanks.dev पर भी registered है, और Servo पर निर्भर 3 GitHub organizations पहले से sponsor कर रही हैं
  • यदि आप url, html5ever, selectors, cssparser जैसी Servo libraries इस्तेमाल करते हैं, तो thanks.dev के जरिए community में योगदान दे सकते हैं
  • funds का उपयोग Technical Steering Committee द्वारा पारदर्शी तरीके से तय किया जाता है, और अधिक जानकारी Sponsorship page पर उपलब्ध है

1 टिप्पणियां

 
GN⁺ 2024-09-01
Hacker News की राय
  • यह देखकर हैरानी हुई कि मिलने वाली sponsorship की रकम इतनी कम है। सोच रहा हूँ कि क्या इसमें बड़े संगठनों को छोड़कर सिर्फ third-party individual sponsorship ही गिनी गई है
    जब इतने लोग जोर-शोर से कहते हैं कि web browser पर chrom(ium)e के जरिए Google का कब्ज़ा हो गया है, तो लगा था कि ज्यादा लोग या कंपनियाँ किसी competitor को जल्दी सामने लाने में दिलचस्पी लेंगी

    • शायद इसमें tragedy of the commons जैसी कोई बात है, जहाँ कोई नहीं सोचता कि ऐसी चीज़ को sponsor करना उसकी जिम्मेदारी है
      यह धारणा भी रही होगी कि बिल्कुल नए engine से पूरी तरह नया browser बनाना व्यावहारिक नहीं है, तो शायद माहौल ऐसा रहा हो कि आखिर sponsor क्यों करें। अच्छी बात है कि Ladybird ने शायद इस हिस्से को बदल दिया हो
    • मुझे लगता है कि जोर से बोलने वालों में कई लोग बड़े पैसे वाले नहीं हैं। वे ऐसे पैसे वाले संगठन भी नहीं हो सकते
      और जिन संगठनों के पास ऐसा पैसा है, उनमें से कुछ पहले ही हार मान चुके हैं। कुछ साल पहले Edge को Chromium पर ले जाने वाला Microsoft इसका उदाहरण है। साथ ही कई लोग शायद Chromium के स्थापित alternative Firefox को donate करना ज्यादा पसंद करेंगे, लेकिन असल में Firefox development के लिए specifically donate करना भी काफी मुश्किल है
    • खाली बर्तन ज्यादा बजता है। किसी मुद्दे पर आवाज़ उठाना सस्ता है, लेकिन उस मकसद के लिए अपना समय या पैसा देना वैसा नहीं है
    • थोड़ा दुखद है। सिर्फ HN पर भी अगर लोग महीने में 5 डॉलर donate करें, तो शायद target amount तक पहुँचा जा सकता है
      यहाँ मौजूद ज्यादातर लोग web की खराब हालत की शिकायत ही करते दिखते हैं और असल में कुछ नहीं करते
  • आइए सभी मजबूत numbers दिखाएँ
    HN community एक दिन में आसानी से 100,000 डॉलर पार कर सकती है। सच में उम्मीद जगाने वाला नया browser आया है, तो इसे करके दिखाएँ

    • उम्मीद है कि लोग समर्थन और donation से यह दिखाएँगे। HN के सभी active users अगर सिर्फ 10 डॉलर ही donate करें, तो भी बहुत बड़ा scale बन जाएगा
  • Servo का अब भी जिंदा रहना देखना दिलचस्प है। मैं इसका समर्थन करता हूँ

    • सहमत हूँ। दूसरे browsers और engines का वास्तविक alternative बनने के लिए अभी लंबा रास्ता है
      फिर भी alternative browser और engine विकसित करने की गंभीर कोशिश मौजूद है, यह अच्छी बात है। Ladybird browser एक mature product बनने से उससे भी ज्यादा दूर है, लेकिन उसका होना ही खुशी देने वाला project है
    • सिर्फ समर्थन मत बोलिए, donate भी कीजिए :)
  • latest changes लेकर नया tab देख रहा था, तो RTL support आ गया देखकर हैरानी हुई। कुछ हफ्ते पहले यह supported नहीं था
    merged PR यहाँ है: https://github.com/servo/servo/pull/33148

  • क्या Servo abandoned नहीं था?

    • Mozilla ने इसे छोड़ दिया था, लेकिन Wikipedia के मुताबिक Linux Foundation ने इसे अपने हाथ में ले लिया