2 điểm bởi GN⁺ 2025-06-17 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trình duyệt web chạy trên terminal Chawan 0.2.0 đã được phát hành và có thể cài đặt bằng source tarball, binary tĩnh cho Linux amd64 và gói .deb
  • Vào ngày 25 tháng 6 năm 2025, bản phát hành vá 0.2.1 cũng được cung cấp thêm để sửa một số vấn đề theo từng nền tảng quan trọng của phiên bản này
  • Người bảo trì gói chỉ cần sắp xếp các phụ thuộc runtime bắt buộc xoay quanh libssh2, libbrotli và OpenSSL hoặc LibreSSL
  • zlib, libseccomp, termcap/ncurses và libcurl không còn cần thiết nữa; nếu có vấn đề khi đóng gói thì nên liên hệ upstream thay vì dùng bản vá tạm thời
  • Nhánh v0.2 chỉ nhận sửa lỗi, còn tính năng mới sẽ tiếp tục trên master; bản phát hành tiếp theo sẽ hướng đến cải thiện hiệu năng, độ chính xác của layout và tính tiện dụng của UI

Tệp phát hành Chawan 0.2.0

  • Chawan 0.2.0 đã được phát hành
  • Source tree tarball được cung cấp tại v0.2.0.tar.gz
    • Cách biên dịch cần tham khảo tệp README
  • Bản phân phối binary tĩnh cho Linux amd64 cũng được cung cấp
    • Bản phân phối binary tĩnh
    • Để cài đặt, giải nén archive vào vị trí mong muốn rồi chạy make install với quyền root
    • Gỡ bỏ bằng make uninstall
  • Cùng bản phân phối đó cũng có thể tải dưới dạng gói .deb

Bản phát hành vá 0.2.1

  • Trong thông báo bổ sung ngày 25 tháng 6 năm 2025, một bản phát hành vá đã được cung cấp để sửa một số vấn đề theo từng nền tảng quan trọng của 0.2.0
  • Có thể xem bản phát hành vá tại chawan-0-2-1.html

Phụ thuộc dành cho người bảo trì gói

  • Các phụ thuộc runtime bắt buộc hiện tại như sau
    • libssh2
    • libbrotli
      • Chính xác hơn là libbrotlicommon và libbrotlidec
    • OpenSSL hoặc LibreSSL
      • Khuyến nghị OpenSSL 3.0 trở lên
      • LibreSSL đã được thử nghiệm với phiên bản đi kèm OpenBSD 7.7
  • Các phụ thuộc từng có ở bản phát triển trước đó nay không còn áp dụng và có thể loại bỏ
    • zlib
    • libseccomp
    • termcap/ncurses
    • libcurl
  • Nếu phát sinh vấn đề khi đóng gói Chawan, nên liên hệ trước khi áp dụng bản vá tạm thời
    • Có khả năng vấn đề có thể được giải quyết ở upstream

Vận hành nhánh và công việc tiếp theo

  • 0.2.0 được gắn phiên bản trong trạng thái đã bao gồm mọi tính năng mong muốn cho MVP và không có lỗi nghiêm trọng nào đã biết
  • Nhánh v0.2 trên git chỉ nhận sửa lỗi
  • Công việc phát triển tính năng mới tiếp tục trên nhánh master
  • Bản phát hành tiếp theo đặt mục tiêu cải thiện hiệu năng và độ chính xác của mô-đun layout, đồng thời làm UI thân thiện hơn với người dùng

