From 13ccf375deed9085b5c40012551ada65e27d9608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20H=E1=BB=AFu=20Ch=C3=A1nh?= <56595591+Chanhnh@users.noreply.github.com> Date: Tue, 22 Aug 2023 19:22:09 +0700 Subject: [PATCH 01/23] Add Vietnamese --- assets/locales/common.ftl | 3 +- assets/locales/vi/components.ftl | 20 ++++++++ assets/locales/vi/enhancements.ftl | 68 +++++++++++++++++++++++++ assets/locales/vi/environment.ftl | 7 +++ assets/locales/vi/errors.ftl | 70 ++++++++++++++++++++++++++ assets/locales/vi/first_run.ftl | 69 ++++++++++++++++++++++++++ assets/locales/vi/game.ftl | 7 +++ assets/locales/vi/gamescope.ftl | 13 +++++ assets/locales/vi/general.ftl | 77 +++++++++++++++++++++++++++++ assets/locales/vi/main.ftl | 79 ++++++++++++++++++++++++++++++ assets/locales/vi/sandbox.ftl | 28 +++++++++++ src/i18n.rs | 3 +- 12 files changed, 442 insertions(+), 2 deletions(-) create mode 100644 assets/locales/vi/components.ftl create mode 100644 assets/locales/vi/enhancements.ftl create mode 100644 assets/locales/vi/environment.ftl create mode 100644 assets/locales/vi/errors.ftl create mode 100644 assets/locales/vi/first_run.ftl create mode 100644 assets/locales/vi/game.ftl create mode 100644 assets/locales/vi/gamescope.ftl create mode 100644 assets/locales/vi/general.ftl create mode 100644 assets/locales/vi/main.ftl create mode 100644 assets/locales/vi/sandbox.ftl diff --git a/assets/locales/common.ftl b/assets/locales/common.ftl index 2c4af8b..a459c71 100644 --- a/assets/locales/common.ftl +++ b/assets/locales/common.ftl @@ -27,4 +27,5 @@ ja-jp = 日本語 hu-hu = Magyar sv-se = Svenska pt-br = Português -pl-pl = Polski \ No newline at end of file +pl-pl = Polski +vi-vn = Tiếng Việt diff --git a/assets/locales/vi/components.ftl b/assets/locales/vi/components.ftl new file mode 100644 index 0000000..5de469c --- /dev/null +++ b/assets/locales/vi/components.ftl @@ -0,0 +1,20 @@ +components = Các thành phần +components-description = Quản lý các phiên bản Wine và DXVK + +selected-version = Phiên bản đã chọn +recommended-only = Chỉ được đề xuất + +wine-version = Phiên bản Wine +wine-recommended-description = Chỉ hiển thị các phiên bản Wine được đề xuất + +wine-options = Tùy chọn Wine + +wine-use-shared-libraries = Sử dụng thư viện dùng chung Wine +wine-use-shared-libraries-description = Đặt biến LD_LIBRARY_PATH để tải các thư viện dùng chung từ phiên bản Wine đã chọn + +gstreamer-use-shared-libraries = Sử dụng thư viện dùng chung của GStreamer +gstreamer-use-shared-libraries-description = Đặt biến GST_PLUGIN_PATH để tải các thư viện của GStreamer từ phiên bản Wine đã chọn + +dxvk-version = Phiên bản DXVK +dxvk-selection-disabled = Lựa chọn DXVK bị tắt theo tùy chọn Wine +dxvk-recommended-description = Chỉ hiển thị các phiên bản DXVK được đề xuất diff --git a/assets/locales/vi/enhancements.ftl b/assets/locales/vi/enhancements.ftl new file mode 100644 index 0000000..5781cf3 --- /dev/null +++ b/assets/locales/vi/enhancements.ftl @@ -0,0 +1,68 @@ +game-settings-description = Quản lý cài đặt trong trò chơi và phiên tài khoản +sandbox-settings-description = Chạy trò chơi trong bubblewrap sandbox, tựa như Flatpak làm +environment-settings-description = Chỉ định các biến môi trường và lệnh khởi chạy trò chơi + +wine = Wine + +synchronization = Đồng bộ +wine-sync-description = Công nghệ được sử dụng để đồng bộ hóa các sự kiện Wine + +language = Ngôn ngữ +wine-lang-description = Ngôn ngữ được sử dụng trong môi trường Wine. Có thể khắc phục sự cố bố cục bàn phím +system = Hệ thống + +borderless-window = Cửa sổ không viền +virtual-desktop = Màn hình ảo + +map-drive-c = Ánh xạ ổ C: +map-drive-c-description = Tự động liên kết thư mục drive_c từ tiền tố Wine đến dosdevices + +map-game-folder = Ánh xạ thư mục trò chơi +map-game-folder-description = Tự động liên kết thư mục trò chơi với dosdevices + +game = Trò chơi + +hud = HUD + +fsr = FSR +fsr-description = Nâng dộ phân giải trò chơi theo kích thước màn hình. Để sử dụng, chọn độ phân giải thấp hơn trong cài đặt của trò chơi và nhấn Alt+Enter +ultra-quality = Cực cao +quality = Chất lượng +balanced = Cân bằng +performance = Hiệu suất + +gamemode = Chế độ trò chơi +gamemode-description = Ưu tiên trò chơi hơn các tiến trình khác + +gamescope = Gamescope +gamescope-description = Gamescope là một công cụ của Valve cho phép các trò chơi chạy trong một phiên bản Xwayland bị cô lập và hỗ trợ GPU AMD, Intel và Nvidia +discord-rpc = Discord RPC +discord-rpc-description = Discord RPC giúp Discord biết trò chơi đang chơi để cho bạn bè biết +icon = Biểu tượng +title = Tiêu đề +description = Mô tả + +fps-unlocker = Mở khóa FPS + +enabled = Đã bật +fps-unlocker-description = Xóa giới hạn FPS bằng cách sửa đổi trò chơi. Có thể bị phát hiện bởi hệ thống chống gian lận + +power-saving = Tiết kiệm điện +power-saving-description = Tự động đặt giới hạn FPS thành 10 và mức độ ưu tiên xử lý thấp khi không chơi (ví dụ: ẩn tab) + +monitor = Màn hình +monitor-description = Số lượng màn hình muốn chạy trò chơi trên đó + +window-mode = Chế độ cửa sổ +borderless = Cửa sổ không viền +popup = Popup +fullscreen = Toàn màn hình + +priority = Ưu tiên +priority-description = Mức độ ưu tiên của tiến trình trò chơi +realtime = Thời gian thực +high = Cao +above-normal = Trên mức bình thường +normal = Bình thường +below-normal = Dưới mức bình thường +low = Thấp diff --git a/assets/locales/vi/environment.ftl b/assets/locales/vi/environment.ftl new file mode 100644 index 0000000..2ee7273 --- /dev/null +++ b/assets/locales/vi/environment.ftl @@ -0,0 +1,7 @@ +environment = Môi trường +game-command = Lệnh trò chơi +game-command-description = Lệnh được sử dụng để khởi chạy trò chơi. Lệnh tạm thời %command% được Launcher tự động tạo. Ví dụ: gamemoderun '%command%' +new-variable = Biến mới +name = Tên +value = Giá trị +add = Thêm diff --git a/assets/locales/vi/errors.ftl b/assets/locales/vi/errors.ftl new file mode 100644 index 0000000..eb3e471 --- /dev/null +++ b/assets/locales/vi/errors.ftl @@ -0,0 +1,70 @@ +launcher-folder-opening-error = Không mở được thư mục Launcher +game-folder-opening-error = Không mở được thư mục trò chơi +config-file-opening-error = Không thể mở tệp cấu hình +debug-file-opening-error = Không thể mở tệp gỡ lỗi + +wish-url-search-failed = Không tìm thấy url lịch sử Cầu Nguyện +wish-url-opening-error = Không thể mở url lịch sử Cầu Nguyện + +wine-run-error = Không chạy được tệp thực thi {$executable} bằng Wine + +game-launching-failed = Chạy trò chơi không thành công +failed-get-selected-wine = Không tải được phiên bản Wine đã chọn +downloading-failed = Tải xuống thất bại +unpacking-failed = Giải nén thất bại + +kill-game-process-failed = Không thể tắt tiến trình trò chơi + +game-file-repairing-error = Không thể sửa chữa tệp trò chơi +integrity-files-getting-error = Không thể tải tệp toàn vẹn + +background-downloading-failed = Không thể tải xuống ảnh nền +components-index-sync-failed = Không thể đồng bộ chỉ mục thành phần +components-index-verify-failed = Không thể xác minh chỉ mục thành phần +config-update-error = Không thể lưu cấu hình +wine-prefix-update-failed = Không thể cập nhật tiền tố Wine +dxvk-install-failed = Không thể cài đặt DXVK +voice-package-deletion-error = Không thể xóa giọng nói + +game-diff-finding-error = Không thể tìm thấy game diff +patch-info-fetching-error = Không thể tìm nạp thông tin bản vá +launcher-state-updating-error = Không thể cập nhật trạng thái Launcher + +package-not-available = Gói không khả dụng: {$package} +wine-download-error = Không thể tải xuống Wine +wine-unpack-errror = Không thể giải nén Wine +wine-install-failed = Không thể cài đặt Wine +dxvk-download-error = Không thể tải xuống DXVK +dxvk-unpack-error = Không thể giải nén DXVK +dxvk-apply-error = Không thể áp dụng DXVK + +downloaded-wine-list-failed = Không thể hiển thị các phiên bản Wine đã tải + +patch-sync-failed = Không thể đồng bộ thư mục bản vá +patch-state-check-failed = Không thể kiểm tra trạng thái thư mục bản vá +game-patching-error = Không thể vá trò chơi + +# Update main patch + +main-patch-update-failed = Không thể tải bản vá mới nhất + +# Disable telemetry + +telemetry-servers-disabling-error = Không thể tắt telemetry servers + +# Sandbox + +documentation-url-open-failed = Không thể mở URL tài liệu + +# Game + +game-session-add-failed = Không thể thêm phiên trò chơi +game-session-update-failed = Không thể cập nhật phiên trò chơi +game-session-remove-failed = Không thể xóa phiên trò chơi +game-session-set-current-failed = Không thể đặt phiên trò chơi hiện tại +game-session-apply-failed = Không thể áp dụng phiên trò chơi + +# Enhancements + +discord-rpc-icons-fetch-failed = Không thể tìm nạp Biểu tượng Discord RPC +discord-rpc-icon-download-failed = Không thể tải xuống biểu tượng Discord RPC diff --git a/assets/locales/vi/first_run.ftl b/assets/locales/vi/first_run.ftl new file mode 100644 index 0000000..812193e --- /dev/null +++ b/assets/locales/vi/first_run.ftl @@ -0,0 +1,69 @@ +welcome = Chào mừng + +welcome-page-message = + Chào bạn! Chào mừng đến với Honkers Launcher (thằng dịch chơi Honkai) + + Chúng tôi cần chuẩn bị một số thứ và tải xuống các thành phần mặc định trước khi bạn có thể chạy trò chơi + + +tos-violation-warning = Cảnh báo vi phạm TOS (Điều khoản dịch vụ) + +tos-violation-warning-message = + Launcher này là một công cụ không chính thức, hoàn toàn không liên quan đến {company-name} hay {company-alter-name}. + + Công cụ này được thiết kế để hỗ trợ việc chơi {game-name} trên Linux và được xây dựng với mục đích duy nhất là cài đặt và chạy trò chơi một cách dễ dàng hơn. + + Nó làm được vậy bằng cách sử dụng các thành phần hiện có và làm cho trải nghiệm trở nên đơn giản hơn với người dùng. + + Tuy nhiên, một số thành phần được sử dụng ở đây có khả năng vi phạm TOS của {company-name} dành cho {game-name}. + + Nếu bạn đang sử dụng Launcher này, tài khoản của bạn có thể bị {company-name}/{company-alter-name} xác định là vi phạm TOS. + + Nếu điều này xảy ra, vì tài khoản của bạn sẽ không tuân theo TOS, nên {company-name}/{company-alter-name} được tự do làm những gì họ muốn. Bao gồm cả việc khóa tài khoản + + Nếu bạn hiểu những vấn đề khi thử chơi trò chơi bằng cách không chính thức, hãy nhấn OK để tiếp tục + +tos-dialog-title = Bạn có chắc là bạn hiểu những gì chúng tôi muốn nói không ? +tos-dialog-message = + 1. Không công khai bất kỳ thông tin nào về dự án này + 2. Đừng lạm dụng nó bằng cách sử dụng mod clients, v.v. + 3. Đặt câu hỏi nâng cao trong Discord hoặc Matrix + + +dependencies = Phụ thuộc +missing-dependencies-title = Bạn đang thiếu một số phụ thuộc! +missing-dependencies-message = Bạn phải cài đặt một số gói vào hệ thống của mình trước khi tiếp tục quá trình cài đặt + + +default-paths = Đường dẫn mặc định +choose-default-paths = Chọn đường dẫn mặc định +show-all-folders = Tôi biết mình đang làm gì +show-all-folders-subtitle = Hiển thị cài đặt lựa chọn đường dẫn bổ sung. Làm như tôi chỉ... +runners-folder = Runners folder +dxvks-folder = Thư mục DXVK +wine-prefix-folder = Thư mục tiền tố Wine +global-game-installation-folder = Thư mục cài đặt phiên bản Global +sea-game-installation-folder = Thư mục cài đặt phiên bản Đông Nam Á +chinese-game-installation-folder = Thư mục cài đặt phiên bản Trung Quốc +taiwanese-game-installation-folder = Thư mục cài đặt phiên bản Đài Loan +korean-game-installation-folder = Thư mục cài đặt phiên bản Hàn Quốc +japanese-game-installation-folder = Thư mục cài đặt phiên bản Nhật Bản +fps-unlocker-folder = Thư mục FPS Unlocker +components-index = Chỉ mục thành phần +patch-folder = Thư mục bản vá +temp-folder = Thư mục tạm thời + +migrate = Di chuyển + + +select-voice-packages = Chọn giọng nói + + +download-components = Tải xuống các thành phần +download-dxvk = Tải xuống DXVK +apply-dxvk = Áp dụng DXVK + + +finish = Kết thúc +finish-title = Mọi thứ đã xong! +finish-message = Tất cả các thành phần cơ bản đã được tải xuống. Bây giờ bạn có thể khởi động lại Launcher và tải xuống trò chơi. Chào mừng đến với câu lạc bộ của chúng tôi! diff --git a/assets/locales/vi/game.ftl b/assets/locales/vi/game.ftl new file mode 100644 index 0000000..70c06ef --- /dev/null +++ b/assets/locales/vi/game.ftl @@ -0,0 +1,7 @@ +game-sessions = Phiên trò chơi + +active-sessions = Phiên hoạt động +active-session-description = Phiên trò chơi hiện được chọn. Cập nhật sau mỗi lần chạy trò chơi + +update-session = Cập nhật phiên sử dụng các giá trị sử dụng tiền tố Wine hiện tại +delete-session = Xóa phiên diff --git a/assets/locales/vi/gamescope.ftl b/assets/locales/vi/gamescope.ftl new file mode 100644 index 0000000..6ced83c --- /dev/null +++ b/assets/locales/vi/gamescope.ftl @@ -0,0 +1,13 @@ +game-resolution = Độ phân giải trò chơi +gamescope-resolution = Độ phân giải của gamescope + +upscaling = Nâng độ phận giải + +integer-scaling = Tỉ lệ nâng +integer-scaling-description = Biến mỗi pixel thành một nhóm hình vuông hoặc hình chữ nhật có pixel cùng màu. Ngăn mất độ sắc nét khi mở rộng Full HD thành 4K +gamescope-fsr-description = Một kỹ thuật nâng cấp mã nguồn mở do AMD phát triển +nis-description = Một kỹ thuật nâng cấp mã nguồn mở do Nvidia phát triển dưới dạng một giải pháp thay thế chi phí thấp của nhà cung cấp chéo cho giải pháp DLSS độc quyền của họ, nghĩa là nó hoạt động trên GPU AMD và Intel cũng như GPU Nvidia + +other-settings = Cài đặt khác +framerate-limit = Giới hạn tốc độ khung hình +unfocused-framerate-limit = Giới hạn tốc độ khung hình khi không tập trung diff --git a/assets/locales/vi/general.ftl b/assets/locales/vi/general.ftl new file mode 100644 index 0000000..f4f9a85 --- /dev/null +++ b/assets/locales/vi/general.ftl @@ -0,0 +1,77 @@ +appearance = Ngoại hình +modern = Hiện đại +classic = Cổ điển +update-background = Cập nhật ảnh nền +update-background-description = Tải xuống ảnh nền chính thức cho Launcher. Nhưng bạn cũng có thể tắt nó để sử dụng hình ảnh của mình +launcher-language = Ngôn ngữ Launcher +launcher-language-description = Áp dụng sau khi khởi động lại + +game-edition = Phiên bản trò chơi +global = Global +sea = Đông Nam Á +china = Trung Quốc +taiwan = Đài Loan +korea = Hàn Quốc +japan = Nhật Bản + +game-environment = Môi trường trò chơi +game-environment-description = Nhận các tính năng cụ thể như phương thức thanh toán bổ sung + +game-voiceovers = Giọng nói trò chơi +game-voiceovers-description = Danh sách giọng nói đã tải xuống. Bạn có thể chọn chúng trong cài đặt trò chơi +english = Tiếng Anh +japanese = Tiếng Nhật +korean = Tiếng Hàn +chinese = Tiếng Trung + +migrate-installation = Di chuyển nơi cài đặt +migrate-installation-description = Mở cửa sổ đặc biệt nơi bạn có thể thay đổi thư mục cài đặt trò chơi của mình +repair-game = Sửa chữa + +status = Trạng thái + +game-version = Phiên bản trò chơi +game-not-installed = chưa cài đặt + +game-predownload-available = Tải xuống trước bản cập nhật trò chơi: {$old} -> {$new} +game-update-available = Đã có bản cập nhật trò chơi: {$old} -> {$new} +game-outdated = Trò chơi đã quá lỗi thời và không thể cập nhật. Phiên bản mới nhất: {$latest} + +player-patch-version = Phiên bản vá của người chơi +player-patch-version-description = Bản vá chính cho phép bạn chơi trò chơi trên Linux + +mfplat-patch-version = Bản vá Mfplat +mfplat-patch-version-description = Bản vá bổ sung có thể khắc phục sự cố phát video + +applied = áp dụng +not-applied = không áp dụng + +patch-not-available = không có sẵn +patch-not-available-tooltip = Máy chủ bản vá không thể truy cập + +patch-outdated = lỗi thời ({$current}) +patch-outdated-tooltip = Bản vá lỗi thời: {$current} -> {$latest} + +patch-preparation = chuẩn bị +patch-preparation-tooltip = Bản vá đang được phát triển + +patch-testing-tooltip = Đã có bản vá thử nghiệm +patch-not-applied-tooltip = Bản vá không được áp dụng +patch-broken-tooltip = Bản vá hiện tại bị hỏng và không hoạt động bình thường +patch-unsafe-tooltip = Bản vá hiện tại không an toàn và không nên sử dụng + +apply-mfplat-patch = Áp dụng bản vá mfplat + +ask-superuser-permissions = Hỏi quyền admin +ask-superuser-permissions-description = Launcher sẽ sử dụng chúng để tự động cập nhật tệp máy chủ của bạn, không cần thiết trong phiên bản Flatpak + +launcher-behavior = Hành vi của Launcher +launcher-behavior-description = Cửa sổ Launcher nên làm gì khi bắt đầu trò chơi + +wine-tools = Công cụ Wine +command-line = Dòng lệnh +registry-editor = Chỉnh sửa Registry +explorer = Duyệt thư mục +task-manager = Trình quản lý tác vụ +configuration = Cấu hình +debugger = Trình gỡ lỗi diff --git a/assets/locales/vi/main.ftl b/assets/locales/vi/main.ftl new file mode 100644 index 0000000..c86e395 --- /dev/null +++ b/assets/locales/vi/main.ftl @@ -0,0 +1,79 @@ +custom = Tùy chỉnh +none = Không có +default = Mặc định +details = Chi tiết +options = Tùy chọn + +width = Chiều rộng +height = Chiều cao + +# Menu items + +launcher-folder = Thư mục Launcher +game-folder = Thư mục trò chơi +config-file = Tệp cấu hình +debug-file = Tệp gỡ lỗi +wish-url = Lịch sử Cầu Nguyện +about = Về chúng tôi + + +close = Đóng +hide = Ẩn +nothing = Không có gì +save = Lưu +continue = Tiếp tục +resume = Tạm dừng +exit = Thoát +check = Kiểm tra +restart = Khởi động lại +agree = Đồng ý + + +loading-data = Đang tải dữ liệu +downloading-background-picture = Đang tải ảnh nền xuống +updating-components-index = Đang cập nhật chỉ mục thành phần +loading-game-version = Đang tải phiên bản trò chơi +loading-patch-status = Đang tải trạng thái bản vá +loading-launcher-state = Đang tải trạng thái Launcher +loading-launcher-state--game = Đang tải trạng thái Launcher: xác minh phiên bản trò chơi +loading-launcher-state--voice = Đang tải trạng thái Launcher: xác minh giọng nói {$locale} +loading-launcher-state--patch = Đang tải trạng thái launcher: xác minh bản vá đã cài đặt + + +checking-free-space = Kiểm tra dung lượng trống +downloading = Đang tải xuống +unpacking = Đang giải nén +verifying-files = Đang xác minh tập tin +repairing-files = Sửa chữa tập tin +migrating-folders = Di chuyển thư mục +applying-hdiff = Áp dụng các bản vá lỗi hdiff +removing-outdated = Xóa các tập tin lỗi thời + + +components-index-updated = Chỉ mục thành phần đã được cập nhật + + +launch = Khởi chạy +migrate-folders = Di chuyển các thư mục +migrate-folders-tooltip = Cập nhật cấu trúc thư mục trò chơi +apply-patch = Áp dụng bản vá +disable-telemetry = Vô hiệu hóa telemetry +download-wine = Tải xuống Wine +create-prefix = Tạo tiền tố +update = Cập nhật +download = Tải xuống +predownload-update = Tải xuống trước {$version} cập nhật ({$size}) +download-patch = Tải xuống bản vá + +patch-broken = Bản vá bị hỏng +patch-unsafe = Bản vá không an toàn + +kill-game-process = Buộc đóng tiến trình trò chơi + +main-window--patch-unavailable-tooltip = Máy chủ vá không khả dụng và Launcher không thể xác minh trạng thái vá. Bạn có thể chơi trò chơi nhưng rất không an toàn +main-window--patch-outdated-tooltip = Bản vá đã lỗi thời hoặc đang ở trạng thái chuẩn bị nên không thể sử dụng. Quay lại sau để xem trạng thái +main-window--version-outdated-tooltip = Phiên bản quá lỗi thời và không thể cập nhật + +preferences = Sở thích +general = Tổng quát +enhancements = Cải tiến diff --git a/assets/locales/vi/sandbox.ftl b/assets/locales/vi/sandbox.ftl new file mode 100644 index 0000000..4aacfec --- /dev/null +++ b/assets/locales/vi/sandbox.ftl @@ -0,0 +1,28 @@ +sandbox = Sandbox +sandbox-description = Chạy trò chơi trong môi trường biệt lập, ngăn trò chơi truy cập dữ liệu cá nhân của bạn + +enable-sandboxing = Kích hoạt Sandbox +enable-sandboxing-description = Chạy trò chơi trong bản sao chỉ đọc của hệ thống tập tin root của bạn + +hide-home-directory = Ẩn thư mục home +hide-home-directory-description = Cô lập các thư mục /home, /var/home/$USER và $HOME của bạn khỏi trò chơi + +hostname = Tên máy chủ +additional-arguments = Đối số bổ sung + +private-directories = Các thư mục riêng tư +private-directories-description = Các thư mục này sẽ được thay thế bằng một hệ thống tệp ảo trống (tmpfs) và nội dung ban đầu của chúng sẽ không có sẵn cho Sandbox + +path = Đường dẫn + +shared-directories = Thư mục dùng chung +shared-directories-description = Các thư mục này sẽ được liên kết với các thư mục trong hệ thống máy chủ của bạn + +original-path = Đường dẫn ban đầu +new-path = Đường dẫn mới + +read-only = Chỉ đọc +read-only-description = Chặn trò chơi ghi bất kỳ dữ liệu nào vào thư mục này + +symlinks = Liên kết tượng trưng +symlinks-description = Đường dẫn ban đầu của liên kết đến đường dẫn mới bên trong sandbox diff --git a/src/i18n.rs b/src/i18n.rs index beb3c70..f892166 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -23,7 +23,8 @@ pub const SUPPORTED_LANGUAGES: &[LanguageIdentifier] = &[ langid!("hu-hu"), langid!("sv-se"), langid!("pt-br"), - langid!("pl-pl") + langid!("pl-pl"), + langid!("vi-vn") ]; pub static mut LANG: LanguageIdentifier = langid!("en-us"); From 9a7b486bd07d96dd6b93e1768dfbf239a36b68b3 Mon Sep 17 00:00:00 2001 From: Tiger Soldier Date: Wed, 30 Aug 2023 21:03:15 -0700 Subject: [PATCH 02/23] Update chinese translation --- assets/locales/zh-cn/enhancements.ftl | 10 +++++----- assets/locales/zh-cn/errors.ftl | 2 +- assets/locales/zh-cn/general.ftl | 4 ++-- assets/locales/zh-cn/main.ftl | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/assets/locales/zh-cn/enhancements.ftl b/assets/locales/zh-cn/enhancements.ftl index 23952ec..2beeff5 100644 --- a/assets/locales/zh-cn/enhancements.ftl +++ b/assets/locales/zh-cn/enhancements.ftl @@ -14,11 +14,11 @@ system = 系统 borderless-window = 无边框窗口 virtual-desktop = 虚拟桌面 -map-drive-c = Map drive C: -map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices +map-drive-c = 映射 C 盘 +map-drive-c-description = 自动将 Wine prefix 里的 drive_c 文件夹符号链接至 Wine 的 dosdevices 目录里 -map-game-folder = Map game folder -map-game-folder-description = Automatically symlink game folder to the dosdevices +map-game-folder = 映射游戏文件夹 +map-game-folder-description = 自动将游戏文件夹映射到 Wine 的 dosdevices 目录里 game = 游戏 @@ -39,7 +39,7 @@ gamescope-description = Gamescope 是 Valve 开发的工具,可以让游戏运 discord-rpc = Discord RPC discord-rpc-description = Discord RPC 可以设置 Discord 状态,让你的好友知道你正在玩游戏 -icon = Icon +icon = 图标 title = 标题 description = 描述 diff --git a/assets/locales/zh-cn/errors.ftl b/assets/locales/zh-cn/errors.ftl index b30b660..3ca5807 100644 --- a/assets/locales/zh-cn/errors.ftl +++ b/assets/locales/zh-cn/errors.ftl @@ -13,7 +13,7 @@ failed-get-selected-wine = 选择 Wine 版本失败 downloading-failed = 下载失败 unpacking-failed = 解压缩失败 -kill-game-process-failed = Failed to kill the game's process +kill-game-process-failed = 无法中止游戏进程 game-file-repairing-error = 修复游戏文件失败 integrity-files-getting-error = 获取一致性文件失败 diff --git a/assets/locales/zh-cn/general.ftl b/assets/locales/zh-cn/general.ftl index 57f933f..cab19e3 100644 --- a/assets/locales/zh-cn/general.ftl +++ b/assets/locales/zh-cn/general.ftl @@ -58,8 +58,8 @@ disable-mhypbase-description = 实验性功能。启用此选项后,启动器 ask-superuser-permissions = 请求超级用户权限 ask-superuser-permissions-description = 启动器需要超级用户权限来修改 hosts 文件。Flatpak 版无需此权限 -launcher-behavior = Launcher behavior -launcher-behavior-description = What should launcher window do when it starts the game +launcher-behavior = 启动器行为 +launcher-behavior-description = 设定游戏开始后启动器的行为 wine-tools = Wine 工具 command-line = 命令行 diff --git a/assets/locales/zh-cn/main.ftl b/assets/locales/zh-cn/main.ftl index aac727c..68e928d 100644 --- a/assets/locales/zh-cn/main.ftl +++ b/assets/locales/zh-cn/main.ftl @@ -18,8 +18,8 @@ about = 关于 close = 关闭 -hide = Hide -nothing = Nothing +hide = 隐藏 +nothing = 不变 save = 保存 continue = 继续 resume = 恢复 @@ -64,7 +64,7 @@ update = 更新 download = 下载 predownload-update = 预下载版本更新 {$version} ({$size}) -kill-game-process = Kill game process +kill-game-process = 中止游戏进程 main-window--patch-unavailable-tooltip = 补丁服务器不可用,启动器无法验证游戏补丁状态。你可以运行游戏,但是有出问题的风险 main-window--patch-outdated-tooltip = 补丁版本太旧,新版补丁可能还没制作完成,无法使用。请过段时间再回来查看最新状态 From ccfd34b86dc7aa345aae162238651358f65719d1 Mon Sep 17 00:00:00 2001 From: Caibin Chen Date: Wed, 30 Aug 2023 21:10:38 -0700 Subject: [PATCH 03/23] Update errors.ftl --- assets/locales/zh-cn/errors.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/locales/zh-cn/errors.ftl b/assets/locales/zh-cn/errors.ftl index 3ca5807..19525c5 100644 --- a/assets/locales/zh-cn/errors.ftl +++ b/assets/locales/zh-cn/errors.ftl @@ -13,7 +13,7 @@ failed-get-selected-wine = 选择 Wine 版本失败 downloading-failed = 下载失败 unpacking-failed = 解压缩失败 -kill-game-process-failed = 无法中止游戏进程 +kill-game-process-failed = 中止游戏进程失败 game-file-repairing-error = 修复游戏文件失败 integrity-files-getting-error = 获取一致性文件失败 From 6a60fe941bfec8814ff24845b35b3e2028629a77 Mon Sep 17 00:00:00 2001 From: Ujhhgtg Date: Wed, 6 Sep 2023 18:23:48 +0800 Subject: [PATCH 04/23] translation-zhcn: update components.ftl --- assets/locales/zh-cn/components.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/locales/zh-cn/components.ftl b/assets/locales/zh-cn/components.ftl index 2676440..c89a8e0 100644 --- a/assets/locales/zh-cn/components.ftl +++ b/assets/locales/zh-cn/components.ftl @@ -12,9 +12,9 @@ wine-options = Wine 选项 wine-use-shared-libraries = 使用 Wine 共享库 wine-use-shared-libraries-description = 设置 LD_LIBRARY_PATH 环境变量,从选中的 Wine 版本加载系统库 -gstreamer-use-shared-libraries = 使用 gstreamer 共享库 -gstreamer-use-shared-libraries-description = 设置 GST_PLUGIN_PATH 环境变量,从选中的 Wine 版本加载 gstreamer 库 +gstreamer-use-shared-libraries = 使用 GStreamer 共享库 +gstreamer-use-shared-libraries-description = 设置 GST_PLUGIN_PATH 环境变量,从选中的 Wine 版本加载 GStreamer 库 dxvk-version = DXVK 版本 -dxvk-selection-disabled = 您的葡萄酒组首选项禁用 DXVK 选择 +dxvk-selection-disabled = 您的 Wine 首选项禁用 DXVK 选择 dxvk-recommended-description = 仅显示推荐的 DXVK 版本 From 3d1e19d8b72fb57a9daaa28400bdfbe986be317b Mon Sep 17 00:00:00 2001 From: Ujhhgtg Date: Wed, 6 Sep 2023 18:24:31 +0800 Subject: [PATCH 05/23] translation-zhcn: update errors.ftl --- assets/locales/zh-cn/errors.ftl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/locales/zh-cn/errors.ftl b/assets/locales/zh-cn/errors.ftl index 19525c5..9041442 100644 --- a/assets/locales/zh-cn/errors.ftl +++ b/assets/locales/zh-cn/errors.ftl @@ -6,7 +6,7 @@ debug-file-opening-error = 打开调试文件失败 wish-url-search-failed = 找不到祈愿 URL wish-url-opening-error = 无法转到祈愿 URL -wine-run-error = 使用 wine 运行 {$executable} 失败 +wine-run-error = 使用 Wine 运行 {$executable} 失败 game-launching-failed = 启动游戏失败 failed-get-selected-wine = 选择 Wine 版本失败 @@ -22,7 +22,7 @@ background-downloading-failed = 下载背景图片失败 components-index-sync-failed = 同步组件索引失败 components-index-verify-failed = 验证组件索引失败 config-update-error = 保存配置失败 -wine-prefix-update-failed = 更新 Wine prefix 失败 +wine-prefix-update-failed = 更新 Wine Prefix 失败 dxvk-install-failed = 安装 DXVK 失败 voice-package-deletion-error = 删除语音包失败 @@ -46,7 +46,7 @@ game-patching-error = 应用游戏补丁失败 # Disable telemetry -telemetry-servers-disabling-error = 禁用监测服务器 +telemetry-servers-disabling-error = 监测服务器禁用失败 # Sandbox From 3e57468a3fa5434a7f0da7e645b0e4b51a47a886 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 28 Sep 2023 17:38:17 +0200 Subject: [PATCH 06/23] feat: Added 7z dependency requirement --- src/main.rs | 4 ++-- src/ui/first_run/dependencies.rs | 18 +++++++++++++++--- src/ui/first_run/welcome.rs | 7 ++++++- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index d81100a..eb8b96d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -98,10 +98,10 @@ fn main() -> anyhow::Result<()> { // Run the game let mut run_game = false; - // Forcely run the game + // Force run the game let mut just_run_game = false; - // Forcely disable verbode tracing output in stdout + // Force disable verbose tracing output in stdout let mut no_verbose_tracing = false; let args = std::env::args().collect::>(); diff --git a/src/ui/first_run/dependencies.rs b/src/ui/first_run/dependencies.rs index c51db17..5c4a979 100644 --- a/src/ui/first_run/dependencies.rs +++ b/src/ui/first_run/dependencies.rs @@ -69,7 +69,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo pacman -Syu git xdelta3", + set_text: "sudo pacman -Syu git xdelta3 p7zip", set_editable: false } }, @@ -86,7 +86,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo apt install git xdelta3", + set_text: "sudo apt install git xdelta3 p7zip-full", set_editable: false } }, @@ -103,7 +103,7 @@ impl SimpleAsyncComponent for DependenciesApp { }, gtk::Entry { - set_text: "sudo dnf install git xdelta", + set_text: "sudo dnf install git xdelta p7zip", set_editable: false } } @@ -185,6 +185,18 @@ impl SimpleAsyncComponent for DependenciesApp { } } + // 7z sometimes has different binaries + if !is_available("7z") && !is_available("7za") { + sender.output(Self::Output::Toast { + title: tr!("package-not-available", { + "package" = "7z" + }), + description: None + }); + + return; + } + sender.output(Self::Output::ScrollToDefaultPaths); } diff --git a/src/ui/first_run/welcome.rs b/src/ui/first_run/welcome.rs index 8f4fce0..3bb7e8c 100644 --- a/src/ui/first_run/welcome.rs +++ b/src/ui/first_run/welcome.rs @@ -85,7 +85,12 @@ impl SimpleAsyncComponent for WelcomeApp { match msg { #[allow(unused_must_use)] WelcomeAppMsg::Continue => { - if is_available("git") && is_available("xdelta3") { + let installed = + is_available("git") && + is_available("xdelta3") && + (is_available("7z") || is_available("7za")); + + if installed { sender.output(Self::Output::ScrollToDefaultPaths); } else { sender.output(Self::Output::ScrollToDependencies); From 2186506ddc5dad1b507fb48e23828cc3d6366f14 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 28 Sep 2023 17:52:49 +0200 Subject: [PATCH 07/23] build: Updated SDK This will allow to download segmented zip archives which are used now for initial game installations. --- Cargo.lock | 760 +++++++++++++++++++++++------------------------------ Cargo.toml | 8 +- 2 files changed, 336 insertions(+), 432 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0d8b0dd..97bf87c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ "gimli", ] @@ -29,18 +29,35 @@ dependencies = [ ] [[package]] -name = "aho-corasick" -version = "1.0.2" +name = "ahash" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "anime-game-core" -version = "1.15.0" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.15.0#e34a35e04dd97d8268e47769f82591100b3354ae" +version = "1.16.0" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.16.0#e36867453184dd8ee2ce7eacbbf9e9a1d46c592d" dependencies = [ "anyhow", "bzip2", @@ -88,8 +105,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.11.0" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.0#b858205ca74d3ce930d0d6cd36eb0b9dc749a7a7" +version = "1.11.2" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.2#45b0c6cc9ef907e6be4ee12236bf8b015a0da141" dependencies = [ "anime-game-core", "anyhow", @@ -106,24 +123,23 @@ dependencies = [ [[package]] name = "anstream" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd" +checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" [[package]] name = "anstyle-parse" @@ -145,9 +161,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" dependencies = [ "anstyle", "windows-sys", @@ -155,9 +171,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" dependencies = [ "backtrace", ] @@ -170,9 +186,9 @@ checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" [[package]] name = "ashpd" -version = "0.4.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31688b40eb5d739049f721d8405c33d3796b3f51f2bea84421a542dafe397e41" +checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7" dependencies = [ "async-std", "enumflags2", @@ -192,7 +208,7 @@ version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" dependencies = [ - "event-listener", + "event-listener 2.5.3", "futures-core", ] @@ -203,20 +219,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", "futures-core", ] [[package]] name = "async-executor" -version = "1.5.1" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb" +checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" dependencies = [ "async-lock", "async-task", "concurrent-queue", - "fastrand 1.9.0", + "fastrand 2.0.1", "futures-lite", "slab", ] @@ -270,40 +286,58 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ - "event-listener", + "event-listener 2.5.3", ] [[package]] name = "async-process" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9" +checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d" dependencies = [ "async-io", "async-lock", - "autocfg", + "async-signal", "blocking", "cfg-if", - "event-listener", + "event-listener 3.0.0", "futures-lite", - "rustix 0.37.23", - "signal-hook", + "rustix 0.38.14", "windows-sys", ] [[package]] name = "async-recursion" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", +] + +[[package]] +name = "async-signal" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2" +dependencies = [ + "async-io", + "async-lock", + "atomic-waker", + "cfg-if", + "concurrent-queue", + "futures-core", + "futures-io", + "libc", + "signal-hook-registry", + "slab", + "windows-sys", ] [[package]] @@ -334,26 +368,26 @@ dependencies = [ [[package]] name = "async-task" -version = "4.4.0" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae" +checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" [[package]] name = "async-trait" -version = "0.1.72" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "atomic-waker" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" @@ -363,9 +397,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backtrace" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ "addr2line", "cc", @@ -384,9 +418,9 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" [[package]] name = "base64ct" @@ -402,9 +436,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "block" @@ -423,24 +457,25 @@ dependencies = [ [[package]] name = "blocking" -version = "1.3.1" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65" +checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" dependencies = [ "async-channel", "async-lock", "async-task", - "atomic-waker", - "fastrand 1.9.0", + "fastrand 2.0.1", + "futures-io", "futures-lite", - "log", + "piper", + "tracing", ] [[package]] name = "bstr" -version = "1.6.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6798148dccfbff0fae41c7574d2fa8f1ef3492fba0face179de5d8d447d67b05" +checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" dependencies = [ "memchr", "serde", @@ -448,9 +483,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byteorder" @@ -481,28 +516,25 @@ dependencies = [ [[package]] name = "cached" -version = "0.44.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b195e4fbc4b6862bbd065b991a34750399c119797efff72492f28a5864de8700" +checksum = "8cead8ece0da6b744b2ad8ef9c58a4cdc7ef2921e60a6ddfb9eaaa86839b5fc5" dependencies = [ - "async-trait", + "ahash", "cached_proc_macro", "cached_proc_macro_types", - "futures", - "hashbrown 0.13.2", + "hashbrown", "instant", "once_cell", "thiserror", - "tokio", ] [[package]] name = "cached_proc_macro" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b48814962d2fd604c50d2b9433c2a41a0ab567779ee2c02f7fba6eca1221f082" +checksum = "7da8245dd5f576a41c3b76247b54c15b0e43139ceeb4f732033e15be7c005176" dependencies = [ - "cached_proc_macro_types", "darling", "proc-macro2", "quote", @@ -542,9 +574,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.80" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51f1226cd9da55587234753d1245dd5b132343ea240f26b6a9003d68706141ba" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", "libc", @@ -552,9 +584,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.4" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" +checksum = "03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3" dependencies = [ "smallvec", "target-lexicon", @@ -584,9 +616,9 @@ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" [[package]] name = "concurrent-queue" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" dependencies = [ "crossbeam-utils", ] @@ -631,16 +663,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "crossbeam-channel" -version = "0.5.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - [[package]] name = "crossbeam-deque" version = "0.8.3" @@ -721,9 +743,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" [[package]] name = "derivative" @@ -773,18 +795,18 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "dns-lookup" -version = "2.0.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f332aa79f9e9de741ac013237294ef42ce2e9c6394dc7d766725812f1238812" +checksum = "8d0fa3cd8dc96ada974e126a940d37d4079bbbe6a24aca15b1113c2f362441c5" dependencies = [ "cfg-if", "libc", - "socket2 0.5.3", + "socket2 0.5.4", "windows-sys", ] @@ -810,14 +832,14 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "enumflags2" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2" +checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939" dependencies = [ "enumflags2_derive", "serde", @@ -825,13 +847,13 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" +checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -842,9 +864,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", @@ -867,6 +889,17 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + [[package]] name = "fastrand" version = "1.9.0" @@ -878,9 +911,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "field-offset" @@ -894,21 +927,21 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall", "windows-sys", ] [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", "miniz_oxide", @@ -1108,7 +1141,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -1226,9 +1259,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.27.3" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gio" @@ -1319,9 +1352,9 @@ dependencies = [ [[package]] name = "globset" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006" +checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" dependencies = [ "aho-corasick", "bstr", @@ -1464,17 +1497,15 @@ dependencies = [ "system-deps", ] -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" - [[package]] name = "hashbrown" version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +dependencies = [ + "ahash", + "allocator-api2", +] [[package]] name = "heck" @@ -1484,9 +1515,9 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" [[package]] name = "hermit-abi" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -1505,9 +1536,9 @@ dependencies = [ [[package]] name = "human-panic" -version = "1.1.5" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38a841f87949b0dd751864e769a870be79dc34abcee1cf31d737a61d498b22b6" +checksum = "eb2df2fb4e13fa697d21d93061ebcbbd876f5ef643b48ff59cfab57a726ef140" dependencies = [ "anstream", "anstyle", @@ -1554,12 +1585,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e" dependencies = [ "equivalent", - "hashbrown 0.14.0", + "hashbrown", ] [[package]] @@ -1619,17 +1650,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix 0.38.5", - "windows-sys", -] - [[package]] name = "is-wsl" version = "0.4.0" @@ -1720,9 +1740,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.147" +version = "0.2.148" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" [[package]] name = "linux-raw-sys" @@ -1732,9 +1752,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" +checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" [[package]] name = "lock_api" @@ -1748,9 +1768,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" dependencies = [ "value-bag", ] @@ -1777,28 +1797,29 @@ dependencies = [ [[package]] name = "md-5" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" dependencies = [ + "cfg-if", "digest", "md5-asm", ] [[package]] name = "md5-asm" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b9a6f25ec11ea27e22d7fc8beafda909da44ece95f63e94f1eeb23d19bb5c7" +checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c" dependencies = [ "cc", ] [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" [[package]] name = "memoffset" @@ -1829,18 +1850,18 @@ dependencies = [ [[package]] name = "minreq" -version = "2.8.1" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3de406eeb24aba36ed3829532fa01649129677186b44a49debec0ec574ca7da7" +checksum = "731ff3277257ac76a410e8e2e2465afb7a5e6a1d13bb68d306d97bf96605546c" dependencies = [ "base64 0.12.3", "log", "once_cell", "rustls", "rustls-native-certs", + "rustls-webpki", "serde", "serde_json", - "webpki", "webpki-roots", ] @@ -1855,15 +1876,14 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.2" +version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" dependencies = [ "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", - "static_assertions", ] [[package]] @@ -1887,9 +1907,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -1956,9 +1976,9 @@ dependencies = [ [[package]] name = "object" -version = "0.31.1" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] @@ -2041,32 +2061,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.3.5", - "smallvec", - "windows-targets 0.48.1", -] +checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" [[package]] name = "password-hash" @@ -2105,29 +2102,29 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2135,6 +2132,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.27" @@ -2211,18 +2219,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -2265,9 +2273,9 @@ checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" [[package]] name = "rayon" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -2275,23 +2283,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "num_cpus", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", ] [[package]] @@ -2305,9 +2302,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.1" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" dependencies = [ "aho-corasick", "memchr", @@ -2317,9 +2314,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.4" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" +checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" dependencies = [ "aho-corasick", "memchr", @@ -2328,15 +2325,15 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "relm4" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c80ef6bb7a142b6aaa01b96961c33127fffcda4741eb0ad82f07e18c9186681d" +checksum = "0c16f3fad883034773b7f5af4d7e865532b8f3641e5a8bab2a34561a8d960d81" dependencies = [ "async-trait", "flume", @@ -2352,20 +2349,20 @@ dependencies = [ [[package]] name = "relm4-macros" -version = "0.6.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "848a6e1b4954b7aa8155d4a234516d46ed543a614666adc1ea73a922bc841e2a" +checksum = "9340e2553c0a184a80a0bfa1dcf73c47f3d48933aa6be90724b202f9fbd24735" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "rfd" -version = "0.11.4" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fe664af397d2b6a13a8ba1d172a2b5c87c6c5149039edbf8fa122b98c9ed96f" +checksum = "241a0deb168c88050d872294f7b3106c1dfa8740942bcc97bc91b98e97b5c501" dependencies = [ "ashpd", "async-io", @@ -2383,7 +2380,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows", + "windows-sys", ] [[package]] @@ -2438,27 +2435,27 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.5" +version = "0.38.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a1655aa917ce9c3d8d4b85dc60766f7294d811c0f3d2a7582471dbaece54874" +checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.0", "errno", "libc", - "linux-raw-sys 0.4.5", + "linux-raw-sys 0.4.7", "windows-sys", ] [[package]] name = "rustls" -version = "0.20.8" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", + "rustls-webpki", "sct", - "webpki", ] [[package]] @@ -2479,7 +2476,17 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.2", + "base64 0.21.4", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +dependencies = [ + "ring", + "untrusted", ] [[package]] @@ -2553,35 +2560,35 @@ checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af" [[package]] name = "semver" -version = "1.0.18" +version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" +checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" [[package]] name = "serde" -version = "1.0.180" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ea67f183f058fe88a4e3ec6e2788e003840893b91bac4559cabedd00863b3ed" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.180" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e744d7782b686ab3b73267ef05697159cc0e5abbed3f47f9933165e5219036" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] name = "serde_json" -version = "1.0.104" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" dependencies = [ "itoa", "ryu", @@ -2596,7 +2603,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -2610,9 +2617,9 @@ dependencies = [ [[package]] name = "sha1" -version = "0.10.5" +version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", "cpufeatures", @@ -2621,9 +2628,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", @@ -2632,23 +2639,13 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +checksum = "c1b21f559e07218024e7e9f90f96f601825397de0e25420135f7f952453fed0b" dependencies = [ "lazy_static", ] -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - [[package]] name = "signal-hook-registry" version = "1.4.1" @@ -2660,18 +2657,18 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "smallvec" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" [[package]] name = "snafu" @@ -2707,9 +2704,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" dependencies = [ "libc", "windows-sys", @@ -2761,9 +2758,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" dependencies = [ "proc-macro2", "quote", @@ -2772,9 +2769,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.29.7" +version = "0.29.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "165d6d8539689e3d3bc8b98ac59541e1f21c7de7c85d60dc80e43ae0ed2113db" +checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2800,9 +2797,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96" +checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" dependencies = [ "filetime", "libc", @@ -2817,35 +2814,35 @@ checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "tempfile" -version = "3.7.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if", - "fastrand 2.0.0", - "redox_syscall 0.3.5", - "rustix 0.38.5", + "fastrand 2.0.1", + "redox_syscall", + "rustix 0.38.14", "windows-sys", ] [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -2860,9 +2857,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.24" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b" +checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" dependencies = [ "deranged", "serde", @@ -2871,15 +2868,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "tinystr" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ac3f5b6856e931e15e07b478e98c8045239829a65f9156d4fa7e7788197a5ef" +checksum = "b07bb54ef1f8ff27564b08b861144d3b8d40263efe07684f64987f4c0d044e3e" dependencies = [ "displaydoc", ] @@ -2901,34 +2898,20 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" dependencies = [ - "autocfg", "backtrace", "num_cpus", - "parking_lot", "pin-project-lite", - "tokio-macros", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.28", ] [[package]] name = "toml" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" dependencies = [ "serde", "serde_spanned", @@ -2947,9 +2930,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.14" +version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ "indexmap", "serde", @@ -2978,7 +2961,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", ] [[package]] @@ -3027,9 +3010,9 @@ dependencies = [ [[package]] name = "typenum" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "uds_windows" @@ -3092,9 +3075,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "unicode-normalization" @@ -3113,9 +3096,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -3179,15 +3162,15 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "waker-fn" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -3220,7 +3203,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", "wasm-bindgen-shared", ] @@ -3254,7 +3237,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.37", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3275,24 +3258,11 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" -dependencies = [ - "webpki", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "whatadistro" @@ -3318,9 +3288,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" dependencies = [ "winapi", ] @@ -3341,152 +3311,86 @@ dependencies = [ "minreq", ] -[[package]] -name = "windows" -version = "0.44.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" -dependencies = [ - "windows-targets 0.42.2", -] - [[package]] name = "windows-sys" version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets", ] [[package]] name = "windows-targets" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_i686_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_x86_64_gnu" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_msvc" -version = "0.42.2" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.3" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46aab759304e4d7b2075a9aecba26228bb073ee8c50db796b2c72c676b5d807" +checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" dependencies = [ "memchr", ] [[package]] name = "xattr" -version = "0.2.3" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" dependencies = [ "libc", ] @@ -3538,7 +3442,7 @@ dependencies = [ "byteorder", "derivative", "enumflags2", - "event-listener", + "event-listener 2.5.3", "futures-core", "futures-sink", "futures-util", diff --git a/Cargo.toml b/Cargo.toml index 9d26f76..c3c2109 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.18" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.11.0" +tag = "1.11.2" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only @@ -29,14 +29,14 @@ relm4 = { version = "0.6.0", features = ["macros", "libadwaita"] } gtk = { package = "gtk4", version = "0.6", features = ["v4_8"] } adw = { package = "libadwaita", version = "0.4", features = ["v1_2"] } -rfd = { version = "0.11", features = ["xdg-portal"], default-features = false } +rfd = { version = "0.12.0", features = ["xdg-portal"], default-features = false } open = "5.0.0" whatadistro = "0.1.0" serde_json = "1.0" anyhow = "1.0" lazy_static = "1.4.0" -cached = { version = "0.44", features = ["proc_macro"] } +cached = { version = "0.46", features = ["proc_macro"] } md-5 = { version = "0.10", features = ["asm"] } tracing = "0.1" @@ -45,4 +45,4 @@ tracing-subscriber = "0.3" fluent-templates = "0.8" unic-langid = "0.9" -human-panic = "1.1.5" +human-panic = "1.2.0" From 17af5c1058f0f5924bdd48a56603017b9836cf97 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 28 Sep 2023 18:10:05 +0200 Subject: [PATCH 08/23] docs: updated changelog --- CHANGELOG.md | 12 +++++++++++- src/ui/about.rs | 31 ++++++------------------------- 2 files changed, 17 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ff71e5..12998a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- Added Vietnamese +- Added support for segmented zip archives (fixed initial game downloading) + +### Changed + +- Updated Chinese + ## [3.9.0] - 20.08.2023 ### Added @@ -400,7 +409,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
-[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.0...next +[unreleased]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.1...next +[3.9.1]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.9.0...3.9.1 [3.9.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.8.0...3.9.0 [3.8.0]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.7.6...3.8.0 [3.7.6]: https://github.com/an-anime-team/an-anime-game-launcher/compare/3.7.5...3.7.6 diff --git a/src/ui/about.rs b/src/ui/about.rs index 8f4f1f4..e7b0b2d 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -74,7 +74,8 @@ impl SimpleComponent for AboutDialog { // Hungarian? "Svenska — Jakob Fridesjö https://github.com/jakobfridesjo", "Português — @kafushy", - "Polski — Dominik Opyd https://github.com/oritwoen" + "Polski — Dominik Opyd https://github.com/oritwoen", + "Tiếng Việt — Nguyễn Hữu Chánh https://github.com/Chanhnh" ].join("\n"), set_debug_info: &[ @@ -92,35 +93,15 @@ impl SimpleComponent for AboutDialog { "

Added

", "
    ", - "
  • Added feature to map wine drives
  • ", - "
  • Added `%launch_args%` magic word for game launching command
  • ", - "
  • Added 4.0.0 voiceovers sizes
  • ", - "
  • Added `--session ` flag to switch active session
  • ", - "
  • Added Portuguese
  • ", - "
  • Added Polish
  • ", - "
", - - "

Fixed

", - - "
    ", - "
  • Fixed logo size in the first run window
  • ", + "
  • Added Vietnamese
  • ", + "
  • Added support for segmented zip archives (fixed initial game downloading)
  • ", "
", "

Changed

", "
    ", - "
  • Updated Turkish
  • ", - "
  • Updated Italian
  • ", - "
  • Updated Japanese
  • ", - "
  • Updated Swedish
  • ", - "
  • Improved files migration code
  • ", - "
", - - "

Removed

", - - "
    ", - "
  • Removed patch integration
  • ", - "
", + "
  • Updated Chinese
  • ", + "" ].join("\n"), set_modal: true, From 5659208f7f1e2d4d4e265fb69ecfc1214fe5fab0 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Thu, 28 Sep 2023 18:21:06 +0200 Subject: [PATCH 09/23] v3.9.1 --- CHANGELOG.md | 2 +- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12998a9..aa4041a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [3.9.1] - 28.09.2023 ### Added diff --git a/Cargo.lock b/Cargo.lock index 97bf87c..d64512b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -81,7 +81,7 @@ dependencies = [ [[package]] name = "anime-game-launcher" -version = "3.9.0" +version = "3.9.1" dependencies = [ "anime-launcher-sdk", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index c3c2109..fe1f571 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "anime-game-launcher" -version = "3.9.0" +version = "3.9.1" description = "Anime Game launcher" authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/an-anime-game-launcher" From 2926a71f04a56e613e86083ae7c67a6a63260ac5 Mon Sep 17 00:00:00 2001 From: project-dy Date: Fri, 6 Oct 2023 19:59:22 +0900 Subject: [PATCH 10/23] Korean Translation --- assets/locales/ko/components.ftl | 20 ++++++++ assets/locales/ko/enhancements.ftl | 69 +++++++++++++++++++++++++++ assets/locales/ko/environment.ftl | 7 +++ assets/locales/ko/errors.ftl | 66 ++++++++++++++++++++++++++ assets/locales/ko/first_run.ftl | 65 ++++++++++++++++++++++++++ assets/locales/ko/game.ftl | 7 +++ assets/locales/ko/gamescope.ftl | 13 ++++++ assets/locales/ko/general.ftl | 70 ++++++++++++++++++++++++++++ assets/locales/ko/main.ftl | 75 ++++++++++++++++++++++++++++++ assets/locales/ko/sandbox.ftl | 28 +++++++++++ src/i18n.rs | 1 + 11 files changed, 421 insertions(+) create mode 100644 assets/locales/ko/components.ftl create mode 100644 assets/locales/ko/enhancements.ftl create mode 100644 assets/locales/ko/environment.ftl create mode 100644 assets/locales/ko/errors.ftl create mode 100644 assets/locales/ko/first_run.ftl create mode 100644 assets/locales/ko/game.ftl create mode 100644 assets/locales/ko/gamescope.ftl create mode 100644 assets/locales/ko/general.ftl create mode 100644 assets/locales/ko/main.ftl create mode 100644 assets/locales/ko/sandbox.ftl diff --git a/assets/locales/ko/components.ftl b/assets/locales/ko/components.ftl new file mode 100644 index 0000000..0c56707 --- /dev/null +++ b/assets/locales/ko/components.ftl @@ -0,0 +1,20 @@ +components = 컴포넌트 +components-description = Wine과 DXVK 버전 관리 + +selected-version = 선택된 버전 +recommended-only = 권장 전용 + +wine-version = Wine 버전 +wine-recommended-description = 권장되는 Wine 버전만 표시 + +wine-options = Wine 설정 + +wine-use-shared-libraries = Wine 공유 라이브러리 사용 +wine-use-shared-libraries-description = 선택한 Wine 빌드에서 시스템 라이브러리를 로드하도록 LD_LIBRARY_PATH 변수를 설정합니다 + +gstreamer-use-shared-libraries = GStreamer 공유 라이브러리 사용 +gstreamer-use-shared-libraries-description = 선택한 Wine 빌드에서 GST_PLUGIN_PATH 변수에 설정된 GStreamer 라이브러리를 로드하도록 설정합니다 + +dxvk-version = DXVK 버전 +dxvk-selection-disabled = Wine 그룹 기본 설정에 따라 DXVK 선택이 비활성화되어 있습니다 +dxvk-recommended-description = 권장되는 DXVK 버전만 표시 diff --git a/assets/locales/ko/enhancements.ftl b/assets/locales/ko/enhancements.ftl new file mode 100644 index 0000000..8cc6026 --- /dev/null +++ b/assets/locales/ko/enhancements.ftl @@ -0,0 +1,69 @@ +game-settings-description = 게임 내 설정 및 계정 세션 관리 +sandbox-settings-description = Flatpak과 유사한 Bubblewrap 샌드박스에서 게임을 실행합니다 +environment-settings-description = 환경 변수 및 게임 실행 명령 지정 + +wine = Wine + +synchronization = 동기화 +wine-sync-description = 와인 내부 이벤트를 동기화하는 데 사용되는 기술 + +language = 언어 +wine-lang-description = 와인 환경에서 사용되는 언어 입니다. 키보드 레이아웃 문제를 해결 할 수도 있습니다 +system = 시스템 + +borderless-window = 테두리 없는 창 +virtual-desktop = 가상 데스크톱 + +map-drive-c = Map drive C: +map-drive-c-description = 자동적으로 와인 구성에서 drive_c폴더를 dosdevices로 심볼릭 링크합니다 + +map-game-folder = Map game folder +map-game-folder-description = 게임 폴더를 dosdevices에 자동으로 심볼릭 링크합니다 + +game = 게임 + +hud = HUD + +fsr = FSR +fsr-description = 게임을 모니터 크기에 맞게 업스케일링 합니다. 사용하려면 게임 설정에서 더 낮은 해상도를 선택하고 Alt+Enter를 누릅니다 +ultra-quality = 울트라 퀄리티 +quality = 퀄리티 +balanced = 벨런스 +performance = 성능 + +gamemode = 게임모드 +gamemode-description = 프로세스중 게임이 가지는 우선순위 설정 + +gamescope = Gamescope +gamescope-description = Gamescope는 게임을 격리된 Xwayland 인스턴스에서 실행할 수 있게 해주는 Valve의 도구로, AMD, Intel, Nvidia GPU를 지원합니다 + +discord-rpc = Discord RPC +discord-rpc-description = Discord RPC를 사용하면 현재 게임을 플레이하고 있는 정보를 Discord에 제공하여 친구에게 알릴 수 있습니다 +icon = 아이콘 +title = 타이틀 +description = 설명 + +fps-unlocker = FPS Unlocker + +enabled = Enabled +fps-unlocker-description = 게임 메모리를 수정하여 프레임 렌더링 제한을 제거합니다. 안티 치트에 의해 감지 될 수 있습니다 + +power-saving = 절전 +power-saving-description = 게임에 집중하지 않을 때(예: 탭아웃) 자동으로 FPS 제한을 10으로 설정하고 프로세스 우선순위를 낮춥니다 + +monitor = 모니터 +monitor-description = 게임을 실행하고자 하는 모니터의 수 + +window-mode = 창 모드 +borderless = 테두리 없는 창 모드 +popup = 팝업 +fullscreen = 전체 화면 + +priority = 우선 순위 +priority-description = 게임 프로세스 우선 순위 +realtime = 실시간 +high = 높음 +above-normal = 보통 이상 +normal = 보통 +below-normal = 보통 이하 +low = 낮음 diff --git a/assets/locales/ko/environment.ftl b/assets/locales/ko/environment.ftl new file mode 100644 index 0000000..5526519 --- /dev/null +++ b/assets/locales/ko/environment.ftl @@ -0,0 +1,7 @@ +environment = 환경 +game-command = 게임 명령어 +game-command-description = 게임을 실행하는 데 사용되는 명령입니다. %command%는 런처에서 자동으로 생성된 값을 불러 오도록 합니다. 에: gamemoderun '%command%' +new-variable = 새 변수 +name = 이름 +value = 값 +add = 추가 diff --git a/assets/locales/ko/errors.ftl b/assets/locales/ko/errors.ftl new file mode 100644 index 0000000..61e1f66 --- /dev/null +++ b/assets/locales/ko/errors.ftl @@ -0,0 +1,66 @@ +launcher-folder-opening-error = 런처 폴더를 열지 못했습니다 +game-folder-opening-error = 게임 폴더를 열지 못했습니다 +config-file-opening-error = 구성 파일을 열지 못했습니다 +debug-file-opening-error = 디버그 파일을 열지 못했습니다 + +wish-url-search-failed = Wishes URL을 찾지 못했습니다 +wish-url-opening-error = Wishes URL을 열지 못했습니다 + +wine-run-error = Wine을 사용하여 {$executable} 실행 파일을 실행하지 못했습니다 + +game-launching-failed = 게임을 실행하지 못했습니다 +failed-get-selected-wine = 선택한 Wine 버전을 가져오는 데 실패했습니다 +downloading-failed = 다운로드 실패 +unpacking-failed = 압축 해제 실패 + +kill-game-process-failed = 게임 프로세스를 종료하지 못했습니다 + +game-file-repairing-error = 게임 파일 복구에 실패했습니다 +integrity-files-getting-error = 무결성 검증 파일을 가져오지 못했습니다 + +background-downloading-failed = 배경 화면을 다운로드하지 못했습니다 +components-index-sync-failed = 구성 요소 인덱스를 동기화하지 못했습니다 +components-index-verify-failed = 컴포넌트 인덱스를 확인하지 못했습니다 +config-update-error = 구성 저장에 실패했습니다 +wine-prefix-update-failed = Wine 접두사를 업데이트하지 못했습니다 +dxvk-install-failed = DXVK를 설치하지 못했습니다 +voice-package-deletion-error = 음성 패키지를 삭제하지 못했습니다 + +game-diff-finding-error = 게임의 변경사항을 찾지 못했습니다 +patch-info-fetching-error = 패치 정보를 가져오지 못했습니다 +launcher-state-updating-error = 런처 상태를 업데이트하지 못했습니다 + +package-not-available = 패키지 {$package}를 사용할 수 없습니다 +wine-download-error = Wine을 다운로드하지 못했습니다 +wine-unpack-errror = Wine 압축을 풀지 못했습니다 +wine-install-failed = Wine을 설치하지 못했습니다 +dxvk-download-error = DXVK를 다운로드하지 못했습니다 +dxvk-unpack-error = DXVK 압축 해제를 실패했습니다 +dxvk-apply-error = DXVK를 적용하지 못했습니다 + +downloaded-wine-list-failed = 다운로드한 Wine 버전을 나열하지 못했습니다 + +patch-sync-failed = 패치 폴더 동기화에 실패했습니다 +patch-state-check-failed = 패치 폴더 상태 확인에 실패했습니다 +game-patching-error = 게임 패치에 실패했습니다 + +# Disable telemetry + +telemetry-servers-disabling-error = Telemetry 서버를 비활성화하지 못했습니다 + +# Sandbox + +documentation-url-open-failed = 문서 URL을 열지 못했습니다 + +# Game + +game-session-add-failed = 게임 세션 추가에 실패했습니다 +game-session-update-failed = 게임 세션 업데이트에 실패했습니다 +game-session-remove-failed = 게임 세션을 제거하지 못했습니다 +game-session-set-current-failed = 현재 게임 세션을 설정하지 못했습니다 +game-session-apply-failed = 게임 세션 적용에 실패했습니다 + +# Enhancements + +discord-rpc-icons-fetch-failed = Discord RPC 아이콘을 가져오는 데 실패했습니다 +discord-rpc-icon-download-failed = Discord RPC 아이콘 다운로드를 실패했습니다 diff --git a/assets/locales/ko/first_run.ftl b/assets/locales/ko/first_run.ftl new file mode 100644 index 0000000..e29cc6d --- /dev/null +++ b/assets/locales/ko/first_run.ftl @@ -0,0 +1,65 @@ +welcome = 환영합니다 + +welcome-page-message = + 안녕하세요! An Anime Game Launcher에 오신 것을 환영합니다 + + 게임을 실행하기 전에 몇 가지 사항을 준비하고 기본 구성 요소를 다운로드해야 합니다 + + +tos-violation-warning = ToS 위반 경고 + +tos-violation-warning-message = + 이 런처는 {company-name} 또는 {company-alter-name}과 전혀 관련이 없는 비공식 도구입니다 + + 이 도구는 Linux에서 {game-name}을 쉽게 플레이할 수 있도록 설계되었으며, 번거로움을 덜고 게임을 설치 및 실행하기 위한 목적으로 제작되었습니다 + + 이는 기존 구성 요소를 사용하고 사용자 경험을 단순화하여 이를 구현됩니다 + + 그러나 여기에 사용된 일부 구성 요소는 {company-name}의 {game-name} 서비스 약관을 위반할 수 있습니다 + + 이 런처를 사용하는 경우, 플레이어 계정이 {company-name}/{company-alter-name}에 의해 TOS를 준수하지 않는 것으로 식별될 수 있습니다 + + 이 경우 계정이 TOS를 위반하는 것이므로 {company-name}/{company-alter-name}은 원하는 대로 자유롭게 조치를 취할 수 있습니다. 물론 차단도 포함됩니다 + + 비공식적인 자격으로 게임을 플레이하는 것에 대한 위험을 이해했다면 확인을 눌러 계속합니다 + +tos-dialog-title = 저희가 하고자 하는 말을 이해하셨나요? +tos-dialog-message = + 1. 이 프로젝트에 대한 정보를 게시하지 마세요. + 2. 일부 수정된 클라이언트를 사용하여 남용하지 마세요. + 3. 저희의 디스코드 또는 매트릭스 서버에서 예외적으로 질문이 허용됩니다. + + +dependencies = 의존성 +missing-dependencies-title = 일부 의존성이 누락되었습니다! +missing-dependencies-message = 설치 작업을 계속하기 전에 시스템에 일부 패키지를 설치해야 합니다 + + +default-paths = 기본 경로 +choose-default-paths = 기본 경로 선택 +show-all-folders = 고급 설정 +show-all-folders-subtitle = 추가 경로 선택 설정 표시. 원하는대로... +runners-folder = 실행 폴더 +dxvks-folder = DXVK 폴더 +wine-prefix-folder = Wine 폴더 +global-game-installation-folder = 글로벌 게임 설치 폴더 +chinese-game-installation-folder = 중국어 게임 설치 폴더 +fps-unlocker-folder = FPS 잠금 해제 폴더 +components-index = 구성 요소 색인 +patch-folder = 패치 폴더 +temp-folder = 임시 폴더 + +migrate = 마이그레이션 + + +select-voice-packages = 음성 패키지 선택 + + +download-components = 구성 요소 다운로드 +download-dxvk = DXVK 다운로드 +apply-dxvk = DXVK 적용 + + +finish = 완료 +finish-title = 모든 작업이 완료되었습니다! +finish-message = 모든 기본 구성 요소가 다운로드되었습니다. 이제 런처를 다시 시작하고 게임을 다운로드할 수 있습니다. 저희 소프트웨어에 오신 것을 환영합니다! diff --git a/assets/locales/ko/game.ftl b/assets/locales/ko/game.ftl new file mode 100644 index 0000000..0d41886 --- /dev/null +++ b/assets/locales/ko/game.ftl @@ -0,0 +1,7 @@ +game-sessions = 게임 세션 + +active-sessions = 활성 세션 +active-session-description = 현재 이 게임 세션이 선택되어 있습니다. 각 게임 실행 후 업데이트가 가능합니다 + +update-session = 현재 Wine 접두사 레지스트리 값을 사용하여 세션을 업데이트합니다 +delete-session = 세션 삭제 diff --git a/assets/locales/ko/gamescope.ftl b/assets/locales/ko/gamescope.ftl new file mode 100644 index 0000000..fbe9709 --- /dev/null +++ b/assets/locales/ko/gamescope.ftl @@ -0,0 +1,13 @@ +game-resolution = 게임 해상도 +gamescope-resolution = 게임 범위 해상도 + +upscaling = 업스케일링 + +integer-scaling = 정수 스케일링 +integer-scaling-description = 각 픽셀을 정수로 구성된 정사각형 또는 직사각형의 동일한 색상 픽셀 그룹으로 변환합니다. Full HD에서 4K로 업스케일링할 때 선명도 손실을 방지합니다 +gamescope-fsr-description = 더 나은 업스케일링 품질을 위해 AMD에서 개발한 오픈 소스 업스케일링 기술입니다 +nis-description = Nvidia가 독점 DLSS 솔루션에 대한 낮은 오버헤드 대안으로 공급업체 간, 낮은 오버헤드로 개발한 오픈 소스 업스케일링 기술입니다. 즉, Nvidia GPU는 물론 AMD 및 Intel GPU에서도 작동합니다 + +other-settings = 기타 설정 +framerate-limit = 프레임 속도 제한 +unfocused-framerate-limit = 초점이 맞지 않는 프레임 속도 제한 diff --git a/assets/locales/ko/general.ftl b/assets/locales/ko/general.ftl new file mode 100644 index 0000000..c1ef034 --- /dev/null +++ b/assets/locales/ko/general.ftl @@ -0,0 +1,70 @@ +appearance = 모양 +modern = 모던 +classic = 클래식 +update-background = 배경 화면 변경 +update-background-description = 런처용 공식 배경 화면을 다운로드합니다. 대신 사용자 지정 이미지를 사용하도록 비활성화할 수 있습니다 + +launcher-language = 런처 언어 +launcher-language-description = 런처 재시작 후 적용됩니다 + +game-edition = 게임 에디션 +global = 글로벌 +china = 중국 + +game-environment = 게임 환경 +game-environment-description = 추가 결제와 같은 특정 기능 얻기 + +game-voiceovers = 게임 보이스오버 +game-voiceovers-description = 다운로드한 게임 보이스오버 목록을 표시합니다. 게임 설정에서 선택할 수 있습니다 +english = 영어 +japanese = 일본어 +korean = 한국어 +chinese = 중국어 + +migrate-installation = 설치 마이그레이션 +migrate-installation-description = 게임 설치 폴더를 변경할 수 있는 특수 창 열기 +repair-game = 게임 복구 + +status = 상태 + +game-version = 게임 버전 +game-not-installed = 설치되지 않음 + +game-predownload-available = 게임 업데이트 사전 다운로드 가능: {$old} -> {$new} +game-update-available = 게임 업데이트 사용 가능: {$old} -> {$new} +game-outdated = 게임이 너무 오래되어 업데이트할 수 없습니다. 최신 버전: {$latest} + +player-patch-version = 플레이어 패치 버전 +player-patch-version-description = Linux에서 게임을 플레이할 수 있는 메인 패치입니다 + +patch-not-available = 사용할 수 없음 +patch-not-available-tooltip = 패치 서버에 연결할 수 없음 + +patch-outdated = 오래된 패치({$current}) +patch-outdated-tooltip = 패치가 오래되었습니다. 현재:{$current} 최신:{$latest} + +patch-preparation = 준비 +patch-preparation-tooltip = 패치가 개발 중입니다 + +patch-testing-tooltip = 테스트 패치를 사용할 수 있습니다 +patch-not-applied-tooltip = 패치가 적용되지 않았습니다 + +apply-main-patch = 메인 패치 적용 +apply-main-patch-description = 실험적 기능입니다. 이 옵션을 비활성화하면 패치를 적용하지 않고 게임을 실행할 수 있습니다. 작동하지 않거나 수동으로 파일을 수정해야 할 수 있습니다. 사용법을 알고 있는 경우에만 사용하세요. + +disable-mhypbase = mhypbase 비활성화 +disable-mhypbase-description = 실험적 기능입니다. 활성화 된 경우, 런처는 메인 패치 적용 중에 mhypbase.dll을 비활성화합니다. 이는 현재 XLUA 패치와 동일합니다. 성능을 향상시키고 CPU 사용을 줄입니다 + +ask-superuser-permissions = 슈퍼유저 권한 요청 +ask-superuser-permissions-description = 런처가 이를 사용하여 호스트 파일을 자동으로 업데이트합니다. Flatpak 에디션에서는 필요하지 않습니다 + +launcher-behavior = 런처 동작 +launcher-behavior-description = 게임을 시작할 때 런처 창이 수행해야 할 작업 + +wine-tools = Wine 도구 +command-line = 명령줄 +registry-editor = 레지스트리 편집기 +explorer = 탐색기 +task-manager = 작업 관리자 +configuration = 구성 +debugger = 디버거 diff --git a/assets/locales/ko/main.ftl b/assets/locales/ko/main.ftl new file mode 100644 index 0000000..4061c22 --- /dev/null +++ b/assets/locales/ko/main.ftl @@ -0,0 +1,75 @@ +custom = 사용자 지정 +none = 없음 +default = 기본값 +details = 세부 정보 +options = 옵션 + +width = 너비 +height = 높이 + +# Menu items + +launcher-folder = 런처 폴더 +game-folder = 게임 폴더 +config-file = 구성 파일 +debug-file = 디버그 파일 +wish-url = Wishes 열기 +about = 정보 + + +close = 닫기 +hide = 숨기기 +nothing = 없음 +save = 저장 +continue = 계속 +resume = 재개 +exit = 종료 +check = 체크 +restart = 재시작 +agree = 동의 + + +loading-data = 데이터 로드 중 +downloading-background-picture = 배경 사진 다운로드 중 +updating-components-index = 구성 요소 목록 업데이트 중 +loading-game-version = 게임 버전 로드 중 +loading-patch-status = 패치 상태 로드 중 +loading-launcher-state = 런처 상태 로딩 중 +loading-launcher-state--game = 런처 상태 로딩 중: 게임 버전 확인 중 +loading-launcher-state--voice = 런처 상태 로드 중: {$locale} 음성 확인 중 +loading-launcher-state--patch = 런처 상태 로드 중: 설치된 패치 확인 중 + + +checking-free-space = 여유 공간 확인 중 +downloading = 다운로드 중 +unpacking = 압축 해제 중 +verifying-files = 파일 검증 중 +repairing-files = 파일 복구 중 +migrating-folders = 폴더 마이그레이션 중 +applying-hdiff = hdiff 패치 적용 하는 중 +removing-outdated = 오래된 파일 제거 중 + + +components-index-updated = 구성 요소 목록이 업데이트되었습니다 + + +launch = 실행 +migrate-folders = 폴더 마이그레이션 +migrate-folders-tooltip = 게임 폴더 구조 변경 +apply-patch = 패치 적용 +disable-telemetry = 원격 측정 비활성화 +download-wine = Wine 다운로드 +create-prefix = Prefix 생성 +update = 업데이트 +download = 다운로드 +predownload-update = {$version}업데이트 사전 다운로드 ({$size}) + +kill-game-process = 게임 프로세스 종료 + +main-window--patch-unavailable-tooltip = 패치 서버를 사용할 수 없으며 런처에서 게임의 패치 상태를 확인할 수 없습니다. 사용자 책임 하에 게임을 실행할 수 있습니다 +main-window--patch-outdated-tooltip = 패치가 오래되었거나 준비 중이므로 사용할 수 없습니다. 나중에 다시 돌아와서 상태를 확인하세요 +main-window--version-outdated-tooltip = Version is too outdated and can't be updated + +preferences = 버전이 너무 오래되어 업데이트할 수 없습니다 +general = 일반 +enhancements = 성능 diff --git a/assets/locales/ko/sandbox.ftl b/assets/locales/ko/sandbox.ftl new file mode 100644 index 0000000..c5ece1a --- /dev/null +++ b/assets/locales/ko/sandbox.ftl @@ -0,0 +1,28 @@ +sandbox = 샌드박스 +sandbox-description = 격리된 환경에서 게임을 실행하여 개인 데이터에 액세스하지 못하도록 합니다 + +enable-sandboxing = 샌드박스 활성화 +enable-sandboxing-description = 루트 파일 시스템의 읽기 전용 복사본에서 게임을 실행합니다 + +hide-home-directory = 홈 디렉토리 숨기기 +hide-home-directory-description = 게임에서 /home, /var/home/$USER, $HOME 폴더를 분리합니다 + +hostname = hostname +additional-arguments = 추가 인수 + +private-directories = 비공개 디렉토리 +private-directories-description = 이 폴더는 빈 가상 파일 시스템(tmpfs)으로 대체되며, 샌드박스가 적용된 게임에서 원래 콘텐츠를 사용할 수 없습니다 + +path = 경로 + +shared-directories = 공유 디렉터리 +shared-directories-description = 이 디렉터리는 호스트 시스템의 디렉터리에 심볼릭 링크됩니다 + +original-path = 기존 경로 +new-path = 새 경로 + +read-only = 읽기 전용 +read-only-description = 게임에서 이 디렉터리에 데이터 쓰기를 금지합니다 + +symlinks = 심볼릭 링크 +symlinks-description = 샌드박스 내부에 원래 경로를 심볼릭 링크합니다 diff --git a/src/i18n.rs b/src/i18n.rs index f892166..d62d86c 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -20,6 +20,7 @@ pub const SUPPORTED_LANGUAGES: &[LanguageIdentifier] = &[ langid!("id-id"), langid!("zh-cn"), langid!("ja-jp"), + langid!("ko-kr"), langid!("hu-hu"), langid!("sv-se"), langid!("pt-br"), From 097b444330c07475e36ac53c71f32387fc2f18e6 Mon Sep 17 00:00:00 2001 From: Everly <66821749+everlyy@users.noreply.github.com> Date: Fri, 13 Oct 2023 20:45:01 +0200 Subject: [PATCH 11/23] Add Dutch translation Some translations might sound a bit unnatural since I don't talk about these kinds of things in Dutch often, so any changes are welcome! --- assets/locales/common.ftl | 1 + assets/locales/nl/components.ftl | 20 ++++++++ assets/locales/nl/enhancements.ftl | 69 +++++++++++++++++++++++++++ assets/locales/nl/environment.ftl | 7 +++ assets/locales/nl/errors.ftl | 66 ++++++++++++++++++++++++++ assets/locales/nl/first_run.ftl | 64 +++++++++++++++++++++++++ assets/locales/nl/game.ftl | 7 +++ assets/locales/nl/gamescope.ftl | 13 ++++++ assets/locales/nl/general.ftl | 72 ++++++++++++++++++++++++++++ assets/locales/nl/main.ftl | 75 ++++++++++++++++++++++++++++++ assets/locales/nl/sandbox.ftl | 28 +++++++++++ src/i18n.rs | 3 +- 12 files changed, 424 insertions(+), 1 deletion(-) create mode 100644 assets/locales/nl/components.ftl create mode 100644 assets/locales/nl/enhancements.ftl create mode 100644 assets/locales/nl/environment.ftl create mode 100644 assets/locales/nl/errors.ftl create mode 100644 assets/locales/nl/first_run.ftl create mode 100644 assets/locales/nl/game.ftl create mode 100644 assets/locales/nl/gamescope.ftl create mode 100644 assets/locales/nl/general.ftl create mode 100644 assets/locales/nl/main.ftl create mode 100644 assets/locales/nl/sandbox.ftl diff --git a/assets/locales/common.ftl b/assets/locales/common.ftl index a459c71..cd99cbc 100644 --- a/assets/locales/common.ftl +++ b/assets/locales/common.ftl @@ -29,3 +29,4 @@ sv-se = Svenska pt-br = Português pl-pl = Polski vi-vn = Tiếng Việt +nl-nl = Nederlands diff --git a/assets/locales/nl/components.ftl b/assets/locales/nl/components.ftl new file mode 100644 index 0000000..f9bdfe9 --- /dev/null +++ b/assets/locales/nl/components.ftl @@ -0,0 +1,20 @@ +components = Componenten +components-description = Beheer je Wine en DXVK versies + +selected-version = Geselecteerde versie +recommended-only = Alleen aanbevolen + +wine-version = Wine version +wine-recommended-description = Laat alleen aanbevolen Wine versies zien + +wine-options = Wine instellingen + +wine-use-shared-libraries = Gebruik Wine shared libraries +wine-use-shared-libraries-description = Stel LD_LIBRARY_PATH variabele in on systeem libraries the gebruiken van de geselecteerde Wine build + +gstreamer-use-shared-libraries = Gebruik gstreamer shared libraries +gstreamer-use-shared-libraries-description = Stel GST_PLUGIN_PATH variabele in om gstreamer libraries te gebruiken van de geselecteerde Wine build + +dxvk-version = DXVK versie +dxvk-selection-disabled = DXVK selectie is uigeschakeld door je Wine group instellingen +dxvk-recommended-description = Laat alleen aanbevolen DXVK versies zien diff --git a/assets/locales/nl/enhancements.ftl b/assets/locales/nl/enhancements.ftl new file mode 100644 index 0000000..dd36bdc --- /dev/null +++ b/assets/locales/nl/enhancements.ftl @@ -0,0 +1,69 @@ +game-settings-description = Beheer in-game instelling en account sessies +sandbox-settings-description = Start het spel in een bubblewrap sandbox, net als wat Flatpak doet +environment-settings-description = Stel environment variabelen en spel start commands in + +wine = Wine + +synchronization = Synchronisatie +wine-sync-description = Technologie die gebruikt wordt om Wine evenementen the synchroniseren + +language = Taal +wine-lang-description = Taal die gebruikt wordt in de Wine omgeving. Kan toetsenbord layout problemen oplossen. +system = Systeem + +borderless-window = Randloos venster +virtual-desktop = Virtueel bureaublad + +map-drive-c = Koppel schijf C: +map-drive-c-description = Automatisch een symbolische koppeling maken tussen de map drive_c van de Wine prefix naar de dosdevices + +map-game-folder = Koppel spelmap +map-game-folder-description = Verbind de spelmap automatisch met de dosdevices + +game = Spel + +hud = HUD + +fsr = FSR +fsr-description = Schaalt het spel op naar je monitorformaat. Om dit te gebruiken, selecteer je een lagere resolutie in de spelinstellingen en druk je op Alt+Enter +ultra-quality = Ultra qualiteit +quality = Qualiteit +balanced = Gebalanceerd +performance = Prestatie + +gamemode = Gamemode +gamemode-description = Geef het spel een hogere prioriteit dan andere processen + +gamescope = Gamescope +gamescope-description = Gamescope is een hulpmiddel van Valve om je programma's te isoleren in een Xwayland omgeving. Het ondersteund AMD, Intel en Nvidia videokaarten + +discord-rpc = Discord RPC +discord-rpc-description = Discord RPC laat informatie zien in Discord dat je het spel aan het spelen bent +icon = Icoon +title = Titel +description = Omschrijving + +fps-unlocker = FPS Unlocker + +enabled = Ingeschakeld +fps-unlocker-description = Haalt het FPS limit weg van het spel door het geheugen aan te passen. Kan gedetecteerd worden door ant-cheat + +power-saving = Energiebesparing +power-saving-description = Zet het FPS limit automatisch op 10 en een lage process prioriteit waneer het spel focus verliest (bijvoorbeeld als je niet op het spel gefocust bent) + +monitor = Monitor +monitor-description = Nummer van de monitor waar je het spel op wilt starten + +window-mode = Venster Mode +borderless = Randloos +popup = Popup +fullscreen = Volledig scherm + +priority = Prioriteit +priority-description = Spel process prioriteit +realtime = Realtime +high = Hoog +above-normal = Boven Normaal +normal = Normall +below-normal = Onder Normal +low = Laag diff --git a/assets/locales/nl/environment.ftl b/assets/locales/nl/environment.ftl new file mode 100644 index 0000000..e7f2884 --- /dev/null +++ b/assets/locales/nl/environment.ftl @@ -0,0 +1,7 @@ +environment = Omgeving +game-command = Spel commando +game-command-description = Commando dat gebruikt wordt om het spel te started. %command% wordt automatisch gegenereerd door de launcher. Bijvoorbeeld: gamemoderun '%command%' +new-variable = Nieuwe variabele +name = Naam +value = Waarde +add = Voeg Toe diff --git a/assets/locales/nl/errors.ftl b/assets/locales/nl/errors.ftl new file mode 100644 index 0000000..31841c6 --- /dev/null +++ b/assets/locales/nl/errors.ftl @@ -0,0 +1,66 @@ +launcher-folder-opening-error = Kan de launcher map niet openen +game-folder-opening-error = Kan de spel map niet openen +config-file-opening-error = Kan het configuratiebestand niet openen +debug-file-opening-error = Kan debugbestand niet openen + +wish-url-search-failed = Geen wishes URL gevonden +wish-url-opening-error = Kan wishes URL niet openen + +wine-run-error = Kan {$executable} niet starten met Wine + +game-launching-failed = Kan het spel niet starten +failed-get-selected-wine = Kan de geselecteerde Wine versie niet krijgen +downloading-failed = Downloaden gefaalt +unpacking-failed = Uitpakken gefaalt + +kill-game-process-failed = Kan het spel's process niet stoppen + +game-file-repairing-error = Kan het spel's bestanden niet repareren +integrity-files-getting-error = Failed to get integrity files + +background-downloading-failed = Kan achtergrondfoto's niet downloaden +components-index-sync-failed = Kan de componenten index niet synchroniseren +components-index-verify-failed = Kan de componenten index niet verifiëren +config-update-error = Kan configuratie niet opslaan +wine-prefix-update-failed = Kan de Wine prefix niet updaten +dxvk-install-failed = Kan DXVK niet installeren +voice-package-deletion-error = Kan het spraakpakket niet verwijderen + +game-diff-finding-error = Kan speldiff niet vinden +patch-info-fetching-error = Kan patchgegevens niet ophalen +launcher-state-updating-error = Kan de status van de launcher niet updaten + +package-not-available = Pakket niet beschikbaar: {$package} +wine-download-error = Kan Wine niet downloaden +wine-unpack-errror = Kan Wine niet uitpakken +wine-install-failed = Kan Wine niet installeren +dxvk-download-error = Kan DXVK niet downloaden +dxvk-unpack-error = Kan DXVK niet uitpakken +dxvk-apply-error = Kan DXVK niet toepassen + +downloaded-wine-list-failed = Kan gedownloade Wine versies niet weergeven + +patch-sync-failed = Kan de patchmap niet synchroniseren +patch-state-check-failed = Kan de status van de patchmap niet controleren +game-patching-error = Kan het spel niet patchen + +# Disable telemetry + +telemetry-servers-disabling-error = Kan telemetrieservers niet uitschakelen + +# Sandbox + +documentation-url-open-failed = Kan de documentatie-URL niet openen + +# Game + +game-session-add-failed = Kan gamesessie niet toevoegen +game-session-update-failed = Kan de gamesessie niet updaten +game-session-remove-failed = Kan gamesessie niet verwijderen +game-session-set-current-failed = Kan de huidige gamesessie niet instellen +game-session-apply-failed = Kan gamesessie niet toepassen + +# Enhancements + +discord-rpc-icons-fetch-failed = Kan Discord RPC-pictogrammen niet ophalen +discord-rpc-icon-download-failed = Kan het Discord RPC-pictogram niet downloaden diff --git a/assets/locales/nl/first_run.ftl b/assets/locales/nl/first_run.ftl new file mode 100644 index 0000000..a4e0de0 --- /dev/null +++ b/assets/locales/nl/first_run.ftl @@ -0,0 +1,64 @@ +welcome = Welkon + +welcome-page-message = + Hallo! Welkom bij de An Anime Game Launcher + + We moeten een aantal dingen voorbereiden en standaardcomponenten downloaden voordat je het spel kunt spelen + +tos-violation-warning = Waarschuwing voor overtreding van ToS + +tos-violation-warning-message = + Deze launcher is niet officiëel en heeft op geen enkele manier betrekking met {company-name} of {company-alter-name}. + + Dit programma is ontworpen om het spelen van {game-name} op Linux makkelijker te maken, en is gemaakt met als enig doel on het spel makkelijiker te installeren en spelen op Linux + + Dit gebeurt door bestaande componenten te gebruiken en de ervaring voor de gebruiker eenvoudig te maken. + + Sommige hier gebruikte componenten zijn echter waarschijnlijk in strijd met de servicevoorwaarden van {company-name} voor {game-name}. + + Als je deze launcher gebruikt, kan je account worden geïdentificeerd als niet-conform met de TOS door {bedrijfsnaam}/{bedrijfsnaam wijzigen. + + Als dit gebeurt, is {company-name}/{company-alter-name} vrij om te doen wat ze willen, omdat je account de Servicevoorwaarden zou schenden. Inclusief een game ban. + + Als je het risico snapt om het spel te spelen in een onofficiële manier, druk dan op OK om door te gaan + +tos-dialog-title = Weet je zeker dat je begrijpt wat we zeggen? +tos-dialog-message = + 1. Publiceer geen informatie over dit project + 2. Maak er geen misbruik van door een aantal modded clients en dergelijke te gebruiken + 3. Stel uitzonderlijk vragen in onze Discord- of Matrixserver + + +dependencies = Dependencies +missing-dependencies-title = Je mist een aantal dependencies! +missing-dependencies-message = Je moet enkele pakketten op je systeem installeren voordat je doorgaat met het installatieproces + + +default-paths = Standaardpaden +choose-default-paths = Kies standaardpaden +show-all-folders = Ik weet wat ik doe +show-all-folders-subtitle = Toon aanvullende padselectie-instellingen. Doe wat ik zeg... +runners-folder = Runners map +dxvks-folder = DXVKs map +wine-prefix-folder = Wine prefix map +global-game-installation-folder = Globale spelversie installatiemap +chinese-game-installation-folder = Chinese spelversie installatiemap +fps-unlocker-folder = FPS Unlocker map +components-index = Componentenindex +patch-folder = Patch map +temp-folder = Tijdelijke map + +migrate = Migreer + + +select-voice-packages = Selecteer spraakpakketten + + +download-components = Download componenten +download-dxvk = Download DXVK +apply-dxvk = Pas DXVK toe + + +finish = Maak af +finish-title = Alles is klaar! +finish-message = Alle basiscomponenten zijn gedownload. Nu kun je de launcher opnieuw starten en het spel downloaden. Welkom bij onze club! diff --git a/assets/locales/nl/game.ftl b/assets/locales/nl/game.ftl new file mode 100644 index 0000000..9599094 --- /dev/null +++ b/assets/locales/nl/game.ftl @@ -0,0 +1,7 @@ +game-sessions = Game sessions + +active-sessions = Actieve sessie +active-session-description = Momenteel geselecteerde gamesessie. Updates na het opstarten van het spel + +update-session = Update de sessie met de huidige registerwaarden voor Wine prefixes +delete-session = Verwijder sessie diff --git a/assets/locales/nl/gamescope.ftl b/assets/locales/nl/gamescope.ftl new file mode 100644 index 0000000..c72b5bf --- /dev/null +++ b/assets/locales/nl/gamescope.ftl @@ -0,0 +1,13 @@ +game-resolution = Spelresolutie +gamescope-resolution = Gamescope resolutie + +upscaling = Opschaling + +integer-scaling = Schalen van gehele getallen +integer-scaling-description = Verandert elke pixel in een vierkante of rechthoekige groep van een geheel aantal pixels met dezelfde kleur. Voorkomt scherpteverlies bij het schalen van Full HD naar 4K +gamescope-fsr-description = Een open-source opschalingstechniek ontwikkeld door AMD voor een betere opschalingskwaliteit +nis-description = Een open source opschalingstechniek ontwikkeld door Nvidia als een cross-vendor, low-overhead alternatief voor hun eigen DLSS-oplossing, wat betekent dat het werkt op AMD- en Intel GPU's en Nvidia GPU's + +other-settings = Andere instellingen +framerate-limit = Frameratelimiet +unfocused-framerate-limit = Ongefocuste frameratelimiet diff --git a/assets/locales/nl/general.ftl b/assets/locales/nl/general.ftl new file mode 100644 index 0000000..c96f787 --- /dev/null +++ b/assets/locales/nl/general.ftl @@ -0,0 +1,72 @@ +appearance = Uiterlijk +modern = Modern +classic = Klassiek +update-background = Achtergrondafbeelding bijwerken +update-background-description = Download de officiële achtergrondafbeelding voor de launcher. Je kunt het uitschakelen om in plaats daarvan je eigen afbeelding te gebruiken + +launcher-language = Launcher taal +launcher-language-description = Past toe na opnieuw opstarten + +game-edition = Spelversie +global = Globaal +china = China + +game-environment = Spelomgeving +game-environment-description = Ontvang specifieke functies zoals extra betaalmethoden + +game-voiceovers = Spel voice-over +game-voiceovers-description = Lijst met gedownloade spel voice-overs. Je kunt ze selecteren in de spelinstellingen +english = Engels +japanese = Japans +korean = Koreaans +chinese = Chinees + +migrate-installation = Migreer installatie +migrate-installation-description = Open een venster waarin je de installatiemap het spel kunt wijzigen +repair-game = Repareer spel + +status = Status + +game-version = Spelversie +game-not-installed = niet geïnstalleerd + +game-predownload-available = Spel-update vooraf downloaden beschikbaar: {$old} -> {$new} +game-update-available = Spel-update beschikbaar: {$old} -> {$new} +game-outdated = Het spel is te oud en kan niet worden bijgewerkt. Nieuwste versie: {$latest} + +player-patch-version = Patchversie voor spel +player-patch-version-description = Main patch waarmee je het spel op Linux kunt spelen + + +patch-not-available = niet beschikbaar +patch-not-available-tooltip = Patchservers zijn onbereikbaar + +patch-outdated = verouderd ({$current}) +patch-outdated-tooltip = Patch is oud: {$current} -> {$latest} + +patch-preparation = voorbereiding +patch-preparation-tooltip = Patch is in ontwikkeling + +patch-testing-tooltip = Testpatch is beschikbaar +patch-not-applied-tooltip = Patch is niet toegepast + +apply-main-patch = Breng de main patch aan +apply-main-patch-description = Experimenteel. Als je dit uitschakelt, kun je het spel uitvoeren zonder de patch toe te passen. Dit werkt mogelijk niet, of vereist handmatige bestandsaanpassingen. Gebruik dit als je weet wat je doet + +disable-mhypbase = Schakel mhypbase uit +disable-mhypbase-description = Experimenteel. Indien ingeschakeld, zal het opstartprogramma mhypbase.dll uitschakelen tijdens het aanbrengen van de main patch, wat momenteel gelijkwaardig is aan de xlua-patch. Verbetert de prestaties en vermindert het CPU-gebruik + +ask-superuser-permissions = Vraag superuser-machtigingen +ask-superuser-permissions-description = Launcher zal ze gebruiken om je hosts-bestand automatisch bij te werken. Dit is niet nodig in de flatpak-editie + + +launcher-behavior = Launcher gedrag +launcher-behavior-description = Wat moet het laucner-venster doen als het spel wordt gestart? + +wine-tools = Wine tools +command-line = Command line +registry-editor = Register-editor +explorer = Explorer +task-manager = Taakbeheer +configuration = Configuratie +debugger = Debugger diff --git a/assets/locales/nl/main.ftl b/assets/locales/nl/main.ftl new file mode 100644 index 0000000..82affee --- /dev/null +++ b/assets/locales/nl/main.ftl @@ -0,0 +1,75 @@ +custom = Aangepast +none = Geen +default = Standaard +details = Details +options = Instellingen + +width = Breedte +height = Hoogte + +# Menu items + +launcher-folder = Launcher map +game-folder = Spelmap +config-file = Configuratiebestand +debug-file = Debugbestand +wish-url = Open wishes +about = Over + + +close = Sluit +hide = Verberg +nothing = Niks +save = Opslaan +continue = Hervatten +resume = Doorgaan +exit = Sluit +check = Controleer +restart = Opnieuw opstarten +agree = Mee eens + + +loading-data = Data aan het laden +downloading-background-picture = Achtergrondafbeelding downloaden +updating-components-index = Componentenindex bijwerken +loading-game-version = Spelversie laden +loading-patch-status = Patchstatus laden +loading-launcher-state = Status de launcher wordt geladen +loading-launcher-state--game = Laadstatus van de launcher: spelversie verifiëren +loading-launcher-state--voice = Laadstatus van de launcher: verificatie van de voice-over van {$locale} +loading-launcher-state--patch = Laadstatus van de launcher: geïnstalleerde patch verifiëren + + +checking-free-space = Vrije ruimte controleren +downloading = Downloaden +unpacking = Uitpakken +verifying-files = Bestanden verifiëren +repairing-files = Bestanden repareren +migrating-folders = Mappen migreren +applying-hdiff = Toepassen van hdiff patches +removing-outdated = Oude bestanden verwijderen + + +components-index-updated = Componentenindex is bijgewerkt + + +launch = Start +migrate-folders = Migreer mappen +migrate-folders-tooltip = Update de structuur van spelmappen +apply-patch = Pas patch toe +disable-telemetry = Schakel telemetrie uit +download-wine = Download Wine +create-prefix = Creër prefix +update = Update +download = Download +predownload-update = Update van {$version} ({$size}) vooraf downloaden + +kill-game-process = Stop het spelproces + +main-window--patch-unavailable-tooltip = Patchservers zijn niet beschikbaar en de launcher kan de patchstatus van de game niet verifiëren. Je mag het spel op eigen risico uitvoeren +main-window--patch-outdated-tooltip = Patch is oud of in voorbereiding, dus niet beschikbaar voor gebruik. Kom later terug om de status ervan te bekijken +main-window--version-outdated-tooltip = De versie is te oud en kan niet worden bijgewerkt + +preferences = Voorkeuren +general = Algemeen +enhancements = Verbeteringen diff --git a/assets/locales/nl/sandbox.ftl b/assets/locales/nl/sandbox.ftl new file mode 100644 index 0000000..d631783 --- /dev/null +++ b/assets/locales/nl/sandbox.ftl @@ -0,0 +1,28 @@ +sandbox = Sandbox +sandbox-description = Voer het spel uit in een geïsoleerde omgeving, zodat het geen toegang heeft tot je persoonlijke gegevens + +enable-sandboxing = Schakel sandboxing in +enable-sandboxing-description = Voer het spel uit in een read-only kopie van je root filesysteem + +hide-home-directory = Verberg homemap +hide-home-directory-description = Isoleer je /home, /var/home/$USER, en $HOME mappen van het spel + +hostname = Hostnaam +additional-arguments = Aanvullende argumenten + +private-directories = Privémappen +private-directories-description = Deze mappen worden vervangen door een leeg virtueel bestandssysteem (tmpfs) en hun originele inhoud zal niet beschikbaar zijn voor spellen in de sandbox + +path = Pad + +shared-directories = Gedeelde mappen +shared-directories-description = Deze mappen worden symbolisch gekoppeld aan mappen in je hostsysteem + +original-path = Oorspronkelijk pad +new-path = Nieuw pad + +read-only = Read-only +read-only-description = Verbied het spel om gegevens naar deze map te schrijven + +symlinks = Symlinks +symlinks-description = Symlink het oorspronkelijke pad naar het nieuwe pad in je sandbox diff --git a/src/i18n.rs b/src/i18n.rs index f892166..62743bb 100644 --- a/src/i18n.rs +++ b/src/i18n.rs @@ -24,7 +24,8 @@ pub const SUPPORTED_LANGUAGES: &[LanguageIdentifier] = &[ langid!("sv-se"), langid!("pt-br"), langid!("pl-pl"), - langid!("vi-vn") + langid!("vi-vn"), + langid!("nl-nl") ]; pub static mut LANG: LanguageIdentifier = langid!("en-us"); From c881c15470d779739b2598bd866b7f95bb64679c Mon Sep 17 00:00:00 2001 From: Everly <66821749+everlyy@users.noreply.github.com> Date: Fri, 13 Oct 2023 21:01:48 +0200 Subject: [PATCH 12/23] Syntax error --- assets/locales/nl/first_run.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/locales/nl/first_run.ftl b/assets/locales/nl/first_run.ftl index a4e0de0..94e16a8 100644 --- a/assets/locales/nl/first_run.ftl +++ b/assets/locales/nl/first_run.ftl @@ -16,7 +16,7 @@ tos-violation-warning-message = Sommige hier gebruikte componenten zijn echter waarschijnlijk in strijd met de servicevoorwaarden van {company-name} voor {game-name}. - Als je deze launcher gebruikt, kan je account worden geïdentificeerd als niet-conform met de TOS door {bedrijfsnaam}/{bedrijfsnaam wijzigen. + Als je deze launcher gebruikt, kan je account worden geïdentificeerd als niet-conform met de TOS door {company-name}/{company-alter-name} wijzigen. Als dit gebeurt, is {company-name}/{company-alter-name} vrij om te doen wat ze willen, omdat je account de Servicevoorwaarden zou schenden. Inclusief een game ban. From 1a5e6c402366655de93f29cf9226e5046c62e741 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Fri, 20 Oct 2023 19:11:21 +0200 Subject: [PATCH 13/23] build: updated SDK version Fixes fonts installation issue in another launcher branch --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index fe1f571..75eb46e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.18" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.11.2" +tag = "1.11.3" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From 5e8db5b3a91b309efdd6ef792365d9636ccc84fd Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Fri, 20 Oct 2023 19:14:32 +0200 Subject: [PATCH 14/23] build: updated SDK version fixed minreq versions compatibility --- Cargo.lock | 54 +++++++++++++++++++++++++++++++++++++++++++----------- Cargo.toml | 2 +- 2 files changed, 44 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d64512b..8505a38 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -56,8 +56,8 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "anime-game-core" -version = "1.16.0" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.16.0#e36867453184dd8ee2ce7eacbbf9e9a1d46c592d" +version = "1.16.1" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.16.1#5864e5f00219c3355fc3f4cc2ac3a730a5397391" dependencies = [ "anyhow", "bzip2", @@ -105,8 +105,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.11.2" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.2#45b0c6cc9ef907e6be4ee12236bf8b015a0da141" +version = "1.11.4" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.4#ea5a501a0f4dec6dee0cc33d5b2d6757503764cb" dependencies = [ "anime-game-core", "anyhow", @@ -184,6 +184,18 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + [[package]] name = "ashpd" version = "0.6.2" @@ -440,6 +452,19 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +[[package]] +name = "blake3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq 0.3.0", +] + [[package]] name = "block" version = "0.1.6" @@ -629,6 +654,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + [[package]] name = "core-foundation" version = "0.9.3" @@ -800,9 +831,9 @@ dependencies = [ [[package]] name = "dns-lookup" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d0fa3cd8dc96ada974e126a940d37d4079bbbe6a24aca15b1113c2f362441c5" +checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc" dependencies = [ "cfg-if", "libc", @@ -1850,9 +1881,9 @@ dependencies = [ [[package]] name = "minreq" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731ff3277257ac76a410e8e2e2465afb7a5e6a1d13bb68d306d97bf96605546c" +checksum = "cb3371dfc7b772c540da1380123674a8e20583aca99907087d990ca58cf44203" dependencies = [ "base64 0.12.3", "log", @@ -3303,11 +3334,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "wincompatlib" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89cd8dd63a2925273bdc4efd837ac5b847b06b23f141ce73664e274d54bbfa83" +checksum = "07b1763cc16b78378280633bd4648b3c89064cb34105586ba73f4f75f7e428d8" dependencies = [ "anyhow", + "blake3", "minreq", ] @@ -3498,7 +3530,7 @@ dependencies = [ "aes", "byteorder", "bzip2", - "constant_time_eq", + "constant_time_eq 0.1.5", "crc32fast", "crossbeam-utils", "flate2", diff --git a/Cargo.toml b/Cargo.toml index 75eb46e..0ae4312 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.18" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.11.3" +tag = "1.11.4" features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only From e6076ef4a50193cb645893696b79c6bb1f1aef4a Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 16:42:45 +0200 Subject: [PATCH 15/23] build: updated development libraries versions GTK 4.8 -> 4.12 Libadwaita 1.2 -> 1.3 Relm4 0.6.2 -> 0.7.0-beta.2 --- Cargo.lock | 864 ++++++++++-------- Cargo.toml | 10 +- assets/locales/common.ftl | 15 +- src/ui/about.rs | 2 +- src/ui/components/group.rs | 2 - src/ui/components/list.rs | 2 - src/ui/components/progress_bar.rs | 2 - src/ui/components/version.rs | 1 - src/ui/first_run/default_paths.rs | 65 +- src/ui/first_run/dependencies.rs | 2 - src/ui/first_run/download_components.rs | 50 +- src/ui/first_run/finish.rs | 2 - src/ui/first_run/main.rs | 1 - src/ui/first_run/select_voiceovers.rs | 2 - src/ui/first_run/welcome.rs | 2 - src/ui/main/mod.rs | 3 +- src/ui/migrate_installation.rs | 2 - .../preferences/enhancements/environment.rs | 13 +- src/ui/preferences/enhancements/game.rs | 19 +- src/ui/preferences/enhancements/mod.rs | 22 +- src/ui/preferences/enhancements/sandbox.rs | 23 +- src/ui/preferences/gamescope.rs | 2 - src/ui/preferences/general/components.rs | 2 - src/ui/preferences/general/mod.rs | 16 +- src/ui/preferences/main.rs | 14 +- 25 files changed, 622 insertions(+), 516 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8505a38..6aea2bf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -30,20 +30,21 @@ dependencies = [ [[package]] name = "ahash" -version = "0.8.3" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] name = "aho-corasick" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -123,9 +124,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.5.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", @@ -137,15 +138,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -161,9 +162,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "2.1.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys", @@ -198,9 +199,9 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "ashpd" -version = "0.6.2" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7" +checksum = "2c018490e423efb6f032ef575f873ea57b61d44bec763cfe027b8e8852a027cf" dependencies = [ "async-std", "enumflags2", @@ -236,16 +237,29 @@ dependencies = [ ] [[package]] -name = "async-executor" -version = "1.5.4" +name = "async-channel" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499" +checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e" dependencies = [ - "async-lock", + "concurrent-queue", + "event-listener 3.1.0", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0" +dependencies = [ + "async-lock 2.8.0", "async-task", "concurrent-queue", "fastrand 2.0.1", - "futures-lite", + "futures-lite 1.13.0", "slab", ] @@ -255,10 +269,10 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" dependencies = [ - "async-lock", + "async-lock 2.8.0", "autocfg", "blocking", - "futures-lite", + "futures-lite 1.13.0", ] [[package]] @@ -267,12 +281,12 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776" dependencies = [ - "async-channel", + "async-channel 1.9.0", "async-executor", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "blocking", - "futures-lite", + "futures-lite 1.13.0", "once_cell", ] @@ -282,20 +296,40 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ - "async-lock", + "async-lock 2.8.0", "autocfg", "cfg-if", "concurrent-queue", - "futures-lite", + "futures-lite 1.13.0", "log", "parking", - "polling", - "rustix 0.37.23", + "polling 2.8.0", + "rustix 0.37.27", "slab", - "socket2 0.4.9", + "socket2 0.4.10", "waker-fn", ] +[[package]] +name = "async-io" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" +dependencies = [ + "async-lock 3.1.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.0.1", + "parking", + "polling 3.3.0", + "rustix 0.38.21", + "slab", + "tracing", + "waker-fn", + "windows-sys", +] + [[package]] name = "async-lock" version = "2.8.0" @@ -306,19 +340,30 @@ dependencies = [ ] [[package]] -name = "async-process" -version = "1.8.0" +name = "async-lock" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d" +checksum = "deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7" dependencies = [ - "async-io", - "async-lock", + "event-listener 3.1.0", + "event-listener-strategy", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", "async-signal", "blocking", "cfg-if", - "event-listener 3.0.0", - "futures-lite", - "rustix 0.38.14", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.21", "windows-sys", ] @@ -330,23 +375,22 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "async-signal" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" dependencies = [ - "async-io", - "async-lock", + "async-io 2.2.0", + "async-lock 2.8.0", "atomic-waker", "cfg-if", - "concurrent-queue", "futures-core", "futures-io", - "libc", + "rustix 0.38.21", "signal-hook-registry", "slab", "windows-sys", @@ -358,15 +402,15 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d" dependencies = [ - "async-channel", + "async-channel 1.9.0", "async-global-executor", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "crossbeam-utils", "futures-channel", "futures-core", "futures-io", - "futures-lite", + "futures-lite 1.13.0", "gloo-timers", "kv-log-macro", "log", @@ -380,19 +424,19 @@ dependencies = [ [[package]] name = "async-task" -version = "4.4.1" +version = "4.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921" +checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -430,9 +474,9 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.21.4" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -448,9 +492,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "blake3" @@ -482,25 +526,25 @@ dependencies = [ [[package]] name = "blocking" -version = "1.4.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94c4ef1f913d78636d78d538eec1f18de81e481f44b1be0a81060090530846e1" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" dependencies = [ - "async-channel", - "async-lock", + "async-channel 2.1.0", + "async-lock 3.1.0", "async-task", "fastrand 2.0.1", "futures-io", - "futures-lite", + "futures-lite 2.0.1", "piper", "tracing", ] [[package]] name = "bstr" -version = "1.6.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" +checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" dependencies = [ "memchr", "serde", @@ -514,9 +558,9 @@ checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bzip2" @@ -541,9 +585,9 @@ dependencies = [ [[package]] name = "cached" -version = "0.46.0" +version = "0.46.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cead8ece0da6b744b2ad8ef9c58a4cdc7ef2921e60a6ddfb9eaaa86839b5fc5" +checksum = "c7c8c50262271cdf5abc979a5f76515c234e764fa025d1ba4862c0f0bcda0e95" dependencies = [ "ahash", "cached_proc_macro", @@ -556,9 +600,9 @@ dependencies = [ [[package]] name = "cached_proc_macro" -version = "0.18.0" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8245dd5f576a41c3b76247b54c15b0e43139ceeb4f732033e15be7c005176" +checksum = "c878c71c2821aa2058722038a59a67583a4240524687c6028571c9b395ded61f" dependencies = [ "darling", "proc-macro2", @@ -574,11 +618,11 @@ checksum = "3a4f925191b4367301851c6d99b09890311d74b0d43f274c0b34c86d308a3663" [[package]] name = "cairo-rs" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3603c4028a5e368d09b51c8b624b9a46edcd7c3778284077a6125af73c9f0a" +checksum = "f33613627f0dea6a731b0605101fad59ba4f193a52c96c4687728d822605a8a1" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "cairo-sys-rs", "glib", "libc", @@ -588,9 +632,9 @@ dependencies = [ [[package]] name = "cairo-sys-rs" -version = "0.17.10" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "691d0c66b1fb4881be80a760cb8fe76ea97218312f9dfe2c9cc0f496ca279cb1" +checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" dependencies = [ "glib-sys", "libc", @@ -599,11 +643,10 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.83" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" dependencies = [ - "jobserver", "libc", ] @@ -678,9 +721,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" dependencies = [ "libc", ] @@ -774,9 +817,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -826,7 +872,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -837,7 +883,7 @@ checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc" dependencies = [ "cfg-if", "libc", - "socket2 0.5.4", + "socket2 0.5.5", "windows-sys", ] @@ -855,15 +901,15 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "enum-ordinalize" -version = "3.1.13" +version = "3.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4f76552f53cefc9a7f64987c3701b99d982f7690606fd67de1d09712fbf52f1" +checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -884,7 +930,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -895,25 +941,14 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "7c18ee0ed65a5f1f81cac6b1d213b69c35fa47d4252ad41f1486dbd8226fe36e" dependencies = [ - "errno-dragonfly", "libc", "windows-sys", ] -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - [[package]] name = "event-listener" version = "2.5.3" @@ -922,15 +957,25 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] +[[package]] +name = "event-listener-strategy" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160" +dependencies = [ + "event-listener 3.1.0", + "pin-project-lite", +] + [[package]] name = "fastrand" version = "1.9.0" @@ -964,15 +1009,15 @@ checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.3.5", "windows-sys", ] [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -999,7 +1044,7 @@ dependencies = [ "intl-memoizer", "intl_pluralrules", "rustc-hash", - "self_cell", + "self_cell 0.10.3", "smallvec", "unic-langid", ] @@ -1028,7 +1073,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dec7592cd1f45c1afe9084ce59c62a3a7c266c125c4c2ec97e95b0563c4aa914" dependencies = [ - "flume", + "flume 0.10.14", "ignore", "once_cell", "proc-macro2", @@ -1049,7 +1094,7 @@ dependencies = [ "fluent-langneg", "fluent-syntax", "fluent-template-macros", - "flume", + "flume 0.10.14", "heck", "ignore", "intl-memoizer", @@ -1066,12 +1111,20 @@ name = "flume" version = "0.10.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "spin", +] + +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" dependencies = [ "futures-core", "futures-sink", "nanorand", - "pin-project", - "spin 0.9.8", + "spin", ] [[package]] @@ -1103,9 +1156,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "da0290714b38af9b4a7b094b8a37086d1b4e61f2df9122c3cad2577669145335" dependencies = [ "futures-channel", "futures-core", @@ -1118,9 +1171,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" dependencies = [ "futures-core", "futures-sink", @@ -1128,15 +1181,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" dependencies = [ "futures-core", "futures-task", @@ -1145,9 +1198,9 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" [[package]] name = "futures-lite" @@ -1165,33 +1218,43 @@ dependencies = [ ] [[package]] -name = "futures-macro" -version = "0.3.28" +name = "futures-lite" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "futures-macro" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" dependencies = [ "futures-channel", "futures-core", @@ -1207,11 +1270,10 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "695d6bc846438c5708b07007537b9274d883373dd30858ca881d7d71b5540717" +checksum = "446f32b74d22c33b7b258d4af4ffde53c2bf96ca2e29abdf1a785fe59bd6c82c" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf-sys", "gio", "glib", @@ -1221,9 +1283,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf-sys" -version = "0.17.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9285ec3c113c66d7d0ab5676599176f1f42f4944ca1b581852215bf5694870cb" +checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" dependencies = [ "gio-sys", "glib-sys", @@ -1234,11 +1296,10 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff" +checksum = "7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk-pixbuf", "gdk4-sys", @@ -1250,9 +1311,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.6.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64" +checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1277,9 +1338,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" dependencies = [ "cfg-if", "js-sys", @@ -1296,11 +1357,10 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gio" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6973e92937cf98689b6a054a9e56c657ed4ff76de925e36fc331a15f0c5d30a" +checksum = "47d809baf02bdf1b5ef4ad3bf60dd9d4977149db4612b7bbb58e56aef168193b" dependencies = [ - "bitflags 1.3.2", "futures-channel", "futures-core", "futures-io", @@ -1316,9 +1376,9 @@ dependencies = [ [[package]] name = "gio-sys" -version = "0.17.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ccf87c30a12c469b6d958950f6a9c09f2be20b7773f7e70d20b867fdf2628c3" +checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" dependencies = [ "glib-sys", "gobject-sys", @@ -1329,11 +1389,11 @@ dependencies = [ [[package]] name = "glib" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fad45ba8d4d2cea612b432717e834f48031cd8853c8aaf43b2c79fec8d144b" +checksum = "58cf801b6f7829fa76db37449ab67c9c98a2b1bf21076d9113225621e61a0fa6" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.1", "futures-channel", "futures-core", "futures-executor", @@ -1358,24 +1418,23 @@ checksum = "3431c56f463443cba9bc3600248bc6d680cb614c2ee1cdd39dab5415bd12ac5c" [[package]] name = "glib-macros" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eca5c79337338391f1ab8058d6698125034ce8ef31b72a442437fa6c8580de26" +checksum = "72793962ceece3863c2965d7f10c8786323b17c7adea75a515809fa20ab799a5" dependencies = [ - "anyhow", "heck", - "proc-macro-crate", + "proc-macro-crate 2.0.0", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.39", ] [[package]] name = "glib-sys" -version = "0.17.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d80aa6ea7bba0baac79222204aa786a6293078c210abe69ef1336911d4bdc4f0" +checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" dependencies = [ "libc", "system-deps", @@ -1408,9 +1467,9 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.17.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd34c3317740a6358ec04572c1bcfd3ac0b5b6529275fae255b237b314bb8062" +checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" dependencies = [ "glib-sys", "libc", @@ -1419,9 +1478,9 @@ dependencies = [ [[package]] name = "graphene-rs" -version = "0.17.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "def4bb01265b59ed548b05455040d272d989b3012c42d4c1bbd39083cb9b40d9" +checksum = "3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401" dependencies = [ "glib", "graphene-sys", @@ -1430,9 +1489,9 @@ dependencies = [ [[package]] name = "graphene-sys" -version = "0.17.10" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1856fc817e6a6675e36cea0bd9a3afe296f5d9709d1e2d3182803ac77f0ab21d" +checksum = "cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59" dependencies = [ "glib-sys", "libc", @@ -1442,11 +1501,10 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c" +checksum = "0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "gdk4", "glib", @@ -1458,9 +1516,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0" +checksum = "12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1474,11 +1532,10 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.6.6" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b" +checksum = "5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842" dependencies = [ - "bitflags 1.3.2", "cairo-rs", "field-offset", "futures-channel", @@ -1491,18 +1548,17 @@ dependencies = [ "gtk4-macros", "gtk4-sys", "libc", - "once_cell", "pango", ] [[package]] name = "gtk4-macros" -version = "0.6.6" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a4d6b61570f76d3ee542d984da443b1cd69b6105264c61afec3abed08c2500f" +checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f" dependencies = [ "anyhow", - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro-error", "proc-macro2", "quote", @@ -1511,9 +1567,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.6.3" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f" +checksum = "54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1530,9 +1586,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash", "allocator-api2", @@ -1567,9 +1623,9 @@ dependencies = [ [[package]] name = "human-panic" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2df2fb4e13fa697d21d93061ebcbbd876f5ef643b48ff59cfab57a726ef140" +checksum = "7a79a67745be0cb8dd2771f03b24c2f25df98d5471fe7a595d668cfa2e6f843d" dependencies = [ "anstream", "anstyle", @@ -1578,7 +1634,7 @@ dependencies = [ "serde", "serde_derive", "toml", - "uuid 1.4.1", + "uuid 1.5.0", ] [[package]] @@ -1616,9 +1672,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", "hashbrown", @@ -1697,20 +1753,11 @@ version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" -[[package]] -name = "jobserver" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] @@ -1738,11 +1785,10 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libadwaita" -version = "0.4.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab9c0843f9f23ff25634df2743690c3a1faffe0a190e60c490878517eb81abf" +checksum = "2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c" dependencies = [ - "bitflags 1.3.2", "gdk-pixbuf", "gdk4", "gio", @@ -1755,9 +1801,9 @@ dependencies = [ [[package]] name = "libadwaita-sys" -version = "0.4.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4231cb2499a9f0c4cdfa4885414b33e39901ddcac61150bc0bb4ff8a57ede404" +checksum = "5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a" dependencies = [ "gdk4-sys", "gio-sys", @@ -1771,9 +1817,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.148" +version = "0.2.150" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "linux-raw-sys" @@ -1783,15 +1829,15 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.7" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" +checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" [[package]] name = "lock_api" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" dependencies = [ "autocfg", "scopeguard", @@ -1799,9 +1845,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.18" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" dependencies = [ "value-bag", ] @@ -1848,9 +1894,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memoffset" @@ -1959,9 +2005,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -2066,11 +2112,10 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pango" -version = "0.17.10" +version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35be456fc620e61f62dff7ff70fbd54dcbaf0a4b920c0f16de1107c47d921d48" +checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" dependencies = [ - "bitflags 1.3.2", "gio", "glib", "libc", @@ -2080,9 +2125,9 @@ dependencies = [ [[package]] name = "pango-sys" -version = "0.17.10" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3da69f9f3850b0d8990d462f8c709561975e95f689c1cdf0fecdebde78b35195" +checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" dependencies = [ "glib-sys", "gobject-sys", @@ -2092,9 +2137,9 @@ dependencies = [ [[package]] name = "parking" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "password-hash" @@ -2131,26 +2176,6 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" -[[package]] -name = "pin-project" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.37", -] - [[package]] name = "pin-project-lite" version = "0.2.13" @@ -2196,12 +2221,32 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "polling" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531" +dependencies = [ + "cfg-if", + "concurrent-queue", + "pin-project-lite", + "rustix 0.38.21", + "tracing", + "windows-sys", +] + [[package]] name = "pollster" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -2215,7 +2260,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ "once_cell", - "toml_edit", + "toml_edit 0.19.15", +] + +[[package]] +name = "proc-macro-crate" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" +dependencies = [ + "toml_edit 0.20.7", ] [[package]] @@ -2250,9 +2304,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.67" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -2332,10 +2386,19 @@ dependencies = [ ] [[package]] -name = "regex" -version = "1.9.5" +name = "redox_syscall" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", @@ -2345,9 +2408,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.8" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -2356,18 +2419,18 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.5" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" +checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "relm4" -version = "0.6.2" +version = "0.7.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c16f3fad883034773b7f5af4d7e865532b8f3641e5a8bab2a34561a8d960d81" +checksum = "f505ac255c34dc85b8b189cbc8e12d012765aa9294727c6082e76777e56a50bf" dependencies = [ "async-trait", - "flume", + "flume 0.11.0", "fragile", "futures", "gtk4", @@ -2380,23 +2443,23 @@ dependencies = [ [[package]] name = "relm4-macros" -version = "0.6.2" +version = "0.7.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9340e2553c0a184a80a0bfa1dcf73c47f3d48933aa6be90724b202f9fbd24735" +checksum = "086047e49d6426fd9f53109950f205d2ed88027d5fecfece724e6722904fe473" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "rfd" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241a0deb168c88050d872294f7b3106c1dfa8740942bcc97bc91b98e97b5c501" +checksum = "3c9e7b57df6e8472152674607f6cc68aa14a748a3157a857a94f516e11aeacc2" dependencies = [ "ashpd", - "async-io", + "async-io 1.13.0", "block", "dispatch", "futures-util", @@ -2416,17 +2479,16 @@ dependencies = [ [[package]] name = "ring" -version = "0.16.20" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b" dependencies = [ "cc", + "getrandom", "libc", - "once_cell", - "spin 0.5.2", + "spin", "untrusted", - "web-sys", - "winapi", + "windows-sys", ] [[package]] @@ -2452,9 +2514,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.37.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" dependencies = [ "bitflags 1.3.2", "errno", @@ -2466,22 +2528,22 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.14" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", - "linux-raw-sys 0.4.7", + "linux-raw-sys 0.4.11", "windows-sys", ] [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" dependencies = [ "log", "ring", @@ -2503,18 +2565,18 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.4", + "base64 0.21.5", ] [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ "ring", "untrusted", @@ -2552,9 +2614,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ "ring", "untrusted", @@ -2585,41 +2647,50 @@ dependencies = [ [[package]] name = "self_cell" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af" +checksum = "e14e4d63b804dc0c7ec4a1e52bcb63f02c7ac94476755aa579edac21e01f915d" +dependencies = [ + "self_cell 1.0.2", +] + +[[package]] +name = "self_cell" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e388332cd64eb80cd595a00941baf513caffae8dce9cfd0467fc9c66397dade6" [[package]] name = "semver" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.188" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -2628,20 +2699,20 @@ dependencies = [ [[package]] name = "serde_repr" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00" +checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "serde_spanned" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" dependencies = [ "serde", ] @@ -2670,9 +2741,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b21f559e07218024e7e9f90f96f601825397de0e25420135f7f952453fed0b" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" dependencies = [ "lazy_static", ] @@ -2697,9 +2768,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" [[package]] name = "snafu" @@ -2725,9 +2796,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" dependencies = [ "libc", "winapi", @@ -2735,20 +2806,14 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e" +checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" dependencies = [ "libc", "windows-sys", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -2789,9 +2854,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.37" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -2815,9 +2880,9 @@ dependencies = [ [[package]] name = "system-deps" -version = "6.1.1" +version = "6.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3" +checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331" dependencies = [ "cfg-expr", "heck", @@ -2839,41 +2904,41 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.11" +version = "0.12.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" +checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", "fastrand 2.0.1", - "redox_syscall", - "rustix 0.38.14", + "redox_syscall 0.4.1", + "rustix 0.38.21", "windows-sys", ] [[package]] name = "thiserror" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.49" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] @@ -2888,11 +2953,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.29" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", + "powerfmt", "serde", "time-core", ] @@ -2905,9 +2971,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "tinystr" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b07bb54ef1f8ff27564b08b861144d3b8d40263efe07684f64987f4c0d044e3e" +checksum = "d5d0e245e80bdc9b4e5356fc45a72184abbc3861992603f515270e9340f5a219" dependencies = [ "displaydoc", ] @@ -2929,9 +2995,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "num_cpus", @@ -2940,21 +3006,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.7.8" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.21.0", ] [[package]] name = "toml_datetime" -version = "0.6.3" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" dependencies = [ "serde", ] @@ -2964,6 +3030,28 @@ name = "toml_edit" version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.20.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + +[[package]] +name = "toml_edit" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ "indexmap", "serde", @@ -2974,11 +3062,10 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.37" +version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "cfg-if", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -2986,20 +3073,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.26" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", ] [[package]] name = "tracing-core" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", "valuable", @@ -3007,12 +3094,12 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ - "lazy_static", "log", + "once_cell", "tracing-core", ] @@ -3121,9 +3208,9 @@ dependencies = [ [[package]] name = "untrusted" -version = "0.7.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" @@ -3160,9 +3247,9 @@ dependencies = [ [[package]] name = "uuid" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ "getrandom", ] @@ -3175,9 +3262,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3" +checksum = "4a72e1902dde2bd6441347de2b70b7f5d59bf157c6c62f0c44572607a1d55bbe" [[package]] name = "version-compare" @@ -3215,9 +3302,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3225,24 +3312,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" dependencies = [ "cfg-if", "js-sys", @@ -3252,9 +3339,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3262,28 +3349,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.37", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85" dependencies = [ "js-sys", "wasm-bindgen", @@ -3411,9 +3498,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.15" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] @@ -3464,8 +3551,8 @@ dependencies = [ "async-broadcast", "async-executor", "async-fs", - "async-io", - "async-lock", + "async-io 1.13.0", + "async-lock 2.8.0", "async-process", "async-recursion", "async-task", @@ -3502,7 +3589,7 @@ version = "3.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "regex", @@ -3521,6 +3608,26 @@ dependencies = [ "zvariant", ] +[[package]] +name = "zerocopy" +version = "0.7.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cd369a67c0edfef15010f980c3cbe45d7f651deac2cd67ce097cd801de16557" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2f140bda219a26ccc0cdb03dba58af72590c53b22642577d88a927bc5c87d6b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.39", +] + [[package]] name = "zip" version = "0.6.6" @@ -3562,12 +3669,11 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.8+zstd.1.5.5" +version = "2.0.9+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +checksum = "9e16efa8a874a0481a574084d34cc26fdb3b99627480f785888deb6386506656" dependencies = [ "cc", - "libc", "pkg-config", ] @@ -3592,7 +3698,7 @@ version = "3.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd" dependencies = [ - "proc-macro-crate", + "proc-macro-crate 1.3.1", "proc-macro2", "quote", "syn 1.0.109", diff --git a/Cargo.toml b/Cargo.toml index 0ae4312..01a39a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -25,11 +25,11 @@ features = ["all", "genshin"] # path = "../anime-launcher-sdk" # ! for dev purposes only [dependencies] -relm4 = { version = "0.6.0", features = ["macros", "libadwaita"] } -gtk = { package = "gtk4", version = "0.6", features = ["v4_8"] } -adw = { package = "libadwaita", version = "0.4", features = ["v1_2"] } +relm4 = { version = "0.7.0-beta.2", features = ["macros", "libadwaita"] } +gtk = { package = "gtk4", version = "0.7.3", features = ["v4_12"] } +adw = { package = "libadwaita", version = "0.5.3", features = ["v1_3"] } -rfd = { version = "0.12.0", features = ["xdg-portal"], default-features = false } +rfd = { version = "0.12.1", features = ["xdg-portal"], default-features = false } open = "5.0.0" whatadistro = "0.1.0" @@ -45,4 +45,4 @@ tracing-subscriber = "0.3" fluent-templates = "0.8" unic-langid = "0.9" -human-panic = "1.2.0" +human-panic = "1.2.2" diff --git a/assets/locales/common.ftl b/assets/locales/common.ftl index cd99cbc..7627b70 100644 --- a/assets/locales/common.ftl +++ b/assets/locales/common.ftl @@ -19,14 +19,15 @@ ru-ru = Русский de-de = Deutsch fr-fr = Français es-es = Español -tr-tr = Türkçe +pt-br = Português it-it = Italiano -id-id = Indonesia -zh-cn = 简体中文 -ja-jp = 日本語 +tr-tr = Türkçe +pl-pl = Polski hu-hu = Magyar sv-se = Svenska -pt-br = Português -pl-pl = Polski -vi-vn = Tiếng Việt nl-nl = Nederlands +zh-cn = 简体中文 +ja-jp = 日本語 +ko-kr = 한국어 +id-id = Indonesia +vi-vn = Tiếng Việt diff --git a/src/ui/about.rs b/src/ui/about.rs index e7b0b2d..e93d29b 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -113,7 +113,7 @@ impl SimpleComponent for AboutDialog { connect_close_request[sender] => move |_| { sender.input(AboutDialogMsg::Hide); - gtk::Inhibit(false) + gtk::glib::Propagation::Proceed } } } diff --git a/src/ui/components/group.rs b/src/ui/components/group.rs index 966e3b6..356903f 100644 --- a/src/ui/components/group.rs +++ b/src/ui/components/group.rs @@ -1,8 +1,6 @@ use std::path::PathBuf; use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use super::ComponentsListMsg; diff --git a/src/ui/components/list.rs b/src/ui/components/list.rs index 1289c24..1467aa1 100644 --- a/src/ui/components/list.rs +++ b/src/ui/components/list.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use super::ComponentGroupMsg; diff --git a/src/ui/components/progress_bar.rs b/src/ui/components/progress_bar.rs index 8b2a35c..e041094 100644 --- a/src/ui/components/progress_bar.rs +++ b/src/ui/components/progress_bar.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::anime_game_core::prelude::*; diff --git a/src/ui/components/version.rs b/src/ui/components/version.rs index 7b5edea..ccc6089 100644 --- a/src/ui/components/version.rs +++ b/src/ui/components/version.rs @@ -1,7 +1,6 @@ use std::path::PathBuf; use relm4::prelude::*; -use relm4::component::*; use gtk::prelude::*; use adw::prelude::*; diff --git a/src/ui/first_run/default_paths.rs b/src/ui/first_run/default_paths.rs index 6e2a96c..6885af2 100644 --- a/src/ui/first_run/default_paths.rs +++ b/src/ui/first_run/default_paths.rs @@ -1,8 +1,6 @@ use std::path::PathBuf; use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use crate::*; @@ -79,13 +77,16 @@ impl SimpleAsyncComponent for DefaultPathsApp { adw::ActionRow { set_title: &tr!("launcher-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.launcher.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Launcher) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Launcher), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, }, @@ -117,90 +118,114 @@ impl SimpleAsyncComponent for DefaultPathsApp { adw::ActionRow { set_title: &tr!("runners-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.runners.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Runners) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Runners), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("dxvks-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.dxvks.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::DXVK) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::DXVK), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("wine-prefix-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.prefix.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Prefix) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Prefix), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("global-game-installation-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.game_global.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::GameGlobal) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::GameGlobal), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("chinese-game-installation-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.game_china.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::GameChina) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::GameChina), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("fps-unlocker-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.fps_unlocker.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::FpsUnlocker) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::FpsUnlocker), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("components-index"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.components.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Components) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Components), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { set_title: &tr!("temp-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.temp.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Temp) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Temp), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, }, diff --git a/src/ui/first_run/dependencies.rs b/src/ui/first_run/dependencies.rs index 5c4a979..0605581 100644 --- a/src/ui/first_run/dependencies.rs +++ b/src/ui/first_run/dependencies.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::is_available; diff --git a/src/ui/first_run/download_components.rs b/src/ui/first_run/download_components.rs index f091464..5e8168f 100644 --- a/src/ui/first_run/download_components.rs +++ b/src/ui/first_run/download_components.rs @@ -1,8 +1,6 @@ use std::path::PathBuf; use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::anime_game_core::prelude::*; @@ -163,11 +161,13 @@ impl SimpleAsyncComponent for DownloadComponentsApp { #[watch] set_subtitle: &model.downloading_wine_version, - #[watch] - set_icon_name: match model.downloading_wine { - Some(true) => Some("emblem-ok-symbolic"), - Some(false) => None, // Some("process-working"), - None => None + add_prefix = >k::Image { + #[watch] + set_icon_name: match model.downloading_wine { + Some(true) => Some("emblem-ok-symbolic"), + Some(false) => None, // Some("process-working"), + None => None + } }, add_prefix = >k::Spinner { @@ -184,11 +184,13 @@ impl SimpleAsyncComponent for DownloadComponentsApp { #[watch] set_subtitle: &model.creating_prefix_path, - #[watch] - set_icon_name: match model.creating_prefix { - Some(true) => Some("emblem-ok-symbolic"), - Some(false) => None, // Some("process-working"), - None => None + add_prefix = >k::Image { + #[watch] + set_icon_name: match model.creating_prefix { + Some(true) => Some("emblem-ok-symbolic"), + Some(false) => None, // Some("process-working"), + None => None + } }, add_prefix = >k::Spinner { @@ -205,11 +207,13 @@ impl SimpleAsyncComponent for DownloadComponentsApp { #[watch] set_subtitle: &model.downloading_dxvk_version, - #[watch] - set_icon_name: match model.downloading_dxvk { - Some(true) => Some("emblem-ok-symbolic"), - Some(false) => None, // Some("process-working"), - None => None + add_prefix = >k::Image { + #[watch] + set_icon_name: match model.downloading_dxvk { + Some(true) => Some("emblem-ok-symbolic"), + Some(false) => None, // Some("process-working"), + None => None + } }, add_prefix = >k::Spinner { @@ -223,11 +227,13 @@ impl SimpleAsyncComponent for DownloadComponentsApp { adw::ActionRow { set_title: &tr!("apply-dxvk"), - #[watch] - set_icon_name: match model.applying_dxvk { - Some(true) => Some("emblem-ok-symbolic"), - Some(false) => None, // Some("process-working"), - None => None + add_prefix = >k::Image { + #[watch] + set_icon_name: match model.applying_dxvk { + Some(true) => Some("emblem-ok-symbolic"), + Some(false) => None, // Some("process-working"), + None => None + } }, add_prefix = >k::Spinner { diff --git a/src/ui/first_run/finish.rs b/src/ui/first_run/finish.rs index 684ef19..ea2163c 100644 --- a/src/ui/first_run/finish.rs +++ b/src/ui/first_run/finish.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use crate::*; diff --git a/src/ui/first_run/main.rs b/src/ui/first_run/main.rs index 29be6d7..a34a5f9 100644 --- a/src/ui/first_run/main.rs +++ b/src/ui/first_run/main.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use gtk::prelude::*; use adw::prelude::*; diff --git a/src/ui/first_run/select_voiceovers.rs b/src/ui/first_run/select_voiceovers.rs index 28fbbe0..4ea632b 100644 --- a/src/ui/first_run/select_voiceovers.rs +++ b/src/ui/first_run/select_voiceovers.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::config::ConfigExt; diff --git a/src/ui/first_run/welcome.rs b/src/ui/first_run/welcome.rs index 3bb7e8c..829df0b 100644 --- a/src/ui/first_run/welcome.rs +++ b/src/ui/first_run/welcome.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::is_available; diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index 8f8b8e3..744fdfb 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -1,6 +1,5 @@ use relm4::{ prelude::*, - component::*, actions::*, MessageBroker }; @@ -611,7 +610,7 @@ impl SimpleComponent for App { }); } - gtk::Inhibit::default() + gtk::glib::Propagation::Proceed } } } diff --git a/src/ui/migrate_installation.rs b/src/ui/migrate_installation.rs index 5733b91..6f115e6 100644 --- a/src/ui/migrate_installation.rs +++ b/src/ui/migrate_installation.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use gtk::prelude::*; use crate::tr; diff --git a/src/ui/preferences/enhancements/environment.rs b/src/ui/preferences/enhancements/environment.rs index fdbcfba..f7d925b 100644 --- a/src/ui/preferences/enhancements/environment.rs +++ b/src/ui/preferences/enhancements/environment.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use relm4::factory::*; use adw::prelude::*; @@ -20,7 +19,6 @@ impl AsyncFactoryComponent for Variable { type Input = EnvironmentPageMsg; type Output = EnvironmentPageMsg; type CommandOutput = (); - type ParentInput = EnvironmentPageMsg; type ParentWidget = adw::PreferencesGroup; view! { @@ -34,7 +32,8 @@ impl AsyncFactoryComponent for Variable { set_valign: gtk::Align::Center, connect_clicked[sender, index] => move |_| { - sender.output(EnvironmentPageMsg::Remove(index.clone())); + sender.output(EnvironmentPageMsg::Remove(index.clone())) + .unwrap(); } } } @@ -50,10 +49,6 @@ impl AsyncFactoryComponent for Variable { value: init.1 } } - - fn forward_to_parent(output: Self::Output) -> Option { - Some(output) - } } pub struct EnvironmentPage { @@ -164,7 +159,9 @@ impl SimpleAsyncComponent for EnvironmentPage { tracing::info!("Initializing environment settings"); let mut model = Self { - variables: AsyncFactoryVecDeque::new(adw::PreferencesGroup::new(), sender.input_sender()), + variables: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), name_entry: adw::EntryRow::new(), value_entry: adw::EntryRow::new() diff --git a/src/ui/preferences/enhancements/game.rs b/src/ui/preferences/enhancements/game.rs index 78857cd..081c655 100644 --- a/src/ui/preferences/enhancements/game.rs +++ b/src/ui/preferences/enhancements/game.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use relm4::factory::*; use adw::prelude::*; @@ -24,7 +23,6 @@ impl AsyncFactoryComponent for GameSession { type Input = GamePageMsg; type Output = GamePageMsg; type CommandOutput = (); - type ParentInput = GamePageMsg; type ParentWidget = adw::PreferencesGroup; view! { @@ -48,7 +46,8 @@ impl AsyncFactoryComponent for GameSession { set_valign: gtk::Align::Center, connect_clicked[sender, index] => move |_| { - sender.output(GamePageMsg::UpdateSession(index.current_index())); + sender.output(GamePageMsg::UpdateSession(index.current_index())) + .unwrap(); } }, @@ -61,14 +60,16 @@ impl AsyncFactoryComponent for GameSession { set_valign: gtk::Align::Center, connect_clicked[sender, index] => move |_| { - sender.output(GamePageMsg::RemoveSession(index.current_index())); + sender.output(GamePageMsg::RemoveSession(index.current_index())) + .unwrap(); } }, set_activatable: true, connect_activated[sender, index] => move |_| { - sender.output(GamePageMsg::SetCurrent(index.current_index())); + sender.output(GamePageMsg::SetCurrent(index.current_index())) + .unwrap(); } } } @@ -80,10 +81,6 @@ impl AsyncFactoryComponent for GameSession { ) -> Self { init } - - fn forward_to_parent(output: Self::Output) -> Option { - Some(output) - } } pub struct GamePage { @@ -162,7 +159,9 @@ impl SimpleAsyncComponent for GamePage { tracing::info!("Initializing game settings"); let mut model = Self { - sessions: AsyncFactoryVecDeque::new(adw::PreferencesGroup::new(), sender.input_sender()), + sessions: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), sessions_root_widget: gtk::CheckButton::new(), session_name_entry: adw::EntryRow::new() diff --git a/src/ui/preferences/enhancements/mod.rs b/src/ui/preferences/enhancements/mod.rs index 40f214e..f55cb96 100644 --- a/src/ui/preferences/enhancements/mod.rs +++ b/src/ui/preferences/enhancements/mod.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use relm4::factory::{ AsyncFactoryComponent, @@ -45,7 +44,6 @@ impl AsyncFactoryComponent for DiscordRpcIcon { type Input = EnhancementsAppMsg; type Output = EnhancementsAppMsg; type CommandOutput = (); - type ParentInput = EnhancementsAppMsg; type ParentWidget = adw::ExpanderRow; view! { @@ -70,7 +68,8 @@ impl AsyncFactoryComponent for DiscordRpcIcon { set_activatable: true, connect_activated[sender, index] => move |_| { - sender.output(EnhancementsAppMsg::SetDiscordRpcIcon(index.clone())); + sender.output(EnhancementsAppMsg::SetDiscordRpcIcon(index.clone())) + .unwrap(); } } } @@ -83,11 +82,6 @@ impl AsyncFactoryComponent for DiscordRpcIcon { ) -> Self { init } - - #[inline] - fn forward_to_parent(output: Self::Output) -> Option { - Some(output) - } } pub struct EnhancementsApp { @@ -102,7 +96,7 @@ pub struct EnhancementsApp { #[derive(Debug)] pub enum EnhancementsAppMsg { - SetGamescopeParent(adw::PreferencesWindow), + SetGamescopeParent, SetDiscordRpcIcon(DynamicIndex), @@ -721,7 +715,10 @@ impl SimpleAsyncComponent for EnhancementsApp { tracing::info!("Initializing enhancements settings"); let mut model = Self { - discord_rpc_icons: AsyncFactoryVecDeque::new(adw::ExpanderRow::new(), sender.input_sender()), + discord_rpc_icons: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), + discord_rpc_root_check_button: gtk::CheckButton::new(), gamescope: GamescopeApp::builder() @@ -792,6 +789,7 @@ impl SimpleAsyncComponent for EnhancementsApp { model.discord_rpc_icons.guard().push_back(DiscordRpcIcon { check_button, + name: icon.name.clone(), path: cache_file.clone() }); @@ -818,8 +816,8 @@ impl SimpleAsyncComponent for EnhancementsApp { async fn update(&mut self, msg: Self::Input, sender: AsyncComponentSender) { match msg { - EnhancementsAppMsg::SetGamescopeParent(parent) => { - self.gamescope.widget().set_transient_for(Some(&parent)); + EnhancementsAppMsg::SetGamescopeParent => unsafe { + self.gamescope.widget().set_transient_for(super::main::PREFERENCES_WINDOW.as_ref()); } EnhancementsAppMsg::SetDiscordRpcIcon(index) => { diff --git a/src/ui/preferences/enhancements/sandbox.rs b/src/ui/preferences/enhancements/sandbox.rs index 24c5cd0..8aa3b7f 100644 --- a/src/ui/preferences/enhancements/sandbox.rs +++ b/src/ui/preferences/enhancements/sandbox.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use relm4::factory::*; use adw::prelude::*; @@ -24,7 +23,6 @@ macro_rules! impl_directory { type Input = SandboxPageMsg; type Output = SandboxPageMsg; type CommandOutput = (); - type ParentInput = SandboxPageMsg; type ParentWidget = adw::PreferencesGroup; view! { @@ -41,7 +39,8 @@ macro_rules! impl_directory { set_valign: gtk::Align::Center, connect_clicked[sender, index] => move |_| { - sender.output($msg(index.clone())); + sender.output($msg(index.clone())) + .unwrap(); } } } @@ -57,10 +56,6 @@ macro_rules! impl_directory { to: init.1 } } - - fn forward_to_parent(output: Self::Output) -> Option { - Some(output) - } } } } @@ -335,9 +330,17 @@ impl SimpleAsyncComponent for SandboxPage { tracing::info!("Initializing sandbox settings"); let mut model = Self { - private_paths: AsyncFactoryVecDeque::new(adw::PreferencesGroup::new(), sender.input_sender()), - shared_paths: AsyncFactoryVecDeque::new(adw::PreferencesGroup::new(), sender.input_sender()), - symlink_paths: AsyncFactoryVecDeque::new(adw::PreferencesGroup::new(), sender.input_sender()), + private_paths: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), + + shared_paths: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), + + symlink_paths: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), private_path_entry: adw::EntryRow::new(), diff --git a/src/ui/preferences/gamescope.rs b/src/ui/preferences/gamescope.rs index c5db371..8a4163b 100644 --- a/src/ui/preferences/gamescope.rs +++ b/src/ui/preferences/gamescope.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::config::ConfigExt; diff --git a/src/ui/preferences/general/components.rs b/src/ui/preferences/general/components.rs index 988085b..bf8dfff 100644 --- a/src/ui/preferences/general/components.rs +++ b/src/ui/preferences/general/components.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use gtk::prelude::*; use adw::prelude::*; diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 6cd3c52..1300115 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -1,5 +1,5 @@ use relm4::prelude::*; -use relm4::component::*; + use relm4::factory::{ AsyncFactoryVecDeque, AsyncFactoryComponent, @@ -41,7 +41,6 @@ impl AsyncFactoryComponent for VoicePackageComponent { type Input = GeneralAppMsg; type Output = GeneralAppMsg; type CommandOutput = (); - type ParentInput = GeneralAppMsg; type ParentWidget = adw::ExpanderRow; view! { @@ -97,11 +96,8 @@ impl AsyncFactoryComponent for VoicePackageComponent { async fn update(&mut self, msg: Self::Input, sender: AsyncFactorySender) { self.installed = !self.installed; - sender.output(msg); - } - - fn forward_to_parent(output: Self::Output) -> Option { - Some(output) + sender.output(msg) + .unwrap(); } } @@ -543,7 +539,9 @@ impl SimpleAsyncComponent for GeneralApp { tracing::info!("Initializing general settings"); let mut model = Self { - voice_packages: AsyncFactoryVecDeque::new(adw::ExpanderRow::new(), sender.input_sender()), + voice_packages: AsyncFactoryVecDeque::builder() + .launch_default() + .forward(sender.input_sender(), std::convert::identity), migrate_installation: MigrateInstallationApp::builder() .launch(()) @@ -655,7 +653,7 @@ impl SimpleAsyncComponent for GeneralApp { self.migrate_installation.widget().set_transient_for(Some(window.widget())); } - self.migrate_installation.widget().show(); + self.migrate_installation.widget().present(); } GeneralAppMsg::RepairGame => { diff --git a/src/ui/preferences/main.rs b/src/ui/preferences/main.rs index 28899c7..f065666 100644 --- a/src/ui/preferences/main.rs +++ b/src/ui/preferences/main.rs @@ -1,5 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; use gtk::prelude::*; use adw::prelude::*; @@ -64,7 +63,7 @@ impl SimpleAsyncComponent for PreferencesApp { }); } - gtk::Inhibit::default() + gtk::glib::Propagation::Proceed } } } @@ -94,12 +93,10 @@ impl SimpleAsyncComponent for PreferencesApp { PREFERENCES_WINDOW = Some(widgets.preferences_window.clone()); } - #[allow(unused_must_use)] { - model.enhancements.sender().send(EnhancementsAppMsg::SetGamescopeParent(widgets.preferences_window.clone())); + model.enhancements.emit(EnhancementsAppMsg::SetGamescopeParent); - model.general.sender().send(GeneralAppMsg::UpdateDownloadedWine); - model.general.sender().send(GeneralAppMsg::UpdateDownloadedDxvk); - } + model.general.emit(GeneralAppMsg::UpdateDownloadedWine); + model.general.emit(GeneralAppMsg::UpdateDownloadedDxvk); AsyncComponentParts { model, widgets } } @@ -108,9 +105,8 @@ impl SimpleAsyncComponent for PreferencesApp { tracing::debug!("Called preferences window event: {:?}", msg); match msg { - #[allow(unused_must_use)] PreferencesAppMsg::SetGameDiff(diff) => { - self.general.sender().send(GeneralAppMsg::SetGameDiff(diff)); + self.general.emit(GeneralAppMsg::SetGameDiff(diff)); } #[allow(unused_must_use)] From cac3497600f133219db20cb72d6ee518945eb817 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 16:51:00 +0200 Subject: [PATCH 16/23] fix: fixed fluentscan.py script --- fluentscan.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fluentscan.py b/fluentscan.py index 8558b8d..8fc858b 100755 --- a/fluentscan.py +++ b/fluentscan.py @@ -168,7 +168,7 @@ if command == "unused": output += f"[en/{all_entries[i][0]}]\n [Unused]\n" output += f" {all_entries[i][1]} | {i} = {every_variable[i].strip()}\n" - output = re.sub("\[en", "\n[en", output) + output = re.sub("\\[en", "\n[en", output) if not output: print("Nothing is unused") @@ -187,7 +187,7 @@ elif command == "missing": output += f"[{missing_entries[i]}]\n [Missing]\n" output += f" {script_entries[i][1]} | {i}\n" - output = re.sub("\[src/", "\n[src/", output) + output = re.sub("\\[src/", "\n[src/", output) if not output: print("Nothing is missing") sys.exit() From 142872bfebaa411eb0c5203a0cd2ea56c9633b79 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 16:51:24 +0200 Subject: [PATCH 17/23] feat(i18n): updated Japanese --- assets/locales/ja/enhancements.ftl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/locales/ja/enhancements.ftl b/assets/locales/ja/enhancements.ftl index ce62554..b32d3fa 100644 --- a/assets/locales/ja/enhancements.ftl +++ b/assets/locales/ja/enhancements.ftl @@ -14,11 +14,11 @@ system = システム borderless-window = ボーダーレスウィンドウ virtual-desktop = 仮想デスクトップ -map-drive-c = Cドライブを作成する -map-drive-c-description = DOSデバイスに、WineプレフィックスのCドライブのソフトリンクを自動的に作成します +map-drive-c = WineプレフィックスにCドライブをマップする。 +map-drive-c-description = prefixフォルダーの "dosdevices" フォルダーにCドライブのソフトリンクを自動的に作成します -map-game-folder = ゲームフォルダを作成する。 -map-game-folder-description = DOSデバイスにゲームフォルダのソフトリンクを自動的に作成します +map-game-folder = Wineプレフィックスにゲームフォルダをマップする。 +map-game-folder-description = prefixフォルダーの "dosdevices" フォルダーにゲームフォルダのソフトリンクを自動的に作成します game = ゲーム From 544cf245cca80a29e924b012fbb5adf412108188 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 17:03:46 +0200 Subject: [PATCH 18/23] Addition to the merge request --- Cargo.lock | 339 ++++++++++++------------------ src/ui/first_run/default_paths.rs | 7 +- src/ui/first_run/tos_warning.rs | 4 +- 3 files changed, 141 insertions(+), 209 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 02d486b..29f52b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -29,10 +29,22 @@ dependencies = [ ] [[package]] -name = "aho-corasick" -version = "1.0.4" +name = "ahash" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" dependencies = [ "memchr", ] @@ -126,9 +138,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.2" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys", @@ -275,10 +287,10 @@ dependencies = [ ] [[package]] -name = "async-lock" -version = "2.8.0" +name = "async-io" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997" dependencies = [ "async-lock 3.1.0", "cfg-if", @@ -339,7 +351,25 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io 2.2.0", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.21", + "signal-hook-registry", + "slab", + "windows-sys", ] [[package]] @@ -376,13 +406,13 @@ checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" [[package]] name = "async-trait" -version = "0.1.73" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -438,9 +468,22 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "blake3" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87" +dependencies = [ + "arrayref", + "arrayvec", + "cc", + "cfg-if", + "constant_time_eq 0.3.0", +] [[package]] name = "block" @@ -576,9 +619,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.82" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +checksum = "0f8e7c90afad890484a21653d08b6e209ae34770fb5ee298f9c699fcc1e5c856" dependencies = [ "libc", ] @@ -750,9 +793,12 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +dependencies = [ + "powerfmt", +] [[package]] name = "derivative" @@ -802,7 +848,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -839,7 +885,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -860,7 +906,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -939,15 +985,15 @@ checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if", "libc", - "redox_syscall", + "redox_syscall 0.3.5", "windows-sys", ] [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", @@ -1165,7 +1211,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -1691,17 +1737,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix 0.38.8", - "windows-sys", -] - [[package]] name = "is-wsl" version = "0.4.0" @@ -2104,30 +2139,7 @@ dependencies = [ name = "parking" version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.48.5", -] +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" [[package]] name = "password-hash" @@ -2164,31 +2176,11 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" -[[package]] -name = "pin-project" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.29", -] - [[package]] name = "pin-project-lite" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -2382,7 +2374,6 @@ checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ "crossbeam-deque", "crossbeam-utils", - "num_cpus", ] [[package]] @@ -2395,10 +2386,19 @@ dependencies = [ ] [[package]] -name = "regex" -version = "1.9.3" +name = "redox_syscall" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", @@ -2408,9 +2408,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.6" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -2425,9 +2425,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "relm4" -version = "0.6.1" +version = "0.7.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813306b9bc23e2f1e719801eb9aa59e4c2f96830be951a6168ad0c53363c6196" +checksum = "f505ac255c34dc85b8b189cbc8e12d012765aa9294727c6082e76777e56a50bf" dependencies = [ "async-trait", "flume 0.11.0", @@ -2443,13 +2443,13 @@ dependencies = [ [[package]] name = "relm4-macros" -version = "0.6.1" +version = "0.7.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad8d946cf33654b1df3e2e7d1c4952a154f008368cdda03a99c1840a6fcab3b" +checksum = "086047e49d6426fd9f53109950f205d2ed88027d5fecfece724e6722904fe473" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -2528,11 +2528,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.8" +version = "0.38.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" +checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" dependencies = [ - "bitflags 2.4.0", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys 0.4.11", @@ -2668,29 +2668,29 @@ checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "bca2a08484b285dcb282d0f67b26cadc0df8b19f8c12502c13d966bf9482f001" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.192" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "d6c7207fbec9faa48073f3e3074cbe553af6ea512d7c21ba46e434e70ea9fbc1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] name = "serde_json" -version = "1.0.105" +version = "1.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" dependencies = [ "itoa", "ryu", @@ -2705,7 +2705,7 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -2854,9 +2854,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.29" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", @@ -2865,9 +2865,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.29.8" +version = "0.29.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d10ed79c22663a35a255d289a7fdcb43559fc77ff15df5ce6c341809e7867528" +checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5" dependencies = [ "cfg-if", "core-foundation-sys", @@ -2910,35 +2910,35 @@ checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" [[package]] name = "tempfile" -version = "3.8.0" +version = "3.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" dependencies = [ "cfg-if", - "fastrand 2.0.0", - "redox_syscall", - "rustix 0.38.8", + "fastrand 2.0.1", + "redox_syscall 0.4.1", + "rustix 0.38.21", "windows-sys", ] [[package]] name = "thiserror" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.47" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -2953,9 +2953,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.26" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "powerfmt", @@ -2995,25 +2995,13 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.32.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "num_cpus", "pin-project-lite", - "tokio-macros", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.29", ] [[package]] @@ -3091,7 +3079,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", ] [[package]] @@ -3333,7 +3321,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", "wasm-bindgen-shared", ] @@ -3367,7 +3355,7 @@ checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.39", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3448,7 +3436,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -3457,108 +3445,51 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - [[package]] name = "windows_i686_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - [[package]] name = "windows_i686_msvc" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -3567,9 +3498,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.14" +version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97" +checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" dependencies = [ "memchr", ] diff --git a/src/ui/first_run/default_paths.rs b/src/ui/first_run/default_paths.rs index b907f5e..0648624 100644 --- a/src/ui/first_run/default_paths.rs +++ b/src/ui/first_run/default_paths.rs @@ -202,13 +202,16 @@ impl SimpleAsyncComponent for DefaultPathsApp { adw::ActionRow { set_title: &tr!("patch-folder"), - set_icon_name: Some("folder-symbolic"), set_activatable: true, #[watch] set_subtitle: model.patch.to_str().unwrap(), - connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Patch) + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Patch), + + add_prefix = >k::Image { + set_icon_name: Some("folder-symbolic") + } }, adw::ActionRow { diff --git a/src/ui/first_run/tos_warning.rs b/src/ui/first_run/tos_warning.rs index f5a475f..0c40b5c 100644 --- a/src/ui/first_run/tos_warning.rs +++ b/src/ui/first_run/tos_warning.rs @@ -1,6 +1,4 @@ use relm4::prelude::*; -use relm4::component::*; - use adw::prelude::*; use anime_launcher_sdk::is_available; @@ -116,7 +114,7 @@ impl SimpleAsyncComponent for TosWarningApp { } }); - dialog.show(); + dialog.present(); } TosWarningAppMsg::Exit => relm4::main_application().quit() From b93172f7d92e911b48758ccdaa07851052b7677d Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 18:10:16 +0200 Subject: [PATCH 19/23] feat: initial voiceovers integration --- Cargo.lock | 8 ++-- Cargo.toml | 2 +- src/ui/preferences/general/mod.rs | 78 +++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 29f52b3..5155c70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "anime-game-core" -version = "1.16.1" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.16.1#5864e5f00219c3355fc3f4cc2ac3a730a5397391" +version = "1.17.0" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.0#e2cd6d91ef80d9fba72e0abe2e71b802d558dd75" dependencies = [ "anyhow", "bzip2", @@ -82,8 +82,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.11.4" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.4#ea5a501a0f4dec6dee0cc33d5b2d6757503764cb" +version = "1.12.0" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.12.0#eaa6db3a68c6c73120589185e78c707945d7723f" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 43c306c..7bfeef0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ glib-build-tools = "0.18" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.11.4" +tag = "1.12.0" features = ["all", "star-rail", "star-rail-patch"] # path = "../anime-launcher-sdk" # ! for dev purposes only diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 23f695e..05db170 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -123,6 +123,13 @@ pub enum GeneralAppMsg { /// was retrieved from remote repos SetMainPatch(Option<(Version, JadeitePatchStatusVariant)>), + // If one ever wish to change it to accept VoiceLocale + // I'd recommend to use clone!(@strong self.locale as locale => move |_| { .. }) + // in the VoicePackage component + AddVoicePackage(DynamicIndex), + RemoveVoicePackage(DynamicIndex), + SetVoicePackageSensitivity(DynamicIndex, bool), + UpdateDownloadedWine, UpdateDownloadedDxvk, @@ -296,6 +303,12 @@ impl SimpleAsyncComponent for GeneralApp { } }, + #[local_ref] + voice_packages -> adw::ExpanderRow { + set_title: &tr!("game-voiceovers"), + set_subtitle: &tr!("game-voiceovers-description") + }, + gtk::Box { set_orientation: gtk::Orientation::Horizontal, set_spacing: 8, @@ -550,6 +563,14 @@ impl SimpleAsyncComponent for GeneralApp { languages: SUPPORTED_LANGUAGES.iter().map(|lang| tr!(format_lang(lang).as_str())).collect() }; + for package in VoiceLocale::list() { + model.voice_packages.guard().push_back(( + *package, + CONFIG.game.voices.iter().any(|voice| VoiceLocale::from_str(voice) == Some(*package)) + )); + } + + let voice_packages = model.voice_packages.widget(); let components_page = model.components_page.widget(); let widgets = view_output!(); @@ -569,6 +590,63 @@ impl SimpleAsyncComponent for GeneralApp { self.main_patch = patch; } + #[allow(unused_must_use)] + GeneralAppMsg::AddVoicePackage(index) => { + if let Some(package) = self.voice_packages.get(index.current_index()) { + if let Ok(mut config) = Config::get() { + if !config.game.voices.iter().any(|voice| VoiceLocale::from_str(voice) == Some(package.locale)) { + config.game.voices.push(package.locale.to_code().to_string()); + + Config::update(config); + + sender.output(PreferencesAppMsg::UpdateLauncherState); + } + } + } + } + + #[allow(unused_must_use)] + GeneralAppMsg::RemoveVoicePackage(index) => { + if let Some(package) = self.voice_packages.guard().get_mut(index.current_index()) { + if let Ok(mut config) = Config::get() { + package.sensitive = false; + + config.game.voices.retain(|voice| VoiceLocale::from_str(voice) != Some(package.locale)); + + Config::update(config.clone()); + + let package = VoicePackage::with_locale(package.locale, config.launcher.edition).unwrap(); + let game_path = config.game.path.for_edition(config.launcher.edition).to_path_buf(); + + if package.is_installed_in(&game_path) { + std::thread::spawn(move || { + if let Err(err) = package.delete_in(game_path) { + tracing::error!("Failed to delete voice package: {:?}", package.locale()); + + sender.input(GeneralAppMsg::Toast { + title: tr!("voice-package-deletion-error"), + description: Some(err.to_string()) + }); + } + + sender.input(GeneralAppMsg::SetVoicePackageSensitivity(index, true)); + sender.output(PreferencesAppMsg::UpdateLauncherState); + }); + } + + else { + sender.input(GeneralAppMsg::SetVoicePackageSensitivity(index, true)); + } + } + } + } + + GeneralAppMsg::SetVoicePackageSensitivity(index, sensitive) => { + if let Some(package) = self.voice_packages.guard().get_mut(index.current_index()) { + package.sensitive = sensitive; + } + } + GeneralAppMsg::UpdateDownloadedWine => { self.components_page.sender() .send(ComponentsPageMsg::UpdateDownloadedWine) From 35eea145b90e2eb293c79e8a7448bd711eecd6c2 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 18:26:55 +0200 Subject: [PATCH 20/23] feat: updated changelog --- CHANGELOG.md | 14 ++++++++++++++ src/ui/about.rs | 23 ++++++++++++++--------- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa4041a..52de2e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Added + +- Added Korean +- Added Dutch +- Added 4.2.0 voiceovers sizes +- Made free space checks resolve symlinks + +### Changed + +- Updated development libraries versions +- Updated Japanese + ## [3.9.1] - 28.09.2023 ### Added diff --git a/src/ui/about.rs b/src/ui/about.rs index e93d29b..2836275 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -65,16 +65,18 @@ impl SimpleComponent for AboutDialog { "Deutsch — @caem", "Français — @zeGolem https://github.com/zeGolem", "Español — Lautaro Garavano https://github.com/Rattlehead15", + "Português — @kafushy", + "Italiano — @QuazarOmega https://github.com/quazar-omega", "Türkçe — @Kaozix https://github.com/Kaozix1776", "Türkçe — Kayra Nachfolger https://github.com/kayranachfolger", - "Italiano — @QuazarOmega https://github.com/quazar-omega", - "Indonesia — @yumekarisu https://github.com/yumekarisu", - "简体中文 — Caibin Chen https://github.com/tigersoldier", - "日本語 — @zozonteq https://github.com/zozonteq", + "Polski — Dominik Opyd https://github.com/oritwoen", // Hungarian? "Svenska — Jakob Fridesjö https://github.com/jakobfridesjo", - "Português — @kafushy", - "Polski — Dominik Opyd https://github.com/oritwoen", + "Nederlands — @everlyy https://github.com/everlyy", + "简体中文 — Caibin Chen https://github.com/tigersoldier", + "日本語 — @zozonteq https://github.com/zozonteq", + "한국어 — @project-dy https://github.com/project-dy", + "Indonesia — @yumekarisu https://github.com/yumekarisu", "Tiếng Việt — Nguyễn Hữu Chánh https://github.com/Chanhnh" ].join("\n"), @@ -93,14 +95,17 @@ impl SimpleComponent for AboutDialog { "

    Added

    ", "
      ", - "
    • Added Vietnamese
    • ", - "
    • Added support for segmented zip archives (fixed initial game downloading)
    • ", + "
    • Added Korean
    • ", + "
    • Added Dutch
    • ", + "
    • Added 4.2.0 voiceovers sizes
    • ", + "
    • Made free space checks resolve symlinks
    • ", "
    ", "

    Changed

    ", "
      ", - "
    • Updated Chinese
    • ", + "
    • Updated development libraries versions
    • ", + "
    • Updated Japanese
    • ", "
    " ].join("\n"), From 172241457abefdaa1fe4ab39c9e548a6641f8873 Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 21:18:38 +0200 Subject: [PATCH 21/23] feat(ui): added new patch status, fixed voiceovers issue --- Cargo.lock | 8 +-- Cargo.toml | 4 +- src/ui/main/mod.rs | 128 +++++++++++++++++++++++++++++++++++---------- 3 files changed, 106 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5155c70..755d29e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -57,8 +57,8 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "anime-game-core" -version = "1.17.0" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.0#e2cd6d91ef80d9fba72e0abe2e71b802d558dd75" +version = "1.17.2" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.2#11b51441ed0390b7a5ba20e62e3c28a6886f8b97" dependencies = [ "anyhow", "bzip2", @@ -82,8 +82,8 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "1.12.0" -source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.12.0#eaa6db3a68c6c73120589185e78c707945d7723f" +version = "1.12.2" +source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.12.2#923a389dffe44c2076bbacb7085084069fbaee4f" dependencies = [ "anime-game-core", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 7bfeef0..5f661aa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "honkers-railway-launcher" version = "1.4.0" description = "The Honkers Railway launcher" -authors = ["Nikita Podvirnyy "] +authors = ["Nikita Podvirnyy "] homepage = "https://github.com/an-anime-team/the-honkers-railway-launcher" repository = "https://github.com/an-anime-team/the-honkers-railway-launcher" license = "GPL-3.0" @@ -19,7 +19,7 @@ glib-build-tools = "0.18" [dependencies.anime-launcher-sdk] git = "https://github.com/an-anime-team/anime-launcher-sdk" -tag = "1.12.0" +tag = "1.12.2" features = ["all", "star-rail", "star-rail-patch"] # path = "../anime-launcher-sdk" # ! for dev purposes only diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index 8fbfa47..1adb734 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -303,12 +303,21 @@ impl SimpleComponent for App { #[watch] set_tooltip_text: Some(&tr!("predownload-update", { "version" = match model.state.as_ref() { - Some(LauncherState::PredownloadAvailable { diff, .. }) => diff.latest().to_string(), + Some(LauncherState::PredownloadAvailable { game, .. }) => game.latest().to_string(), _ => String::from("?") }, "size" = match model.state.as_ref() { - Some(LauncherState::PredownloadAvailable { diff, .. }) => prettify_bytes(diff.downloaded_size().unwrap_or(0)), + Some(LauncherState::PredownloadAvailable { game, voices, .. }) => { + let mut size = game.downloaded_size().unwrap_or(0); + + for voice in voices { + size += voice.downloaded_size().unwrap_or(0); + } + + prettify_bytes(size) + } + _ => String::from("?") } })), @@ -318,13 +327,27 @@ impl SimpleComponent for App { #[watch] set_sensitive: match model.state.as_ref() { - Some(LauncherState::PredownloadAvailable { diff, .. }) => { + Some(LauncherState::PredownloadAvailable { game, voices, .. }) => { let config = Config::get().unwrap(); let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir); - !temp.join(diff.file_name().unwrap()).metadata() - .map(|metadata| Some(metadata.len()) == diff.downloaded_size()) - .unwrap_or(false) + let mut downloaded = temp.join(game.file_name().unwrap()).metadata() + .map(|metadata| Some(metadata.len()) == game.downloaded_size()) + .unwrap_or(false); + + if downloaded { + for voice in voices { + downloaded = !temp.join(voice.file_name().unwrap()).metadata() + .map(|metadata| Some(metadata.len()) == voice.downloaded_size()) + .unwrap_or(false); + + if downloaded { + break; + } + } + } + + !downloaded } _ => false @@ -332,14 +355,26 @@ impl SimpleComponent for App { #[watch] set_css_classes: match model.state.as_ref() { - Some(LauncherState::PredownloadAvailable { diff, .. }) => { + Some(LauncherState::PredownloadAvailable { game, voices, .. }) => { let config = Config::get().unwrap(); let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir); - let downloaded = temp.join(diff.file_name().unwrap()).metadata() - .map(|metadata| Some(metadata.len()) == diff.downloaded_size()) + let mut downloaded = temp.join(game.file_name().unwrap()).metadata() + .map(|metadata| Some(metadata.len()) == game.downloaded_size()) .unwrap_or(false); + if downloaded { + for voice in voices { + downloaded = !temp.join(voice.file_name().unwrap()).metadata() + .map(|metadata| Some(metadata.len()) == voice.downloaded_size()) + .unwrap_or(false); + + if downloaded { + break; + } + } + } + if downloaded { &["success", "circular"] } else { @@ -369,8 +404,10 @@ impl SimpleComponent for App { set_icon_name: match &model.state { Some(LauncherState::Launch) | Some(LauncherState::PatchNotVerified) | + Some(LauncherState::PatchConcerning) | Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. }) | - Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. }) + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. }) | + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Concerning, .. }) => "media-playback-start-symbolic", Some(LauncherState::PatchNotInstalled) | @@ -382,9 +419,12 @@ impl SimpleComponent for App { Some(LauncherState::PrefixNotExists) => "document-save-symbolic", Some(LauncherState::GameUpdateAvailable(_)) | - Some(LauncherState::GameNotInstalled(_)) => "document-save-symbolic", + Some(LauncherState::GameNotInstalled(_)) | + Some(LauncherState::VoiceUpdateAvailable(_)) | + Some(LauncherState::VoiceNotInstalled(_)) => "document-save-symbolic", Some(LauncherState::GameOutdated(_)) | + Some(LauncherState::VoiceOutdated(_)) | Some(LauncherState::PatchBroken) | Some(LauncherState::PatchUnsafe) | Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) | @@ -396,8 +436,10 @@ impl SimpleComponent for App { set_label: &match &model.state { Some(LauncherState::Launch) | Some(LauncherState::PatchNotVerified) | + Some(LauncherState::PatchConcerning) | Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. }) | - Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. }) + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. }) | + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Concerning, .. }) => tr!("launch"), Some(LauncherState::PatchNotInstalled) | @@ -417,7 +459,9 @@ impl SimpleComponent for App { Some(LauncherState::PrefixNotExists) => tr!("create-prefix"), Some(LauncherState::GameUpdateAvailable(diff)) | - Some(LauncherState::GameOutdated(diff)) => { + Some(LauncherState::GameOutdated(diff)) | + Some(LauncherState::VoiceUpdateAvailable(diff)) | + Some(LauncherState::VoiceOutdated(diff)) => { match (Config::get(), diff.file_name()) { (Ok(config), Some(filename)) => { let temp = config.launcher.temp.unwrap_or_else(std::env::temp_dir); @@ -435,7 +479,8 @@ impl SimpleComponent for App { } }, - Some(LauncherState::GameNotInstalled(_)) => tr!("download"), + Some(LauncherState::GameNotInstalled(_)) | + Some(LauncherState::VoiceNotInstalled(_)) => tr!("download"), None => String::from("...") } @@ -444,6 +489,7 @@ impl SimpleComponent for App { #[watch] set_sensitive: !model.disabled_buttons && match &model.state { Some(LauncherState::GameOutdated { .. }) | + Some(LauncherState::VoiceOutdated(_)) | Some(LauncherState::PatchBroken) | Some(LauncherState::PatchUnsafe) | Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) | @@ -456,12 +502,15 @@ impl SimpleComponent for App { #[watch] set_css_classes: match &model.state { Some(LauncherState::GameOutdated { .. }) | + Some(LauncherState::VoiceOutdated(_)) | Some(LauncherState::PatchNotVerified) => &["warning", "pill"], Some(LauncherState::PatchBroken) | Some(LauncherState::PatchUnsafe) | Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) | - Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) => &["error", "pill"], + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) | + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Concerning, .. }) + => &["error", "pill"], Some(_) => &["suggested-action", "pill"], None => &["pill"] @@ -469,7 +518,8 @@ impl SimpleComponent for App { #[watch] set_tooltip_text: Some(&match &model.state { - Some(LauncherState::GameOutdated { .. }) => tr!("main-window--version-outdated-tooltip"), + Some(LauncherState::GameOutdated { .. }) | + Some(LauncherState::VoiceOutdated(_)) => tr!("main-window--version-outdated-tooltip"), Some(LauncherState::PatchNotVerified) => tr!("patch-testing-tooltip"), @@ -477,8 +527,12 @@ impl SimpleComponent for App { Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Broken, .. }) => tr!("patch-broken-tooltip"), + // TODO: a special tooltip for concerning patch state + Some(LauncherState::PatchUnsafe) | - Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) + Some(LauncherState::PatchConcerning) | + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) | + Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Concerning, .. }) => tr!("patch-unsafe-tooltip"), _ => String::new() @@ -965,6 +1019,12 @@ impl SimpleComponent for App { sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--game"))))); } + StateUpdating::Voice(locale) => { + sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--voice", { + "locale" = locale.to_name() + }))))); + } + StateUpdating::Patch => { sender.input(AppMsg::SetLoadingStatus(Some(Some(tr!("loading-launcher-state--patch"))))); } @@ -1047,7 +1107,7 @@ impl SimpleComponent for App { #[allow(unused_must_use)] AppMsg::PredownloadUpdate => { - if let Some(LauncherState::PredownloadAvailable { mut diff, .. }) = self.state.clone() { + if let Some(LauncherState::PredownloadAvailable { game, mut voices, .. }) = self.state.clone() { let tmp = Config::get().unwrap().launcher.temp.unwrap_or_else(std::env::temp_dir); self.downloading = true; @@ -1056,18 +1116,26 @@ impl SimpleComponent for App { progress_bar_input.send(ProgressBarMsg::UpdateCaption(Some(tr!("downloading")))); + let mut diffs: Vec = vec![game]; + + diffs.append(&mut voices); + std::thread::spawn(move || { - let result = diff.download_to(&tmp, clone!(@strong progress_bar_input => move |curr, total| { - progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total)); - })); + for mut diff in diffs { + let result = diff.download_to(&tmp, clone!(@strong progress_bar_input => move |curr, total| { + progress_bar_input.send(ProgressBarMsg::UpdateProgress(curr, total)); + })); - if let Err(err) = result { - sender.input(AppMsg::Toast { - title: tr!("downloading-failed"), - description: Some(err.to_string()) - }); + if let Err(err) = result { + sender.input(AppMsg::Toast { + title: tr!("downloading-failed"), + description: Some(err.to_string()) + }); - tracing::error!("Failed to predownload update: {err}"); + tracing::error!("Failed to predownload update: {err}"); + + break; + } } sender.input(AppMsg::SetDownloading(false)); @@ -1082,8 +1150,10 @@ impl SimpleComponent for App { AppMsg::PerformAction => unsafe { match self.state.as_ref().unwrap_unchecked() { LauncherState::PatchNotVerified | + LauncherState::PatchConcerning | LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Verified, .. } | LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unverified, .. } | + LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Concerning, .. } | LauncherState::Launch => launch::launch(sender), LauncherState::PatchNotInstalled | @@ -1095,7 +1165,9 @@ impl SimpleComponent for App { LauncherState::PrefixNotExists => create_prefix::create_prefix(sender), LauncherState::GameUpdateAvailable(diff) | - LauncherState::GameNotInstalled(diff) => + LauncherState::GameNotInstalled(diff) | + LauncherState::VoiceUpdateAvailable(diff) | + LauncherState::VoiceNotInstalled(diff) => download_diff::download_diff(sender, self.progress_bar.sender().to_owned(), diff.to_owned()), _ => () From 95f283794c0983c84d8348ebb48abf7e9152af7e Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 21:25:16 +0200 Subject: [PATCH 22/23] feat(ui): new patch status integration --- Cargo.lock | 10 +++++----- src/ui/preferences/general/mod.rs | 6 +++++- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 755d29e..0469f57 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -58,7 +58,7 @@ checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" [[package]] name = "anime-game-core" version = "1.17.2" -source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.2#11b51441ed0390b7a5ba20e62e3c28a6886f8b97" +source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.17.2#79fa0ea967b05efcbf19b2db4800ddd2b731c2c9" dependencies = [ "anyhow", "bzip2", @@ -3094,9 +3094,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", @@ -3105,9 +3105,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "nu-ansi-term", "sharded-slab", diff --git a/src/ui/preferences/general/mod.rs b/src/ui/preferences/general/mod.rs index 05db170..0441a34 100644 --- a/src/ui/preferences/general/mod.rs +++ b/src/ui/preferences/general/mod.rs @@ -401,7 +401,8 @@ impl SimpleAsyncComponent for GeneralApp { JadeitePatchStatusVariant::Verified => &["success"], JadeitePatchStatusVariant::Unverified => &["warning"], JadeitePatchStatusVariant::Broken => &["error"], - JadeitePatchStatusVariant::Unsafe => &["error"] + JadeitePatchStatusVariant::Unsafe => &["error"], + JadeitePatchStatusVariant::Concerning => &["error"] } None => &[] @@ -414,6 +415,9 @@ impl SimpleAsyncComponent for GeneralApp { JadeitePatchStatusVariant::Broken => tr!("patch-broken-tooltip"), JadeitePatchStatusVariant::Unsafe => tr!("patch-unsafe-tooltip"), + // TODO: special tooltip for concerning status + JadeitePatchStatusVariant::Concerning => tr!("patch-unsafe-tooltip"), + _ => String::new() } From 16a5885658dd54cb49f1f0600b03fd305dfe957b Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Mon, 13 Nov 2023 21:48:22 +0200 Subject: [PATCH 23/23] feat: updated changelog --- CHANGELOG.md | 1 + src/ui/about.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49070d9..07c3840 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added Dutch - Made free space checks resolve symlinks - Added voiceovers support +- Added new `Concerning` patch status ### Changed diff --git a/src/ui/about.rs b/src/ui/about.rs index 4906784..007aed5 100644 --- a/src/ui/about.rs +++ b/src/ui/about.rs @@ -105,6 +105,7 @@ impl SimpleComponent for AboutDialog { "
  • Added Dutch
  • ", "
  • Made free space checks resolve symlinks
  • ", "
  • Added voiceovers support
  • ", + "
  • Added new *Concerning* patch status
  • ", "", "

    Changed

    ",