2 điểm bởi GN⁺ 2024-02-07 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong bối cảnh engine trình duyệt web đang tập trung vào một số ít công ty, Ladybird là một dự án độc lập xây dựng engine mới từ đầu, không fork từ engine hiện có
  • Bản Alpha đầu tiên nhắm tới Linux và macOS vào năm 2026; hiện dự án đang trong giai đoạn phát triển tích cực, hướng đến nhà phát triển và người dùng sớm
  • Dự án tập trung vào mục tiêu trở thành một engine dựa trên tiêu chuẩn web, và nhấn mạnh điểm khác biệt là vận hành không có hợp đồng tìm kiếm mặc định, token crypto hay kiếm tiền từ người dùng
  • Dự án được phát triển dưới dạng mã nguồn mở công khai; có thể tham gia bằng cách báo lỗi, tạo ca tái hiện rút gọn, kiểm thử website, báo cáo vấn đề bảo mật và góp ý kỹ thuật
  • Quyên góp và tài trợ là nguồn tài chính duy nhất; nhà tài trợ không có ảnh hưởng đến roadmap kỹ thuật hay định hướng sản phẩm

Mục tiêu và tình trạng hiện tại của Ladybird

  • Ladybird là dự án xây dựng mới engine trình duyệt web từ đầu
  • Hiện dự án đang được phát triển tích cực, với mục tiêu phát hành bản Alpha đầu tiên cho Linux và macOS vào năm 2026
  • Web là một nền tảng quan trọng trong điện toán, nhưng chỉ có số ít engine trình duyệt vận hành toàn bộ web và mỗi engine đều do một công ty cụ thể kiểm soát
  • Ladybird là dự án nhằm xây dựng một engine độc lập đặt tiêu chuẩn web làm trọng tâm

Những điểm khác biệt mà dự án nhấn mạnh

  • Tính độc lập hoàn toàn

    • Xây dựng engine mới mà không dùng mã của các engine trình duyệt hiện có như Blink, WebKit hay Gecko
  • Trọng tâm duy nhất

    • Trọng tâm của dự án chỉ là tạo ra một trình duyệt web
  • Không kiếm tiền từ người dùng

    • Không sử dụng hợp đồng tìm kiếm mặc định, token crypto hay các hình thức kiếm tiền từ người dùng khác

Diễn biến phát triển gần đây

  • Changing How We Develop Ladybird
    • Đang thay đổi cách mã được đưa vào dự án trong quá trình chuẩn bị cung cấp trình duyệt cho người dùng thực tế
  • This Month in Ladybird - May 2026
    • Bao gồm việc vượt qua Cloudflare Turnstile, cuộn bất đồng bộ trong out-of-process compositor, bật mặc định Media Source Extensions, WebAssembly JIT, chặn nội dung native, trình phân tích cú pháp HTML dựa trên Rust, cache bytecode JS dựa trên đĩa, CSS @container, @scope, subgrid, v.v.
  • This Month in Ladybird - April 2026
    • Bao gồm trình xem PDF inline dựa trên pdf.js, frontend GTK4, lịch sử truy cập, phân tích cú pháp HTML suy đoán, biên dịch JS ngoài luồng, DNS bất đồng bộ, CSS anchor positioning, v.v.
  • This Month in Ladybird - March 2026
    • Bao gồm trình thông dịch assembly viết tay, phân tích cú pháp ngoài luồng, engine biểu thức chính quy mới, Mach port IPC, bookmark, CSS if(), inherit(), @container, @function, vô hiệu hóa style, v.v.
  • This Month in Ladybird - February 2026
    • Bao gồm việc áp dụng Rust, cải tổ chỉnh sửa văn bản, tối ưu hiệu năng cho YouTube và Reddit, ScrollTimeline, CSS @counter-style, relayout một phần cho SVG, v.v.
  • Ladybird adopts Rust, with help from AI
    • Áp dụng Rust làm ngôn ngữ kế nhiệm C++ và sử dụng tác tử AI để tăng tốc quá trình chuyển đổi

Tham gia và build

  • Ladybird là dự án mã nguồn mở được phát triển công khai, do một nhóm nhỏ xây dựng
  • Người đóng góp có thể tham gia bằng cách báo lỗi, viết ca tái hiện rút gọn, kiểm thử website, báo cáo vấn đề bảo mật và chia sẻ góp ý kỹ thuật
  • Có thể clone mã nguồn và chạy cục bộ