1 bình luận

 
GN⁺ 2025-06-17
Ý kiến trên Hacker News
  • Luôn rất vui khi có một cách để không phải dùng thêm một engine Blink khác cho những cuộc “side quest” điều tra ngắn. Dự định sẽ thử sau giờ học ;)
    Nếu chưa ai nhắc đến, có carbonyl, bản port Chromium cho terminal, là một mẹo đặc biệt hay cho các môi trường không có sixel: https://github.com/fathyb/carbonyl
    Tuy nhiên vì tác giả gốc không còn thời gian quay lại chăm chút nên nó vẫn ở trạng thái rất cơ bản, thiếu nhiều tính năng như phím tắt bàn phím hay lưu tệp. Dù vậy, việc mang lại khả năng tương thích web đầy đủ thật sự rất tuyệt, và mong có ai đó biết Rust tiếp quản lại. Khi tôi xem vài tháng trước thì không thấy fork nào có đà phát triển cả

    • Trong bài GitHub về carbonyl, có lẽ vì tác giả gốc là người Palestine nên mọi người liên tục hỏi thăm sức khỏe và sự an toàn của anh ấy
      Mong tác giả vẫn bình an. Tôi muốn nói rằng sản phẩm của anh ấy thật sự rất tốt. Nói chung tôi thật sự ghét chiến tranh
  • @shiomiru
    Tôi tò mò bạn nghĩ tài liệu nào là tốt nhất để học các khái niệm liên quan đến TTY kiểu này. Trả phí hay miễn phí đều được
    Ví dụ tôi biết https://www.linusakesson.net/programming/tty/index.php, nhưng nó không đi đến termcap/terminfo/curses
    Một bình luận có nhắc đến http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Lind..., và cũng thấy có bản online tại https://www.scribd.com/document/831486848/Termcap-and-Termin...

  • Làm thật sự tốt. Tôi định dùng thử cho một phần công việc hằng ngày để xem có thể đi xa đến đâu. Hiển thị HN trông đặc biệt ổn

    • Tốt quá. Đừng quên báo lỗi nếu phát hiện nhé
  • Cực kỳ hay! Việc nó được viết bằng Nim cũng rất thú vị
    Khi chạy cha example.com, tôi không biết dùng các lệnh như hjkl như thế nào. Các phím duy nhất có tác dụng là số, và số được hiển thị ở góc dưới bên trái. Tôi cũng chưa biết dùng chúng để làm gì. Không rõ tôi đã bỏ sót điều hiển nhiên nào trong hướng dẫn sử dụng, hay đây có thể là lỗi
    Tôi build từ source bằng Nim 2.24 trên MacOS Sequoia 15.5 Apple Silicon. Trang tải đúng, nhưng các phím lệnh không hoạt động

    • Tôi đã thử trên Ghostty, iTerm2 và Terminal.app, tất cả đều hoạt động giống nhau
  • Tôi đã biên dịch từ source trên Lenovo M8 thế hệ 4 chạy Termux, và chỉ cần cài Nim. Việc cài đặt diễn ra gọn gàng dù không có người dùng root

  • Tìm hiểu thêm một chút thì có vẻ Chrome và Safari giờ cũng không còn vượt qua hoàn toàn Acid2 và Acid3 nữa

  • Tôi luôn chú ý để website của mình hiển thị đẹp cả trong Links, và giờ có vẻ đã có thêm một ứng viên mới
    Khi hỗ trợ một phần CSS thì ngược lại còn khó hơn một chút. Trước đây links bỏ qua toàn bộ margin và padding, nên có thể dùng việc đó để hiển thị các phần tử danh sách inline như menu gọn gàng hơn, nhưng giờ khoảng cách giữa các phần tử lại trở thành vấn đề

    • Ý định chỉ đơn giản là “nó phải hoạt động”. Tôi biết đôi khi không phải vậy, và có thể xem đó là bug :)
      Dù vậy nếu thật sự cần CSS tùy chỉnh cho hiển thị dạng lưới, chawan hỗ trợ tính năng media grid tiêu chuẩn: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/grid
  • Tôi là người dùng w3m lâu năm. Thử qua thì thấy có thể sẽ thích nó. Rất ổn
    Tôi tò mò việc không có chức năng “mở URL”, tức thanh địa chỉ, có phải là lựa chọn thiết kế có chủ ý không

    • Thanh địa chỉ sẽ mở bằng C-l, tức control + L
  • Tuyệt vời
    Giờ có vẻ không dùng termcap/ncurses nữa, tôi tò mò liệu có đang tự xử lý terminal không

    • Thực ra Chawan chưa từng dùng ncurses, chỉ dùng termcap. Chỉ là ncurses cũng triển khai termcap mà thôi
      Ban đầu tôi bắt đầu với termcap vì đã quen qua w3m. Nhưng termcap là một giao diện cũ, và không thể mô tả truecolor, thuộc tính duy nhất hữu ích trong terminal hiện đại. Ưu điểm của nó chỉ kiểu “biết đâu lại hoạt động trên terminal phần cứng thập niên 80”, nghe thì hay nhưng không đáng để chấp nhận thêm các chế độ lỗi
      Vì vậy thay vì chuyển sang terminfo, tôi đã đổi hẳn sang dựa trên truy vấn terminal, thứ vốn cũng cần vì các lý do khác. Vẫn còn cơ sở dữ liệu terminal tích hợp để phát hiện các giá trị TERM được biết là không tương thích với XTerm. Nhưng nếu terminal trả lời truy vấn đúng, nó sẽ hoạt động ngay cả khi giá trị TERM không được biết đến
  • Tôi há hốc khi thấy HN tải ngay lần đầu trên Termux. Công trình rất tuyệt