- Pada bulan April, Ladybird menggabungkan 333 PR dari 35 kontributor dan menerima dukungan baru sebesar $50.000 dari Human Rights Foundation serta $1.000 dari Jakub Stęplowski
- Ditambahkan penampil PDF inline, pelengkapan otomatis bilah alamat berbasis riwayat kunjungan, frontend Linux GTK4/libadwaita, dan UI pengelolaan
about:bookmarks, sehingga fitur penelusuran dan UI desktop makin luas
- Parser HTML kini mem-parsing isi respons secara bertahap dan parser prediktif mengambil resource lebih awal, sementara kompilasi tingkat atas JavaScript dipindahkan ke thread latar belakang untuk mengurangi waktu thread utama sekitar 200 ms saat memuat YouTube
- Mesin JavaScript meningkatkan performa Speedometer dan pemuatan situs nyata lewat cache for-in, allocator register O(1), berbagi identifier zero-copy,
JS::Substring lazy, serta peningkatan cache typed-array view
- Termasuk
Cache/CacheStorage, image-set(), CSS anchor positioning, DNS asinkron, painting GPU berbasis dmabuf, mimalloc sebagai default, dan Rust yang diwajibkan; skor WPT naik dari 2.003.537 menjadi 2.067.263
Skala pengembangan dan dukungan
- Pada April, Ladybird menggabungkan 333 PR dari 35 kontributor, dan 7 di antaranya melakukan commit pertama mereka ke Ladybird
- Sebagai sponsor baru, Human Rights Foundation menyumbang $50.000 melalui program “AI for Individual Rights”, dan Jakub Stęplowski menyumbang $1.000
- Ladybird sepenuhnya dijalankan lewat dukungan perusahaan dan individu yang mendukung web terbuka
Fitur penelusuran dan frontend
-
Penampil PDF inline
- PDF dirender secara inline melalui penampil pdf.js yang dibundel(#9132)
- pdf.js adalah penampil PDF yang ditulis hanya dengan JavaScript, HTML, dan CSS, serta menyediakan navigasi halaman, pemilihan teks, zoom, dan pencarian dalam dokumen
- Saat memuat Intel ISA Manual dengan pdf.js, terlihat area perbaikan pada cache typed-array view dan invalidasi
:has()
-
Riwayat kunjungan dan pelengkapan otomatis bilah alamat
- Saat mengetik di bilah alamat, rekomendasi kaya berbasis riwayat kunjungan akan ditampilkan, termasuk favicon dan judul halaman yang sebelumnya dikunjungi, shortcut mesin pencari, serta pelengkapan URL umum(#8933)
HistoryStore berbasis SQLite menyimpan judul, favicon, jumlah kunjungan, dan waktu kunjungan terakhir untuk semua navigasi
- “Clear browsing history” kini terhubung di halaman pengaturan privasi, dan UI Qt maupun AppKit sama-sama merender baris kaya yang baru
-
Frontend GTK4 / libadwaita
- Ladybird menambahkan frontend Linux baru berbasis GTK4 dan libadwaita, yang disediakan berdampingan dengan frontend Qt yang sudah ada(#8691)
- Frontend ini terinspirasi oleh GNOME Web(Epiphany) dan, mengikuti pedoman desain GNOME, menggunakan menu hamburger dan tab
AdwTabView tanpa menu bar
- Menyediakan pelengkapan otomatis bilah URL dan ikon keamanan, pencarian dalam halaman, layar penuh, menu konteks, dialog alert/confirm/prompt/color/file, clipboard, banyak jendela, tema terang/gelap, dan penskalaan DPR
- Karena masih tahap awal, frontend ini belum mencapai kesetaraan fitur dengan frontend Qt dan AppKit
-
Bookmark
- UI pengelolaan ditambahkan ke fitur bookmark yang diperkenalkan bulan lalu
- Bookmark dan folder dapat dikelola di halaman
about:bookmarks(#8825)
- Halaman baru ini mendukung impor dan ekspor bookmark(#8938)
- Ditambahkan menu konteks untuk mengedit bookmark dan folder(#8715)
- Timestamp
date_added ditambahkan ke semua bookmark dan folder(#8867)
- Bilah bookmark kini mendukung membuka tab baru, menyalin URL, serta membuka tab baru dengan klik tengah dan Ctrl/Cmd+klik(#8758)
- API drag-and-drop HTML5 telah dihubungkan,
about:bookmarks menggunakannya untuk penyusunan ulang, dan ini juga berfungsi di halaman web biasa(#8783)
Parsing HTML, eksekusi skrip, pipeline rendering
-
Parsing HTML spekulatif dan bertahap
- Parser HTML diubah agar mengonsumsi body respons secara bertahap(#9151)
- Byte melewati decoder teks streaming lalu masuk ke tokenizer per chunk, dan jika input kurang tokenizer akan berhenti lalu melanjutkan saat data tambahan tiba
- Ini menggantikan model lama yang menunggu seluruh body diterima sebelum mulai parsing
- Parser HTML spekulatif juga diimplementasikan(#9114)
- Saat parser utama terblokir oleh skrip eksternal sinkron, tokenizer terpisah memindai lebih dulu input yang belum diparsing dan menerbitkan speculative fetch untuk resource
<script src>, <link rel=stylesheet|preload>, dan <img src>
- Melacak
<base href> dan melewati bagian di dalam template serta foreign content dengan benar
- Parser spekulatif dihubungkan ke preload map dokumen sehingga resource yang ditemukan secara spekulatif dideduplikasi terhadap fetch berikutnya oleh parser biasa(#9164)
-
Kompilasi JavaScript off-thread
- Pembuatan bytecode untuk kode tingkat atas dari skrip yang di-fetch dijalankan di thread pool latar belakang(#9118)
- Thread worker membuat bytecode dan data yang diperlukan untuk pembuatan
Executable, sementara pekerjaan yang menyentuh heap VM atau GC tetap berada di thread utama
- Menangani classic script, module, dan IIFE tingkat atas, serta memindahkan sekitar 200ms waktu thread utama ke thread latar belakang hanya dari pemuatan YouTube
-
Rasterisasi per Navigable
- Setiap Navigable dirasterisasi secara independen di thread-nya sendiri(#8793)
- Sebelumnya, iframe di-paint secara sinkron sebagai nested display list di dalam display list parent sehingga hanya thread rendering dari traversable tingkat atas yang aktif
- Display list parent kini mereferensikan output rasterisasi tiap iframe melalui
ExternalContentSource, sehingga invalidasi iframe tidak memerlukan penulisan ulang parent
- Selain paralelisme, ini juga merupakan pekerjaan persiapan untuk memindahkan iframe ke proses sandbox terpisah
-
Painting GPU berbasis dmabuf di Linux
- Pada build Linux Vulkan, WebContent melakukan paint ke Skia surface berbasis GPU, tetapi buffer yang dibagikan dengan proses UI adalah bitmap CPU sehingga setiap flush memicu readback dari GPU ke CPU
SharedImage kini dapat menampung handle dmabuf Linux, sehingga front/back buffer tetap berada di GPU hingga ke proses UI(#8917, #8920)
Performa dan kompatibilitas mesin JavaScript
-
Optimisasi pemanggilan JS-ke-JS
- Beberapa PR diterapkan agar instruksi
Call, Return, dan End tetap berada di dalam interpreter assembly AsmInt untuk kasus umum (#8891, #8909, #8912)
- Penyimpanan/pemulihan register menggunakan paired load/store ARM64 (
ldp/stp) yang disetel manual
- Pemanggilan native function juga didispatch langsung dari AsmInt melalui varian
RawNativeFunction baru yang menyimpan pointer fungsi biasa alih-alih AK::Function (#8922)
-
Pengalokasi register bytecode O(1)
Generator::allocate_register sebelumnya memindai pool yang tersedia untuk menemukan register bernomor paling rendah, dan selama pemuatan x.com fungsi ini sendiri menghabiskan sekitar 800ms
- Setelah periode kesetaraan pipeline C++/Rust berakhir, pengalokasi diubah menjadi stack LIFO sederhana (#9007)
-
Iterasi for-in yang di-cache
- Lokasi
for (key in obj) menyimpan cache snapshot enumerable key yang sudah diratakan, lalu menggunakannya kembali selama shape, indexed storage, dan prototype chain receiver tetap sama (#8856)
- Speedometer 2 naik dari 67.7 → 73.6, dan Speedometer 3 dari 4.11 → 4.22
-
Peningkatan mesin lainnya
- Parser kini berbagi nama identifier secara zero-copy di lexer, parser, dan scope collector, sehingga parsing pada korpus JS situs web menjadi 1,14x lebih cepat dan RSS berkurang 282MB (#8801)
- Konkatenasi string pendek melewati representasi rope saat hasilnya memang akan teramati sebagai flat string, sehingga loop
a + b yang rapat menjadi 2,13x lebih cepat (#9184)
- Arrow function lexical-this tidak lagi mengalokasikan function environment pada setiap pemanggilan, sehingga meningkat 2,13x pada microbenchmark (#9192)
- Sparse array tidak lagi menanggung biaya langsung untuk hole, dan
Array(20_000_000) sebagian besar tetap berupa metadata alih-alih melakukan pekerjaan yang sebanding dengan 20 juta elemen virtual (#8847)
- Tipe lazy
JS::Substring baru mendukung regexp capture serta builtin string seperti slice, split, dan indexed access, menghasilkan peningkatan 1,066x pada benchmark regexp Octane (#8863)
- Source position kini dipertahankan secara end-to-end dalam source map bytecode, menghemat sekitar 250ms di x.com (#9027)
TransferArrayBuffer zero-copy menghemat sekitar 130ms saat memuat YouTube (#9088)
- Cached typed-array view diubah dari
WeakHashSet ke intrusive list, menghemat sekitar 250ms saat memuat Intel ISA PDF di pdf.js (#9180)
- Semua
Promise sebelumnya mengalokasikan 2 sel PromiseResolvingFunction dengan closure AK::Function yang tidak menangkap apa pun; kini ini diubah menjadi static function yang didispatch oleh enum Kind, sehingga alokasi per resolver dihapus (#9188)
- Waktu GC saat memuat maptiler.com berkurang 1,3 detik dengan melewati property-table marking untuk shape non-dictionary (#9044)
- Fast path
Array.prototype.indexOf untuk packed array ditambahkan (#9123)
Array.prototype.sort kini menggunakan kembali UTF-16 yang sudah di-cache alih-alih mentranskode ulang pada setiap perbandingan (#9036)
- Import WASM, JSON, dan CSS modules ditambahkan (#6029)
- Dukungan untuk proposal
ShadowRealm dihapus karena proses standarisasinya mandek (#8753)
API platform web dan CSS
-
Cache dan CacheStorage
Cache dan CacheStorage telah diimplementasikan secara end-to-end(#8745)
- 9 metode seperti
open, has, delete, keys, match, matchAll, add, addAll, dan put berjalan berdasarkan penyimpanan in-memory sementara
-
Fitur CSS dan perbaikan rendering
- Dukungan dasar untuk bentuk standar dan bentuk prefix
-webkit- dari image-set() telah ditambahkan, dan saat paint memilih kandidat resolusi yang paling sesuai dengan device pixel ratio serta melewati MIME type yang tidak didukung(#9090)
- Dengan dukungan
image-set(), gambar header di gocomics.com kini ditampilkan
- Dukungan awal untuk
position-anchor dan CSS anchor positioning telah ditambahkan, sehingga posisi tangan dan senjata di cssdoom.wtf diperbaiki(#8686)
- Interpolasi warna ditulis ulang agar sesuai dengan css-color-4, sehingga interpolasi dilakukan dengan float alih-alih
u8, serta menangani missing/powerless component, out-of-gamut sRGB, dan alpha multiplier secara konsisten(#8934)
- Legacy presentational HTML attribute seperti
align dan bgcolor kini tidak lagi langsung menulis cascaded properties, melainkan melewati cascade seperti author declaration biasa sehingga substitusi var() dan fallback invalid-at-computed-value-time berjalan dengan benar(#9176)
- Perubahan pada presentational hint cascade memperbaiki crash di html.spec.whatwg.org
<thead>, <tbody>, <tfoot>, dan <tr> kini menerapkan presentational attribute align, sehingga penempatan tombol di bricklink.com diperbaiki(#9177)
- Dengan interpolasi
stroke-dasharray, dash SVG kini dianimasikan dengan mulus(#9133)
- Elemen yang memiliki attribute
autofocus kini benar-benar menerima fokus saat halaman dimuat(#9016)
- List marker untuk teks RTL ditempatkan di sisi kanan, sehingga rendering daftar di Arabic Wikipedia diperbaiki(#9099)
- Baseline inline flex/grid container kini diturunkan dari first line box milik child, bukan dari wrapped line terakhir, sehingga perataan teks tautan dan ikon di nos.nl diperbaiki(#9183)
Jaringan dan invalidasi style
-
Jaringan
getaddrinfo tidak lagi memblokir event loop
- LibDNS kini menjalankan lookup di thread pool, mengirim query
A dan AAAA secara paralel, serta menggabungkan lookup bersamaan untuk nama yang sama (#9109)
- Jalur preconnect RequestServer diperbaiki agar tidak melewati resolver, sehingga threaded resolver milik libcurl yang sebelumnya memicu
pthread_join di main thread kini dirutekan ke jalur DNS pool yang sama (#9109)
- Saat WebContent lebih lambat daripada jaringan, drain data respons yang antre di RequestServer memiliki kompleksitas O(n²), dan saat membuka video YouTube, proses ini menghabiskan sekitar 30 detik di
memcpy dan 3 detik di Vector::remove
AllocatingMemoryStream diubah menjadi daftar chunk singly-linked sehingga konsumsi menjadi O(1) (#9028)
- Header
Accept untuk permintaan gambar kini mengiklankan AVIF dan WebP agar selaras dengan engine lain; beberapa CDN menggunakan header ini untuk menentukan apakah akan menyajikan format modern atau fallback JPEG (#9046)
-
Invalidasi style
- Invalidasi selector sebelumnya sederhana karena berasumsi selector hanya melihat ke bawah, tetapi dengan
:host dan :has(), perubahan descendant dapat mengubah hasil :has() pada ancestor sehingga diperlukan walk yang bergerak ke atas
- Mutasi stylesheet kini tidak lagi membangun ulang seluruh cache style scope ketika hanya satu scope yang berubah, sehingga rebuild cache rule Reddit turun dari 13,2 detik → 3,2 detik (#9138)
- Invalidasi struktural sibling kini tidak menyebar ke descendant yang tidak mengamati posisi, sehingga recompute yang tidak perlu pada infinite scroll Reddit berkurang 11% (#9155)
- Invalidasi mutasi
:has() kini melewati anchor yang tidak terdampak, dan penurunan besar terukur di azure.com (#9168)
- Pada PDF Intel ISA, kunjungan child-list
:has() turun dari 71k → 1,6k, menghemat sekitar 650 ms saat memuat pdf.js (#9179)
- Paket pengujian structural-invalidation baru mengungkap beberapa invalidasi yang terlewat dan semuanya telah diperbaiki (#9095)
- Juga mencakup perbaikan kecil di sekitar hover, scope mutasi stylesheet, peta custom-property, dan computed-style diffing (#9077, #9049, #9079, #9080, #9141)
Alokasi memori dan sistem build
-
mimalloc sebagai allocator default
- Kode C++ dan Rust kini berbagi satu instance allocator mimalloc v2 tanpa masing-masing melewati system allocator (#8752)
- Karena
malloc() tidak dioverride untuk seluruh sistem, library pihak ketiga tetap mempertahankan contract allocator-nya sendiri
- Benchmark JS membaik secara keseluruhan
-
Rust diwajibkan dan sistem build dirapikan
- Opsi build
ENABLE_RUST dihapus sehingga Rust menjadi wajib (#8742)
- Sistem build GN dihapus sepenuhnya sehingga CMake menjadi satu-satunya acuan (#8931)
-
Perubahan terkait GC dan memori
- Kompilasi kini menggunakan
-ftrivial-auto-var-init=zero untuk menimpa GC pointer lama dengan 0 saat fungsi mulai berjalan, sehingga conservative stack scanner lebih jarang menemukannya (#9171)
- Properti
UsedValues yang jarang dipakai dipindahkan ke belakang lazy pointer, sehingga ukuran struct menyusut dari 424 byte → 176 byte, dan LayoutState::populate_node_from() saat memuat sainsburys.co.uk turun dari 139 ms → 65 ms (#9104)
- Chunk body fetch yang sebelumnya melewati jalur pull-promise dan mengalokasikan 7 object GC per chunk kini langsung masuk ke byte stream controller (#9169)
Perilaku situs yang ditingkatkan
-
Reddit
- Carousel galeri gambar Reddit kini berfungsi, dan dua bug layout yang tidak saling terkait di sekitar
::slotted() matching dan descendant yang diposisikan absolut dari split inline telah diperbaiki(#9148)
- Berkat
TextDecoderStream, SPA tidak lagi menelan klik tautan sehingga komentar bisa dibuka
- Infinite scroll juga terdampak oleh pekerjaan structural invalidation
-
YouTube
- YouTube mendapat dampak dari off-thread top-level JS compile, off-thread WOFF2 decompression, pengurangan
@font-face fetch fanout, perbaikan RequestServer memory churn, dan zero-copy TransferArrayBuffer
- Off-thread WOFF2 decompression juga menghemat sekitar 170ms di Gmail(#8976)
- Pada pemuatan awal,
@font-face fetch fanout berkurang dari 177 → sekitar 9(#9032)
-
Situs lainnya
- gocomics.com kini menampilkan gambar header berkat
image-set()
- yandex.com/maps kini menjalankan rendering WebGL vector-tile berkat perbaikan WebGL, termasuk ekstensi
WEBGL_debug_renderer_info(#9043)
- strava.com kini bisa login karena
Navigator.getBattery melempar tipe error yang diwajibkan spesifikasi, bukan error buatannya sendiri(#8770)
- GitHub Insights dimuat sekitar 100ms lebih cepat berkat selector cache untuk
Element.matches() dan .closest()(#8987)
- Halaman perbandingan laptop di tweakers.net menjadi sekitar 31% lebih cepat berkat indexed
HTMLFormElement property name lookup(#9009)
- neon.com tidak lagi crash(#8812)
- channel4.com memperbaiki masalah perataan vertikal pada category text berkat perbaikan flex auto-margin resolution(#9050)
- Cloudflare Turnstile masih belum bisa dilewati, tetapi gagal jauh lebih cepat berkat auth-scheme handling, optimasi
Array.prototype.shift(), dan hardening UA event handler pada elemen range serta number <input>(#9063)
WPT dan perubahan platform lainnya
-
Web Platform Tests
- Skor WPT naik dari 2,003,537 → 2,067,263, mencatat kenaikan 63.726 subtest bulan ini
- Namun, WPT mengimpor upstream test262, suite conformance ECMAScript resmi, sehingga menambah 53.207 subtest JavaScript
- Ladybird sudah menjalankan test262 secara terpisah selama bertahun-tahun, dan karena conformance LibJS dalam kondisi baik, ia lulus 52.045 di antaranya, yaitu 97,8%
- Dari kenaikan 63,7k itu, sekitar 52k berasal dari impor test262, dan sisanya sekitar 11,7k adalah kemajuan nyata baru pada platform browser
- Dengan impor test262, WPT kini mengukur conformance JavaScript bersama bagian platform lainnya
-
Teks, layout, proses, UI
- Selection dan hit testing untuk teks dengan ligature berubah dari pendekatan yang mengasumsikan satu code unit per glyph menjadi menelusuri grapheme cluster dan membagi glyph advance ke grapheme terkait(#8829)
- Menyetel
innerHTML pada shadow root tidak lagi menginvalkan seluruh document layout tree, dan waktu layout-and-paint di pomax.github.io/bezierinfo berkurang 21%(#9191)
- Menavigasikan popup tab ke situs lain tidak lagi menghentikan proses WebContent milik parent(#8730)
- Di UI Qt, tab yang terbuka kini bisa diputar dengan
Ctrl+Tab dan Ctrl+Shift+Tab(#8704)
- Anda kini bisa men-scroll dengan menahan tombol tengah mouse sambil menyeret, atau masuk ke mode autoscroll dengan klik di tempat(#8881, #8928)
- Jika input bilah alamat tidak bisa disanitasi menjadi URL atau kueri pencarian, kini akan ditampilkan error page yang sesuai alih-alih diam-diam dibuang(#9072)
TextDecoderStream, counterpart streaming dari TextDecoder, telah diimplementasikan, dan kini menahan partial UTF-8 di batas chunk sehingga pengeditan komentar Reddit dimungkinkan(#9143)
- Pesan
BroadcastChannel lintas proses kini dirutekan lewat IPC antara proses WebContent dan WebWorker, sehingga listener bekerja sama seperti di browser lain, di proses mana pun mereka berada(#8865)
1 komentar
Komentar Hacker News
Dioxus, framework GUI Rust, sedang dikembangkan sebagai bagian dari native renderer, dan arahnya adalah membuat alternatif Skia sendiri seperti Flutter, tetapi alih-alih hanya memakai canvas seperti Flutter web, di web ia tetap berjalan dengan standar HTML/CSS
Implementasinya nyaris dibuat dari nol tanpa bergantung pada basis kode browser yang ada seperti Chromium, Gecko, atau WebKit, sambil memanfaatkan crate Rust seperti stylo dan taffy yang juga dipakai Servo: https://github.com/DioxusLabs/blitz (
/apps/browser)Banyak situs memblokir pemuatan di browser tertentu dan hanya mengizinkan Chromium, dan inilah kenyataan yang akan dihadapi Ladybird serta salah satu faktor besar yang menghambat persaingan browser baru
DRM Widevine juga sangat sulit didapatkan browser baru, dan bahkan Zen Browser yang punya 10 juta pengguna pun gagal mendapatkannya
Saya sudah memakai Firefox selama 20 tahun terakhir, tetapi belum pernah melihat situs yang meminta saya beralih ke Chromium demi kompatibilitas
Widevine memang gerbang yang nyata, tetapi secara praktis paling hanya menghalangi pemutaran 4K di beberapa situs streaming seperti Netflix dan Disney
Fakta bahwa Zen bisa mengumpulkan 10 juta pengguna tanpa Widevine juga menunjukkan bahwa ini sulit dianggap sepenting itu
Jika Anda mengendalikan browser itu sendiri, selain masalah terkait DRM, hampir tidak ada yang benar-benar mustahil
Tulisan seperti ini mengingatkan pada serunya membaca pembaruan emulator game
Semacam, “bug X diperbaiki sehingga Y sekarang berfungsi dengan benar, dan akibatnya game Z bisa jalan”, dan salah satu yang diperbaiki kali ini adalah CSS Doom, jadi memang ada sedikit irisan dengan dunia game
Saya pernah beberapa kali mendengar Andreas mengatakan bahwa membuat browser itu seperti membuat emulator
Tiap situs memakai fitur yang berbeda dengan cara yang berbeda pula, dan ia menyamakan situs web dengan ROM
Saya pengguna Firefox lama, tetapi begitu Ladybird masuk ke alpha yang sangat awal dan build pra-kompilasi mulai tersedia, saya pasti akan mencobanya sejak awal
GTK4 / libadwaita frontendterdengar bagusSaya lebih suka UI/UX GTK daripada Qt, jadi saya menantikan perkembangan di sisi ini
strava.com : Login works now that Navigator.getBattery throws the spec-mandated error type instead of one of our own (#8770).Kenapa Strava ingin tahu sisa baterai saya?
Mungkin ada versi web khusus untuk negara berkembang, atau jika baterai rendah mereka ingin mengurangi frekuensi pengambilan lokasi demi penghematan
Ini murni dugaan, tetapi tidak sepenuhnya tidak masuk akal bila situs seperti Strava meminta info baterai, hanya saja tetap terasa agak mencurigakan secara umum
Jika diasumsikan bisa dipakai lewat situs web, kemungkinan besar mereka ingin menyesuaikan frekuensi pengambilan lokasi untuk menyeimbangkan akurasi dan konsumsi daya
Hanya saja, tangkapan layar penanda daftar untuk teks RTL terlihat sama
Di kedua kasus, penanda daftar ada di sebelah kiri
Sementara pada gambar “before” https://ladybird.org/assets/img/newsletter-apr-2026-rtl-befo..., bullet bukan hanya berada di kiri teks, tetapi juga terlalu ke kiri sampai hampir keluar dari panel
Saya benar-benar menghormati orang yang memakai Evangelion r/unixporn untuk pengujian Reddit di Ladybird
Saya tidak terlalu banyak menonton Evangelion, tetapi saya sudah tak terhitung kali menonton dokumenter penjelasannya dan bahkan pernah memakainya sebagai wallpaper, jadi saya menyukainya
Intinya, Reddit berjalan di Ladybird itu luar biasa
Saya tidak tahu apakah YouTube juga jalan, tetapi semoga iya, dan rasanya Ladybird benar-benar mulai layak dipakai sehari-hari
Terima kasih juga kepada https://jakubsteplow.ski/ yang telah mendukung Ladybird
Saya ingin orang-orang yang menyumbang ke proyek open source lebih sering disorot dengan cara yang lebih baik daripada iklan Google atau semacamnya, dan saya mendoakan yang terbaik untuk Jakub, serta berharap orang lain juga mau berdonasi secara mandiri ke proyek seperti Ladybird
Terima kasih juga kepada Human Rights Foundation https://hrf.org/program/ai-for-individual-rights/
Fakta bahwa browser selama ini nyaris berada dalam kondisi monopoli/oligopoli tunggal-ganda, dan satu orang bisa membawa proyek ini sejauh ini, sungguh mengejutkan dan menginspirasi
Ada dua sisi besar: satu adalah sci-fi mecha/alien/monster dengan estetika yang keren, dan satu lagi adalah drama personal yang berfokus pada kebencian diri dan kesepian
Bagi kebanyakan orang, sisi pertama mungkin lebih menarik, tetapi yang terus membekas sampai sekarang justru sisi kedua
Kalau jadi menonton, urutan tonton perlu diperhatikan
Ada linimasa yang dimulai dari serial TV orisinal lalu berlanjut ke film “End of Evangelion”, dan ada juga seri film “Rebuild of Eva” yang dimulai sebagai reboot total tetapi entah bagaimana menjadi reboot/remake/sekuel final dari karya aslinya
Sebagai jawaban atas pertanyaan “berapa orang yang mengerjakan browser saat ini?”, tertulis bahwa Ladybird saat ini memiliki 8 engineer penuh waktu berbayar dan juga komunitas kontributor sukarelawan yang besar
Sebagian besar hal juga berjalan, tetapi selain kecepatan, masalah terbesarnya adalah banyak pemeriksaan ‘apakah Anda manusia’ tidak berfungsi dengan baik di Ladybird