$ git clone https://github.com/LadybirdBrowser/ladybird.git
$ cd ladybird
$ ./Meta/ladybird.py run

Gọi vốn và nguyên tắc tài trợ

  • Ladybird vận hành hoàn toàn bằng quyên góp và tài trợ
    • Không có hợp đồng tìm kiếm
    • Không thu thập dữ liệu
    • Không quảng cáo
  • Nhà tài trợ được hiển thị trên website và trong các bản cập nhật dự án; thời hạn tài trợ là 1 năm
  • Mức tài trợ như sau
    • Platinum: $100,000
    • Gold: $50,000
    • Silver: $10,000
    • Bronze: $5,000
    • Copper: $1,000
  • Liên hệ tài trợ qua contact@ladybird.org
  • Cá nhân có thể quyên góp một lần hoặc định kỳ hằng tháng qua Donorbox
  • Với khoản quyên góp lớn, dự án hướng dẫn liên hệ trực tiếp để tránh phí xử lý

Các ràng buộc trong FAQ và kế hoạch tương lai

  • Bản Alpha đầu tiên nhắm tới Linux và macOS vào năm 2026, dành cho nhà phát triển và người dùng sớm
  • Hiện Ladybird có một nhóm kỹ sư toàn thời gian nhỏ, đồng thời nhận kiểm thử, báo lỗi, báo cáo bảo mật và góp ý kỹ thuật từ cộng đồng
  • Quy mô đội ngũ đang ổn định; nếu nhu cầu dự án thay đổi, kế hoạch tuyển dụng sẽ được xem xét lại
  • Dự án luôn cố gắng duy trì runway 18 tháng
  • Việc nói rằng dự án không phải fork của engine hiện có nghĩa là không sử dụng mã của Blink, WebKit, Gecko hay engine trình duyệt nào khác
    • Vì lý do lịch sử, dự án sử dụng nhiều thư viện của SerenityOS
    • Sau khi Ladybird được fork từ SerenityOS, dự án không bị ràng buộc với văn hóa viết mọi thứ từ đầu
    • Dự án dùng thư viện bên thứ ba cho các chức năng chung như định dạng hình ảnh/âm thanh/video, mã hóa và đồ họa, bao gồm cả một số thư viện mà các trình duyệt khác cũng dùng
  • Hỗ trợ Windows được triển khai theo từng giai đoạn
    • CI đã build và kiểm thử engine JavaScript trên Windows
    • Hỗ trợ Windows cho toàn bộ engine trình duyệt sẽ được thực hiện ở giai đoạn sau
    • Các kỹ sư toàn thời gian hiện tập trung vào macOS và Linux
  • Nền tảng di động hiện chưa phải trọng tâm
    • Sau khi phiên bản desktop đạt trạng thái tốt hơn, dự án sẽ đầu tư nhiều nỗ lực hơn cho Android và iOS
  • Tài trợ là một hình thức quyên góp không ràng buộc
    • Ghế trong hội đồng quản trị hay các hình thức ảnh hưởng khác không được đem ra bán
    • Nhà tài trợ không có tiếng nói trong roadmap kỹ thuật hay định hướng sản phẩm
  • Ladybird khởi đầu là một dự án C++ trong SerenityOS, nên codebase bắt đầu bằng C++ và phần lớn vẫn là C++
    • Sau đó Rust được chọn làm ngôn ngữ kế nhiệm C++
    • Các subsystem đang dần được port sang Rust
    • Có thể xem chi tiết trong thông báo áp dụng Rust

