1 điểm bởi GN⁺ 19 ngày trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Tailscale đã giới thiệu giao diện dạng cửa sổ mới cho macOS để giải quyết vấn đề biểu tượng trên thanh menu bị che khuất do thiết kế notch của MacBook
  • Ban đầu, hãng dùng biện pháp tạm thời là hiển thị thông báo bật lên khi biểu tượng bị ẩn sau notch, nhưng nay đã chuyển sang UI độc lập hoàn chỉnh
  • Giao diện mới được bật mặc định từ phiên bản 1.96.2 và cung cấp trực quan các tính năng chính như Taildrop, Exit Node, tìm kiếm thiết bị
  • Logic phát hiện biểu tượng bị che khuất trên thanh menu vẫn được giữ lại để ngăn người dùng gặp tình trạng không tìm thấy biểu tượng
  • Thay đổi lần này cải thiện trải nghiệm người dùng macOS và dự kiến sẽ được mở rộng thành UI tương tự cho Windows trong tương lai

Vấn đề notch trên MacBook và giao diện macOS mới của Tailscale

  • Tailscale vốn nên hoạt động gần như vô hình khi kết nối mọi thiết bị của người dùng, nhưng thiết kế notch trên một số mẫu MacBook lại gây ra tình trạng biểu tượng trên thanh menu biến mất
  • Để giải quyết, hai hướng tiếp cận đã được đưa ra: cách thông báo tạm thời và giao diện dạng cửa sổ mới cho macOS
  • Ban đầu, hệ thống dùng cách hiện thông báo cho người dùng khi biểu tượng bị ẩn sau notch; sau đó, một UI độc lập hoàn chỉnh được bổ sung để cải thiện khả năng truy cập và tính năng
  • Giao diện mới được bật mặc định từ phiên bản 1.96.2 và cung cấp trực quan các tính năng chính như Taildrop, Exit Node, tìm kiếm thiết bị
  • Thay đổi này cải thiện trải nghiệm người dùng macOS và sẽ tiếp nối bằng việc phát triển UI tương tự cho Windows trong tương lai

Vấn đề biểu tượng thanh menu do notch gây ra

  • Kể từ MacBook Pro 2021, phần notch xuất hiện ở giữa phía trên màn hình, dẫn đến hiện tượng biểu tượng trên thanh menu bị che bởi khu vực notch
    • Khi có quá nhiều biểu tượng cần hiển thị trên thanh menu, một số biểu tượng sẽ biến mất sau notch và không thể bấm được
    • macOS không cung cấp thông báo, menu tràn, hay chức năng sắp xếp lại biểu tượng cho tình huống này
  • Apple có đưa ra một số giải pháp gián tiếp nhưng chưa trọn vẹn
    • Chuyển các biểu tượng hệ thống vào Control Center, hoặc
    • Điều chỉnh tỷ lệ hiển thị bằng tùy chọn “Scale to fit below camera
  • Các ứng dụng bên thứ ba như ICE, Bartender có thể quản lý biểu tượng thanh menu, nhưng làm tăng thêm độ phức tạp và tiêu tốn tài nguyên
  • Kỹ sư của Tailscale cho biết “khi đăng ký là ứng dụng thanh menu, macOS sẽ tự quyết định vị trí”, nên nhà phát triển không thể kiểm soát được
  • Sau khi notch xuất hiện, đã có người dùng báo rằng “Tailscale không chạy”, nhưng thực tế biểu tượng đang bị ẩn sau notch

Tính năng phát hiện biểu tượng và thông báo cho người dùng

  • Có thể dùng dữ liệu occlusionState của macOS để phát hiện biểu tượng Tailscale có bị che khuất hay không
  • Ngay cả khi biểu tượng bị ẩn, hệ thống vẫn có thể hiển thị thông báo bật lên để cảnh báo người dùng
    • Nội dung thông báo: “Biểu tượng Tailscale đang bị ẩn sau notch. Hãy dọn bớt hoặc xóa các biểu tượng khác.”
  • Cảnh báo này không hoàn hảo và có thể hiển thị sai do chuyển đổi màn hình, đóng mở nắp laptop, kết nối màn hình ngoài
  • Tuy vậy, trong một khoảng thời gian, nó đã giúp giảm bớt vấn đề “không tìm thấy cài đặt Tailscale”

Logic phát hiện notch dựa trên mã Swift

  • Đội ngũ đã triển khai mã Swift để phát hiện khi ứng dụng bị che khuất
    • Theo dõi NSWindow.didChangeOcclusionStateNotification để kiểm tra trạng thái hiển thị của biểu tượng
    • Nếu giá trị occlusionState.contains(.visible)false thì coi như biểu tượng đang bị che
  • Với ứng dụng dạng cửa sổ mới, đoạn mã này không còn cần thiết, nhưng vẫn có thể hoạt động nếu bật tùy chọn ẩn biểu tượng Dock

