From 8429582aedc2bd209162e2798bd2f0758cf851d1 Mon Sep 17 00:00:00 2001 From: mdj2812 Date: Thu, 20 Aug 2026 22:02:48 +0800 Subject: [PATCH] fix(mihomo-control): restore service load in v0.1.3 Fix Luau syntax errors in self-test calls and load group helpers via require() so the service entry starts and publishes online state again. Co-authored-by: Cursor --- mihomo-control/README.md | 2 +- .../{group_logic.lua => group_logic.luau} | 0 mihomo-control/plugin.toml | 2 +- mihomo-control/service.luau | 14 +++----------- mihomo-control/tests/group_order_test.lua | 2 +- 5 files changed, 6 insertions(+), 14 deletions(-) rename mihomo-control/{group_logic.lua => group_logic.luau} (100%) diff --git a/mihomo-control/README.md b/mihomo-control/README.md index 09c06b59..a74b85d7 100644 --- a/mihomo-control/README.md +++ b/mihomo-control/README.md @@ -132,7 +132,7 @@ noctalia msg plugin mdj2812/mihomo-control:service all self-test ## Development - `service.luau` — headless API backend, publishes `mihomo.*` state. -- `group_logic.lua` — pure helpers for group ordering and traffic dedup (unit-tested). +- `group_logic.luau` — pure helpers for group ordering and traffic dedup (unit-tested). - `widget.luau` — bar widget (rates + tooltip). - `panel.luau` — control panel. - `shortcut.luau` — rule/global mode toggle. diff --git a/mihomo-control/group_logic.lua b/mihomo-control/group_logic.luau similarity index 100% rename from mihomo-control/group_logic.lua rename to mihomo-control/group_logic.luau diff --git a/mihomo-control/plugin.toml b/mihomo-control/plugin.toml index 59229e2f..b75c484d 100644 --- a/mihomo-control/plugin.toml +++ b/mihomo-control/plugin.toml @@ -8,7 +8,7 @@ id = "mdj2812/mihomo-control" name = "Mihomo Control" -version = "0.1.2" +version = "0.1.3" plugin_api = 9 author = "mdj2812" license = "MIT" diff --git a/mihomo-control/service.luau b/mihomo-control/service.luau index c402724b..b0843ce3 100644 --- a/mihomo-control/service.luau +++ b/mihomo-control/service.luau @@ -44,15 +44,7 @@ local function require_group_logic() if group_logic ~= nil then return group_logic end - local source, err = noctalia.readFile("group_logic.lua") - if source == nil then - error("failed to read group_logic.lua: " .. tostring(err)) - end - local chunk, load_err = load(source, "@group_logic.lua") - if chunk == nil then - error("failed to load group_logic.lua: " .. tostring(load_err)) - end - group_logic = chunk() + group_logic = require("./group_logic.luau") return group_logic end @@ -669,7 +661,7 @@ local function run_self_test(quiet) logic.apply_group_order(ordered, { "beta", "alpha" }) check( "apply_group_order", - ordered[1].name == "beta" and ordered[2].name == "alpha" and ordered[3].name == "zeta", + ordered[1].name == "beta" and ordered[2].name == "alpha" and ordered[3].name == "zeta" ) local reordered, order = logic.reorder_groups({ @@ -681,7 +673,7 @@ local function run_self_test(quiet) check( "traffic_changed", - logic.traffic_changed({ up = 1, down = 2, upTotal = 3, downTotal = 4 }, { up = 9, down = 2, upTotal = 3, downTotal = 4 }), + logic.traffic_changed({ up = 1, down = 2, upTotal = 3, downTotal = 4 }, { up = 9, down = 2, upTotal = 3, downTotal = 4 }) ) check("interval_at_load", interval_applied_at_load) diff --git a/mihomo-control/tests/group_order_test.lua b/mihomo-control/tests/group_order_test.lua index 5c7b1808..3269ba24 100644 --- a/mihomo-control/tests/group_order_test.lua +++ b/mihomo-control/tests/group_order_test.lua @@ -29,7 +29,7 @@ local function assert_tables_eq(actual, expected, message) end end -local logic = dofile(plugin_root() .. "/group_logic.lua") +local logic = dofile(plugin_root() .. "/group_logic.luau") local groups = { { name = "zeta" },