1 bình luận

 
GN⁺ 2024-02-07
Các ý kiến trên Hacker News
  • Thật sự rất truyền cảm hứng khi thấy anh ấy và các đồng nghiệp hacker xây dựng một trình duyệt độc lập mới từ đầu
    Xét đến quy mô nhân lực và tài chính, tôi từng không nghĩ điều đó là khả thi
    Mặt khác, tôi cũng tự hỏi liệu giờ đây chúng ta mới đang thấy kết quả của việc các trình duyệt được chuẩn hóa tốt hơn ở khoảng “95%+” các tính năng phổ biến hay không, và vì vậy việc viết một trình duyệt ngày nay có dễ hơn so với việc tạo và duy trì một trình duyệt 10 năm trước hay không
    Web vẫn đang tiến hóa, nhưng có cảm giác ổn định hơn so với 10–15 năm trước, và các nhà phát triển ngày xưa khi bắt đầu thiết kế trình duyệt không có một lộ trình hoàn chỉnh như bây giờ
    Hiện nay đã có một khối lượng khổng lồ các tiêu chuẩn web, và theo thời gian ta cũng biết được thứ gì từng phổ biến, nên việc ưu tiên hỗ trợ web hiện đại dễ hơn
    Nhìn bề ngoài thì có vẻ mọi thứ đều nhiều hơn, nhưng tôi nghĩ cũng có nhiều ý tưởng có thể bỏ qua hơn. Từng có thời Internet Explorer hỗ trợ XSLT và FTP còn phổ biến
    Chỉnh sửa: XSLT vẫn được tất cả các trình duyệt lớn hỗ trợ, nhưng hầu như không được dùng và vẫn dừng ở XSLT 1.0, nên có lẽ nó thuộc nhóm có thể bỏ qua một cách khá an toàn trong thời gian dài

    • Cảm ơn, và tôi thật sự tự hào về tất cả những người đã cùng làm việc
      Tôi đã làm việc với trình duyệt một cách không liên tục từ năm 2006, và môi trường hiện nay hoàn toàn khác
      Đặc tả tốt hơn bao giờ hết, và bộ kiểm thử có thể dùng thì nhiều như một kho báu
    • Không phải bây giờ dễ hơn. Vẫn có một kẻ độc quyền chi phối cuộc chơi, chỉ là tên không còn là Microsoft mà thôi
      Nếu ai đó đe dọa vị thế của Google, Google có thể đổ tiền vào, tạo ra các tiêu chuẩn quá phức tạp, rồi triển khai chúng trong Blink để buộc đối thủ phải chạy theo
      Thậm chí không cần đi qua W3C. Nếu nó chạy trong Chrome thì các nhà phát triển web sẽ áp dụng, và các engine nhỏ cuối cùng phải hỗ trợ nếu không muốn mất phần thị phần còn lại
      Tầm quan trọng chiến lược của việc kiểm soát Internet hiện nay còn lớn hơn so với 20–30 năm trước, khi Microsoft ở đỉnh cao
    • So với 10 năm trước thì có thể đúng, nhưng vài chục năm trước, chỉ riêng HTML thôi đã có ít thứ phải hỗ trợ hơn rất nhiều
      Chỉ cần so sánh https://www.ietf.org/rfc/rfc1866.txt với https://html.spec.whatwg.org/multipage/ là thấy
      Ngày xưa việc viết trình duyệt web cũng khó vì nhiều lý do, nhưng ngày nay việc tạo một trình duyệt đầy đủ tính năng là một công việc khổng lồ, và các tính năng mới vẫn liên tục được thêm vào trong khi người dùng kỳ vọng trình duyệt phải hỗ trợ
    • Có lẽ không phải vậy. Có các tiêu chuẩn web và cảm quan thiết kế, nhưng tổng lượng API và tính năng HTML/CSS mà trình duyệt phải hỗ trợ rất có thể đang thay đổi nhanh hơn tốc độ nhóm Ladybird tích cực triển khai
      Diện tích bề mặt API đã lớn hơn đến mức không thể so sánh với 10–15 năm trước: https://developer.mozilla.org/en-US/docs/Web/API
      Đó còn chưa tính JavaScript, MathML, SVG, các tính năng bảo mật dựa trên HTTP, mã hóa, và các cập nhật hỗ trợ media
    • Nền tảng web đang tiếp tục trở nên tốt hơn. Là người kiếm sống bằng phát triển web từ năm 1998, tôi rất vui khi thấy những thứ như Interop 2024Web Platform Tests, giúp tăng tốc độ áp dụng và độ tin cậy của các tính năng nền tảng cốt lõi
      1. https://www.webkit.org/blog/14633/get-ready-for-interop-2024...
      2. https://wpt.fyi
  • Thật đáng kinh ngạc khi một người bắt đầu tạo toàn bộ một hệ điều hành từ đầu để cho vui và để làm điều thú vị, rồi tình cờ tạo ra một trong những engine trình duyệt mới có triển vọng nhất trong 10–20 năm qua
    Tôi đã xem các video phát triển trong 1–2 năm qua, và tốc độ tiến triển trong thời gian ngắn như vậy gần như khó tin
    Giờ đã có nhiều tình nguyện viên, và cũng có tài trợ đủ để trả tiền cho hơn một lập trình viên, nên tương lai khá đáng mong đợi

    • Anh ấy là chuyên gia tầm cỡ thế giới trong lĩnh vực web rendering và là một lập trình viên C++ rất giỏi
      Một trong những bí quyết thành công là cách trực tiếp chuyển nhiều đặc tả thành code, và ngày nay đây gần như là cách tốt nhất. Dự án cũng rất thiên về kiểm thử
      Khi nói “từ đầu”, điều đó bao gồm cả việc không dùng thư viện chuẩn C++ và có cả lớp chuỗi tự viết; dù tốt hay xấu thì đây là dự án “chỉ để cho vui”, “để học”, nên cũng ổn
      Khi chỉ riêng thư viện và OS đã đủ khiến người ta nghĩ là điên rồ, anh ấy lại công bố sẽ thêm trình duyệt và engine JavaScript, rồi sau đó là trình biên dịch JIT, và vì cũng không hoàn toàn hài lòng với C++ lẫn Rust nên còn tạo ra ngôn ngữ mới của riêng mình là Jakt
      Điều đáng kính trọng hơn cả chuyên môn là sự khiêm tốn và tử tế. Khác với Linus và một số người khác, anh ấy không nặng tính tự thể hiện; trong mỗi video đều nêu tên từng người đã làm gì và ghi nhận công lao cho họ. Đây là một hình mẫu tuyệt vời của mã nguồn mở
    • Chẳng phải trước đây anh ấy đã làm vài năm ở đội WebKit của Apple sao?
      Vẫn rất ấn tượng, nhưng trong chuyện phát triển trình duyệt thì anh ấy không phải người hoàn toàn mới
    • Chỉ nhìn liên kết thì tôi không rõ lắm, điều gì khiến nó là một engine có triển vọng như vậy?
    • Tôi biết đến dự án này qua một tập podcast co-recursive, và câu chuyện rất thú vị: https://corecursive.com/serenity-os-with-andreas-kling/
    • Điều gì có thể xảy ra? Vì sao cần một engine trình duyệt mới?
  • Hy vọng nó sẽ trở thành một trình duyệt có thể dùng hằng ngày. Web engine mới thật tuyệt, và cũng mong Servo thành công
    Tôi cũng có thể cân nhắc đóng góp, nhưng việc điều phối phát triển diễn ra trên Discord, còn tôi thì tránh phần mềm độc quyền… [1]
    Tiếc thật, nhưng đây là việc làm cho vui nên cũng không thể trách được
    [1] https://drewdevault.com/2022/03/29/free-software-free-infras...

    • Bài đó đọc khá mệt. Tôi thích nhiều điều Drew nói, nhưng lần này có vẻ quá đà
      Ông ấy gọi những tác giả quảng bá phần mềm open source trên các kênh như Twitter, Hacker News, LinkedIn, GitHub là “ích kỷ và phi đạo đức một cách trắng trợn”
      Kiểu giáo điều này thật khó chịu, và có cảm giác như đang áp đặt một định nghĩa về tự do và open source mang tính thù địch với những người chỉ muốn tạo ra thứ hay ho rồi chia sẻ với thế giới, thậm chí cả những người muốn kiếm tiền từ FOSS
      Có quan điểm mạnh như vậy mà lại đăng bài kiểu “Can I be on your podcast”[1] để quảng bá ngôn ngữ lập trình Hare của mình thì thật đáng ngạc nhiên
      Không phải ông ấy chỉ tìm những podcast không được phân phối trên các nền tảng như Spotify hay Apple Podcasts; thực tế ông ấy đang quảng bá Hare thông qua nhiều lần xuất hiện
      Điều này giống như đạo đức giả
      [1]: https://drewdevault.com/2023/11/09/Can-I-be-on-your-podcast....
    • HN có vẻ cũng là phần mềm độc quyền
  • Tôi thích phần này trong FAQ
    “Tại sao phải làm? Không thể tạo một browser engine mới nếu không có hàng tỷ đô la và hàng trăm nhân viên mà.”
    “Có thể. Đừng nghe lời những kẻ thất bại khoanh tay đứng nhìn chưa từng làm trình duyệt.”

  • Thật vui khi thấy cạnh tranh vẫn còn tồn tại trong phát triển browser engine. Cũng có Servo, từng là một phần của Mozilla: https://servo.org/
    Tuy vậy, cả Servo lẫn Ladybird vẫn còn rất non nớt so với trình duyệt dùng hằng ngày
    Việc không có nightly build để thử Ladybird khá đáng tiếc, có lẽ vì họ không muốn nhận bug report. Nếu mọi thứ vẫn chưa hoạt động thì việc chất đống các lỗi ngẫu nhiên cũng không có ý nghĩa

    • Lần cuối tôi thử, build Ladybird không mất nhiều thời gian
      Tất nhiên đó là vào một thời điểm nào đó năm ngoái và bây giờ có thể chậm hơn, nhưng vẫn còn rất xa so với build Chromium 9 tiếng
    • Gói Ladybird có trên AUR https://aur.archlinux.org/packages/ladybird-git, FreshPorts https://www.freshports.org/www/ladybird, HaikuPorts https://depot.haiku-os.org/ladybird
    • Cũng đừng quên WebKit. Nó dẫn tới các dự án như https://surf.suckless.org
    • Tôi nhớ lý do không có build là nếu buộc mọi người tự compile, người dùng và người mở issue sẽ có một mức năng lực kỹ thuật nhất định
      Điều đó giúp cuộc sống của maintainer dễ dàng hơn, và rất có thể sẽ thay đổi khi dự án trưởng thành
  • Tôi rất thích các ảnh chụp màn hình tiến độ này: https://serenityos.org/happy/1st/

    • Nhìn vào timestamp thì tốc độ tiến triển trong giai đoạn đầu khi làm một mình thật sự đáng kinh ngạc
      Về lập trình, trông anh ấy đúng là một lập trình viên đa năng thực thụ
  • Thử làm một thí nghiệm tưởng tượng: một loại trình duyệt mới cho một loại web mới thì sao? Rất nhiều phần của CSS đã cũ
    Vì vậy, nếu làm một phiên bản “hiện đại”, đặc biệt xoay quanh CSS Grid và Flex, liệu có thể cung cấp cùng chức năng mà gọn gàng hơn không?
    Kiểu những câu chuyện cũ như bố cục ba cột “chén thánh” ấy
    Cũng khiến nghĩ đến canvas, threejs, react-three-fiber, react-drei. Đặc biệt trên di động, liệu canvas có thể mang lại trải nghiệm người dùng tốt hơn không?
    Ai lại viết game di động bằng HTML và CSS? Không có nghĩa là không thể, nhưng tôi tò mò có bao nhiêu website thật sự cần HTML và CSS thay vì canvas
    Rào cản lớn trong cuộc cạnh tranh trình duyệt là phải triển khai các công nghệ cũ kỹ, lâu đời. Chỉ dùng HTML tối thiểu và canvas thôi không được sao?

    • Trước đây tôi từng làm một chút với engine trình duyệt, dù cũng lâu rồi
      Có lẽ chuyện đó không giúp ích được mấy
      Bề mặt API của web đã phình ra như vụ nổ kỷ Cambri, và những thứ hiện đại áp đảo những thứ cũ. Ngay cả khi bỏ hỗ trợ các cơ chế đã lỗi thời hoặc ít dùng hơn, lượng code và độ phức tạp cũng không giảm nhiều như ta tưởng
      Vượt ra ngoài bề mặt đơn giản, để triển khai một “hồ sơ lõi giới hạn” ở mức cạnh tranh, đặc biệt nếu phát triển hoàn toàn từ trang trắng mà vẫn tính đến hiệu năng, thì mức kỹ thuật cần có là rất cao
      Hiệu ứng long tail cũng mạnh, nên ngay cả đa số website hiện đại cũng phụ thuộc vào các yếu tố cũ ở chỗ này chỗ kia; vì vậy có thể gần như không có trang nào chạy đúng trên trình duyệt giả định đó
      Nói cách khác, đây vẫn là một dự án rất lớn và khó. Tất nhiên cộng đồng FOSS cũng đã làm được khá nhiều dự án lớn và khó, nên không có nghĩa là bất khả thi
    • Tôi mong ta ngừng đi theo xu hướng Google biến web thành một OS vì lợi ích quảng cáo và theo dõi người dùng của họ
      Nếu muốn tạo ứng dụng, dù là ứng dụng có kết nối hay không, thì đã có Internet và OS rồi. Cũng không cần làm giao diện tệ hơn vì phải vật lộn với trình duyệt
      Điều này đặc biệt quan trọng với game hoặc các phần mềm có chiều sâu khác
      Cốt lõi ban đầu của web là tập hợp tài liệu được nối với nhau bằng hyperlink, đôi khi có multimedia, và thêm tương tác bằng một ít form và script
      Để thấy tình hình hiện tại gượng gạo đến mức nào, cứ tưởng tượng một vũ trụ song song nơi Adobe, thay vì Google, trở nên khổng lồ, và JavaScript trong PDF bị lạm dụng để làm ứng dụng
    • Cụ thể thì phần nào của CSS là cũ? float và inline-block vẫn có các trường hợp sử dụng hợp lý
      border-box cũng giải quyết phần lớn nỗi đau của thập niên 2000. Nghe có vẻ là ý hay, nhưng tôi không biết có thể cắt bỏ gì
      Bảng vẫn là lựa chọn tốt nhất cho dữ liệu dạng bảng thực sự
    • Có vẻ có những framework hiện đại render mọi thứ bằng WebGL/WebGPU của canvas
  • Đây là các thread liên quan đang diễn ra và những bài trước đây
    Interview with Andreas Kling of Serenity OS (2022) - https://news.ycombinator.com/item?id=39286638 - tháng 2 năm 2024, 134 bình luận
    Ladybird browser update (July 2023) [video] - https://news.ycombinator.com/item?id=36939402 - tháng 7 năm 2023, 1 bình luận
    Chat with Andreas Kling about Ladybird and developing a browser engine - https://news.ycombinator.com/item?id=36620450 - tháng 7 năm 2023, 65 bình luận
    Shopify Sponsored Ladybird Browser - https://news.ycombinator.com/item?id=36502583 - tháng 6 năm 2023, 1 bình luận
    I have received a $100k sponsorship for Ladybird browser - https://news.ycombinator.com/item?id=36377805 - tháng 6 năm 2023, 166 bình luận
    Early stages of Google Docs support in the Ladybird browser - https://news.ycombinator.com/item?id=33511831 - tháng 11 năm 2022, 84 bình luận
    Github.com on Ladybird, new browser with JavaScript/CSS/SVG engines from scratch - https://news.ycombinator.com/item?id=33273785 - tháng 10 năm 2022, 1 bình luận
    Ladybird: A new cross-platform browser project - https://news.ycombinator.com/item?id=32809126 - tháng 9 năm 2022, 473 bình luận
    Ladybird: A truly new Web Browser comes to Linux - https://news.ycombinator.com/item?id=32014061 - tháng 7 năm 2022, 8 bình luận
    Ladybird Web Browser - https://news.ycombinator.com/item?id=31987506 - tháng 7 năm 2022, 2 bình luận
    Ladybird Web Browser – SerenityOS LibWeb Engine on Linux - https://news.ycombinator.com/item?id=31976579 - tháng 7 năm 2022, 2 bình luận

  • Trong khi Mozilla đang bán lại các dịch vụ bảo vệ quyền riêng tư, những người khác đang xây dựng trình duyệt tốt hơn
    Cũng chẳng cần đến 6 tỷ đô la

    • Mozilla rõ ràng có vấn đề về quản trị. Nhưng sản phẩm thì tốt, thậm chí rất tốt
  • Andreas Kling và dự án SerenityOS rất hay, nhưng không thích việc anh ấy chỉ có mặt trên Twitter
    Mastodon có vẻ rất phù hợp với nhóm khán giả của anh ấy

    • Không chắc lắm. Anh ấy khá nhất quán với thái độ nhìn nhận mọi thứ theo hướng tích cực, còn Mastodon trông như một không gian giận dữ hơn Twitter rất nhiều
      Twitter trước đây cũng từng như vậy hơn, nhưng sau khi Elon mua lại, có cảm giác những người giận dữ nhất đã chuyển sang Mastodon
      Tôi thấy trên Mastodon bầu không khí đó rất nổi bật và khó tránh
    • Có một mirror trên Mastodon: @awesomekling@bird.makeup