Jelajahi Sumber

release: 1.4.2, tweak UI, fix emoji on mac

wonfen 1 tahun lalu
induk
melakukan
20d580ade8

+ 18 - 0
UPDATELOG.md

@@ -1,3 +1,21 @@
+## v1.4.2
+
+### Features
+
+- update clash meta core to mihomo 1.17.0
+- fixed the problem of not being able to set the system proxy when there is a dial-up link on windows system [#833](https://github.com/zzzgydi/clash-verge/issues/833)
+- support new clash field
+- support random mixed port
+- add windows x86 and linux armv7 support
+- support disable tray click event
+- add download progress for updater
+- support drag to reorder the profile
+- embed emoji fonts
+- update depends
+- improve UI style
+
+---
+
 ## v1.4.1
 
 ### Features

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "clash-verge",
-  "version": "1.4.1",
+  "version": "1.4.2",
   "license": "GPL-3.0",
   "scripts": {
     "dev": "tauri dev -f default-meta",

+ 2 - 2
scripts/check.mjs

@@ -34,8 +34,8 @@ const CLASH_MAP = {
 */
 /* ======= clash meta ======= */
 const VERSION_URL =
-  "https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/version.txt";
-const META_URL_PREFIX = `https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha`;
+  "https://github.com/MetaCubeX/mihomo/releases/download/v1.17.0/version.txt";
+const META_URL_PREFIX = `https://github.com/MetaCubeX/mihomo/releases/download/v1.17.0`;
 let META_VERSION;
 
 const META_MAP = {

+ 15 - 16
src-tauri/Cargo.lock

@@ -131,11 +131,11 @@ version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
 dependencies = [
- "async-lock 3.1.2",
+ "async-lock 3.2.0",
  "async-task",
  "concurrent-queue",
  "fastrand 2.0.1",
- "futures-lite 2.0.1",
+ "futures-lite 2.1.0",
  "slab",
 ]
 
@@ -177,11 +177,11 @@ version = "2.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff"
 dependencies = [
- "async-lock 3.1.2",
+ "async-lock 3.2.0",
  "cfg-if",
  "concurrent-queue",
  "futures-io",
- "futures-lite 2.0.1",
+ "futures-lite 2.1.0",
  "parking",
  "polling 3.3.1",
  "rustix 0.38.26",
@@ -201,9 +201,9 @@ dependencies = [
 
 [[package]]
 name = "async-lock"
-version = "3.1.2"
+version = "3.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dea8b3453dd7cc96711834b75400d671b73e3656975fa68d9f277163b7f7e316"
+checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
 dependencies = [
  "event-listener 4.0.0",
  "event-listener-strategy",
@@ -390,11 +390,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
 dependencies = [
  "async-channel 2.1.1",
- "async-lock 3.1.2",
+ "async-lock 3.2.0",
  "async-task",
  "fastrand 2.0.1",
  "futures-io",
- "futures-lite 2.0.1",
+ "futures-lite 2.1.0",
  "piper",
  "tracing",
 ]
@@ -559,7 +559,7 @@ dependencies = [
 
 [[package]]
 name = "clash-verge"
-version = "1.4.1"
+version = "1.4.2"
 dependencies = [
  "anyhow",
  "auto-launch",
@@ -669,9 +669,9 @@ dependencies = [
 
 [[package]]
 name = "concurrent-queue"
-version = "2.3.0"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
+checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
 dependencies = [
  "crossbeam-utils",
 ]
@@ -956,9 +956,9 @@ dependencies = [
 
 [[package]]
 name = "deranged"
-version = "0.3.9"
+version = "0.3.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
+checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
 dependencies = [
  "powerfmt",
  "serde",
@@ -1389,14 +1389,13 @@ dependencies = [
 
 [[package]]
 name = "futures-lite"
-version = "2.0.1"
+version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3831c2651acb5177cbd83943f3d9c8912c5ad03c76afcc0e9511ba568ec5ebb"
+checksum = "aeee267a1883f7ebef3700f262d2d54de95dfaf38189015a74fdc4e0c7ad8143"
 dependencies = [
  "fastrand 2.0.1",
  "futures-core",
  "futures-io",
- "memchr",
  "parking",
  "pin-project-lite",
 ]

+ 2 - 2
src-tauri/Cargo.toml

@@ -1,6 +1,6 @@
 [package]
 name = "clash-verge"
-version = "1.4.1"
+version = "1.4.2"
 description = "clash verge"
 authors = ["zzzgydi"]
 license = "GPL-3.0"
@@ -37,7 +37,7 @@ parking_lot = "0.12"
 tokio = { version = "1", features = ["full"] }
 serde = { version = "1.0", features = ["derive"] }
 reqwest = { version = "0.11", features = ["json", "rustls-tls"] }
-tauri = { version = "1.5", features = [ "clipboard-all", "global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all"] }
+tauri = { version = "1.5", features = ["clipboard-all", "global-shortcut-all", "process-all", "shell-all", "system-tray", "updater", "window-all"] }
 window-vibrancy = { version = "0.4.3" }
 window-shadows = { version = "0.2" }
 

+ 1 - 1
src-tauri/tauri.conf.json

@@ -1,7 +1,7 @@
 {
   "package": {
     "productName": "Clash Verge",
-    "version": "1.4.1"
+    "version": "1.4.2"
   },
   "build": {
     "distDir": "../dist",

TEMPAT SAMPAH
src/assets/fonts/Twemoji.Mozilla.ttf


+ 6 - 6
src/assets/styles/anime.scss

@@ -1,21 +1,21 @@
 .page-enter {
   opacity: 0;
-  transform: scale(0.9);
+  clip-path: inset(0 100% 0 0); /* 完全隐藏内容 */
 }
 
 .page-enter-active {
   opacity: 1;
-  transform: scale(1);
-  transition: opacity 300ms, transform 300ms;
+  clip-path: inset(0 0 0 0); /* 逐渐显示整个内容 */
+  transition: opacity 300ms, clip-path 300ms ease-in-out;
 }
 
 .page-exit {
   opacity: 1;
-  transform: scale(0);
+  clip-path: inset(0 0 0 0); /* 完全显示内容 */
 }
 
 .page-exit-active {
   opacity: 0;
-  transform: scale(0.9);
-  transition: opacity 300ms, transform 300ms;
+  clip-path: inset(0 100% 0 0); /* 逐渐隐藏内容 */
+  transition: opacity 300ms, clip-path 300ms ease-in-out;
 }

+ 1 - 1
src/assets/styles/index.scss

@@ -18,7 +18,7 @@ body {
   --scroller-color: #90939980;
   --background-color: #ffffff;
   --background-color-alpha: rgba(24, 103, 192, 0.1);
-  --border-radius: 12px;
+  --border-radius: 8px;
 }
 
 ::selection {

+ 1 - 1
src/assets/styles/layout.scss

@@ -57,7 +57,7 @@
     .the-menu {
       flex: 1 1 80%;
       overflow-y: auto;
-      margin-bottom: 8px;
+      margin-bottom: 0px;
     }
 
     .the-traffic {

+ 1 - 3
src/components/layout/layout-item.tsx

@@ -10,9 +10,7 @@ export const LayoutItem = (props: LinkProps) => {
   const navigate = useNavigate();
 
   return (
-    <ListItem
-      sx={{ py: 0.5, maxWidth: 250, mx: "auto", padding: "4px 0px 4px 2px" }}
-    >
+    <ListItem sx={{ py: 0.5, maxWidth: 250, mx: "auto", padding: "1px 0px" }}>
       <ListItemButton
         selected={!!match}
         sx={[

+ 1 - 1
src/components/layout/use-custom-theme.ts

@@ -87,7 +87,7 @@ export const useCustomTheme = () => {
     }
 
     // css
-    const backgroundColor = mode === "light" ? "#ffffff" : "#0E1621";
+    const backgroundColor = mode === "light" ? "#ffffff" : "#0B121C";
     const selectColor = mode === "light" ? "#f5f5f5" : "#d5d5d5";
     const scrollColor = mode === "light" ? "#90939980" : "#54545480";
 

+ 14 - 13
src/components/setting/mods/clash-core-viewer.tsx

@@ -8,7 +8,7 @@ import { Lock } from "@mui/icons-material";
 import {
   Box,
   Button,
-  IconButton,
+  Tooltip,
   List,
   ListItemButton,
   ListItemText,
@@ -124,18 +124,19 @@ export const ClashCoreViewer = forwardRef<DialogRef>((props, ref) => {
               >
                 <Lock fontSize="inherit" />
               </IconButton> */
-              <Button
-                variant="outlined"
-                size="small"
-                title={t("Tun mode requires")}
-                onClick={(e) => {
-                  e.preventDefault();
-                  e.stopPropagation();
-                  onGrant(each.core);
-                }}
-              >
-                {t("Grant")}
-              </Button>
+              <Tooltip title={t("Tun mode requires")}>
+                <Button
+                  variant="outlined"
+                  size="small"
+                  onClick={(e) => {
+                    e.preventDefault();
+                    e.stopPropagation();
+                    onGrant(each.core);
+                  }}
+                >
+                  {t("Grant")}
+                </Button>
+              </Tooltip>
             )}
           </ListItemButton>
         ))}

+ 6 - 1
src/pages/_theme.tsx

@@ -1,3 +1,6 @@
+import getSystem from "@/utils/get-system";
+const OS = getSystem();
+
 // default theme setting
 export const defaultTheme = {
   primary_color: "#1867c0",
@@ -9,7 +12,9 @@ export const defaultTheme = {
   warning_color: "#ed6c02",
   success_color: "#2e7d32",
   background_color: "#ffffff",
-  font_family: `"Roboto", "Helvetica", "Arial", sans-serif, "twemoji mozilla"`,
+  font_family: `"Roboto", "Helvetica", "Arial", sans-serif, ${
+    OS === "windows" ? "twemoji mozilla" : ""
+  }`,
 };
 
 // dark mode