Giao diện dạng cửa sổ mới cho macOS

  • UI dạng cửa sổ được bật mặc định từ Tailscale phiên bản 1.96.2 có thể chạy song song với ứng dụng thanh menu
    • Có thể mở qua Dock hoặc tìm kiếm Spotlight
    • Cung cấp trực quan các chức năng chính như danh sách thiết bị Tailnet, trạng thái kết nối, truyền tệp (Taildrop), chọn Exit Node
  • Các hạng mục tính năng chính
    • Tìm kiếm thiết bị và hiển thị trạng thái kết nối

    • Ping, sao chép IP, gửi qua Taildrop

    • Exit Node được đề xuất dựa trên độ trễ, hiệu năng và vị trí

    • Thông báo lỗi bằng chấm đỏ trên biểu tượng Dock

    • Chế độ ‘mini player’ thu gọn

      • Cung cấp tour tính năng khi cài đặt hoặc cập nhật
      • Đang thu thập phản hồi người dùng để cải thiện giao diện, đồng thời cũng phát triển UI tương tự cho Windows
      • Tailscale nhấn mạnh định hướng duy trì ‘functional whimsy’ bên cạnh hiệu quả chức năng

1 bình luận

 
Ý kiến trên Hacker News
  • Vấn đề biểu tượng trên thanh menu bị che bởi phần notch thật sự rất vô lý
    Mỗi tuần lại phí vài tiếng để xử lý email từ người dùng than phiền rằng ứng dụng không chạy hoặc không có giao diện
    FAQ cũng không giải quyết được, rồi còn dẫn tới yêu cầu hoàn tiền và cả chargeback, gây thiệt hại không nhỏ
    Gần đây anh trai tôi ra mắt một ứng dụng PiP đơn giản tên là PiPiri, mà trong hai ngày đầu đã có một nửa bị hoàn tiền. Người dùng tưởng ứng dụng không hoạt động chỉ vì có quá nhiều biểu tượng nên không nhìn thấy nó
    Trước đây ứng dụng Bartender từng giúp giảm nhẹ vấn đề này, nhưng do thay đổi internal API trong macOS Tahoe nên giờ hỏng hoàn toàn
    Apple lẽ ra phải xử lý chuyện này tốt hơn

    • Từ góc nhìn của Apple, họ cho rằng các nhà phát triển bên thứ ba đang dùng menu item sai cách
      Ban đầu chỉ Apple mới có thể thêm menu extras, còn các nhà phát triển phải dùng công cụ không chính thức như MenuCracker
      Sau này có API chính thức, nhưng nó chỉ dành cho menu item tạm thời chỉ xuất hiện khi ứng dụng đang chạy
      Vì vậy Apple xem đây không phải lỗi mà là trách nhiệm của nhà phát triển
      Cá nhân tôi nghĩ sẽ tốt hơn nếu họ cung cấp extension cho Control Center để chuyển các biểu tượng cố định sang đó
    • Nếu có quá nhiều biểu tượng thì nên đưa chúng vào menu tràn
      Windows đã giải quyết việc này từ hàng chục năm trước bằng menu tràn của system tray, và trình duyệt cũng có thể ẩn biểu tượng extension
      macOS thì chỉ âm thầm giấu biểu tượng đi, nên người dùng không hề biết có thứ gì đó đang bị che
    • Tôi đang tìm ứng dụng của anh ấy, trước đây tôi từng dùng Helium. Chắc sẽ thử xem sao
    • Tôi tò mò vì sao Apple biết vấn đề này mà vẫn không sửa. Liệu có lý do hợp lý nào không?
    • Những người dùng có quá nhiều biểu tượng có thể tạo ra chi phí hỗ trợ cao, nên có lẽ phải nhìn tỷ lệ nhóm người dùng đó để điều chỉnh giá
  • Mỗi lần mua Mac mới là tôi lại chạy lệnh để giảm khoảng cách giữa các biểu tượng trên thanh menu
    Làm vậy có thể hiển thị nhiều hơn gấp đôi số mục

    defaults -currentHost write -globalDomain NSStatusItemSpacing -int 2
    defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 2
    
    • Câu nói macOS là “cứ thế mà chạy” nghe thật khập khiễng. Cuối cùng vẫn phải cài đủ loại lệnh và ứng dụng mới dùng ổn được
    • Có vẻ trên macOS 26.3 (Tahoe) lệnh này không còn hoạt động nữa. Hình như đã có gì đó thay đổi
    • Tốt hơn nhiều rồi, cảm ơn
    • Tôi cũng muốn biết cách khôi phục về mặc định
  • Tôi không hiểu nổi vì sao Apple đến giờ vẫn chưa sửa chuyện này
    Việc một công ty lớn như Tailscale cũng phải tìm cách lách qua vấn đề này là ví dụ cho thấy Apple quản lý phần mềm yếu kém thế nào

  • Tôi vẫn chưa gặp vì chưa có nhiều biểu tượng, nhưng có thật là biểu tượng cứ thế biến mất ra sau phần notch à?
    Windows XP đã giải quyết vấn đề này từ 25 năm trước rồi, vậy mà macOS vẫn không làm được thì mức độ xuống cấp chất lượng thật nghiêm trọng

    • Tôi đang thực sự gặp vấn đề này. Nhưng cứ phàn nàn là chỉ nhận được câu trả lời “hãy ẩn bớt các biểu tượng không cần thiết”
      Có thể xem thảo luận liên quan ở đây
    • Đúng vậy, nó cứ thế bị ẩn đi mà không có bất kỳ dấu hiệu nào
    • Thật sốc khi Apple không xử lý nổi chuyện cơ bản như thế này
    • Đây không phải trường hợp đặc biệt mà là tình huống hoàn toàn có thể dự đoán trước. Kết quả của thiết kế tồi hoặc sự bất tài
    • Tôi gặp chuyện này khi dùng Rider. Vì tăng cỡ chữ nên menu có quá nhiều mục và che mất các biểu tượng macOS mặc định
      Tôi phải rời khỏi cửa sổ Rider thì mới thấy được các biểu tượng. Xem ảnh chụp màn hình
  • Tôi đang tìm cách hiện đại để truy cập mạng gia đình từ xa

    • Truy cập máy chủ tại nhà
    • Xem TV Mỹ khi ở nước ngoài
    • Người thân không rành công nghệ cũng có thể kết nối dễ dàng
    • Máy chủ Linux tự động kết nối khi khởi động
      Để đáp ứng các yêu cầu này thì có lẽ Tailscale sẽ là mảnh ghép cốt lõi
    • Tôi đang dùng Tailscale trên Unraid NAS và thấy rất ổn. Hostname cũng tự động được gán cho từng container
      Giới hạn free tier vẫn còn dư dả, và tích hợp với Mullvad cũng hoạt động tốt
    • Tailscale làm được tất cả. Chỉ cần đặt một thiết bị ở Mỹ làm Exit Node, rồi cho các thiết bị khác proxy qua đó là xong
    • Tôi thì cứ kết nối trực tiếp bằng WireGuard. Không có lý do gì phải thêm một tầng trung gian
    • Chỉ cần mời gia đình vào Tailnet và cấu hình Exit Node là xong. Thật sự rất đơn giản
    • Tôi đang phân vân không biết có nên tạo tài khoản riêng cho từng thành viên trong gia đình không. Hiện tại tôi để họ đăng nhập bằng tài khoản của tôi, nhưng nếu bị đăng xuất thì lại phải đăng nhập lại giúp họ, khá phiền
  • Tôi gợi ý trình quản lý thanh menu trên MacIce, có thể gom nhiều biểu tượng lại và ẩn chúng đi

    • Tôi đã dùng Hidden nhiều năm nay, đơn giản và hoạt động hoàn hảo
    • Gần đây có một bản fork tên Thaw được cập nhật khá thường xuyên
    • KDE có sẵn tính năng kiểu này theo mặc định
  • Hôm qua tôi cài Tailscale lên một GCP VM và bật route advertisement, ping tới instance thì được nhưng tỷ lệ mất gói lại cao
    SSH tunnel vẫn hoạt động tốt nên có vẻ vấn đề nằm ở phía Tailscale

  • Trong lúc tìm giải pháp thay thế VPN, tôi hỏi ClaudeAI và nhờ đó biết đến Tailscale
    hoạt động ngay lập tức cả trên môi trường Windows cũ, và cấu hình cũng rất đơn giản
    Đây là công cụ hoàn hảo để quản lý máy tính của bố mẹ từ xa

    • Tôi cũng dùng như vậy. Tôi cài Tailscale trên iMac của gia đình dưới dạng system daemon để nó chạy cả trước khi đăng nhập
      Không có GUI nên cũng không sợ người dùng vô tình tắt đi
      Cách cài đặt xem tại wiki chính thức
  • Chỉ cần cài vài ứng dụng như VPN, MDM, lịch, sao lưu trên Mac công ty là lỗi này lộ ra ngay
    Nó không đến mức chí mạng, nhưng thật ngạc nhiên là macOS đến giờ vẫn chưa có menu tràn chính thức

  • Là người dùng Linux, tôi thích ứng dụng GUI, nhưng Tailscale chỉ có CLI nên khá tiếc
    Ngay cả biểu tượng trên khay hệ thống đơn giản cũng phải phụ thuộc vào extension GNOME đầy lỗi
    Tôi hiểu là vì hệ sinh thái phân mảnh, nhưng vẫn hy vọng một ngày nào đó sẽ được cải thiện