From ccd93b9595435d91045baac9b039c626a19169db Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Fri, 3 Feb 2023 23:01:44 -0600 Subject: [PATCH 01/22] =?UTF-8?q?feat:=20=E6=B4=BB=E5=8A=A8/=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=E5=B0=8F=E6=8F=90=E7=A4=BA=E6=94=AF=E6=8C=81=E5=A4=96?= =?UTF-8?q?=E6=9C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit StageManager支持ClientType,只要maa api上加入外服信息即可 断网+改cache测过了 --- src/MaaWpfGui/Helper/StageManager.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index 8a4c9d8791..e66bf875b9 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -19,6 +19,7 @@ using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; +using System.Windows.Documents; using MaaWpfGui.Helper; using Newtonsoft.Json.Linq; using Semver; @@ -85,18 +86,28 @@ namespace MaaWpfGui "yyyy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture).AddHours(-Convert.ToInt32(keyValuePairs?["TimeZone"].ToString() ?? "0")); - if (activity != null) + var settingsModel = _container.Get(); + var clientType = settingsModel.ClientType; + + + // 官服和B服使用同样的资源 + if (clientType == "Bilibili") + { + clientType = "Official"; + } + + if (activity?[clientType] != null) { try { // 资源全开放活动 - var resource = activity["Official"]["resourceCollection"]; + var resource = activity[clientType]["resourceCollection"]; resourceCollection.Tip = resource?["Tip"]?.ToString(); resourceCollection.UtcStartTime = GetDateTime(resource, "UtcStartTime"); resourceCollection.UtcExpireTime = GetDateTime(resource, "UtcExpireTime"); // 活动关卡 - foreach (var stageObj in activity["Official"]["sideStoryStage"]) + foreach (var stageObj in activity[clientType]["sideStoryStage"]) { bool isDebugVersion = Marshal.PtrToStringAnsi(AsstGetVersion()) == "DEBUG VERSION"; bool curParsed = !isDebugVersion ? From 5ade646f5c3e31e30c31754e60e42c2fc4a979f7 Mon Sep 17 00:00:00 2001 From: Yifan Liu <44556003+liuyifan-eric@users.noreply.github.com> Date: Sun, 5 Feb 2023 01:57:20 -0600 Subject: [PATCH 02/22] Update src/MaaWpfGui/Helper/StageManager.cs Co-authored-by: uye <99072975+ABA2396@users.noreply.github.com> --- src/MaaWpfGui/Helper/StageManager.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index e66bf875b9..a58c14eb68 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -101,10 +101,13 @@ namespace MaaWpfGui try { // 资源全开放活动 - var resource = activity[clientType]["resourceCollection"]; - resourceCollection.Tip = resource?["Tip"]?.ToString(); - resourceCollection.UtcStartTime = GetDateTime(resource, "UtcStartTime"); - resourceCollection.UtcExpireTime = GetDateTime(resource, "UtcExpireTime"); + if (activity[clientType]?["resourceCollection"] != null) + { + var resource = activity[clientType]["resourceCollection"]; + resourceCollection.Tip = resource?["Tip"]?.ToString(); + resourceCollection.UtcStartTime = GetDateTime(resource, "UtcStartTime"); + resourceCollection.UtcExpireTime = GetDateTime(resource, "UtcExpireTime"); + } // 活动关卡 foreach (var stageObj in activity[clientType]["sideStoryStage"]) From 07cb1c31454983ba6907461948e4c86fe560dcf3 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Sun, 5 Feb 2023 23:34:19 -0600 Subject: [PATCH 03/22] fix: update activity check --- src/MaaWpfGui/Helper/StageManager.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index a58c14eb68..add678f11f 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -88,7 +88,6 @@ namespace MaaWpfGui var settingsModel = _container.Get(); var clientType = settingsModel.ClientType; - // 官服和B服使用同样的资源 if (clientType == "Bilibili") @@ -101,16 +100,16 @@ namespace MaaWpfGui try { // 资源全开放活动 - if (activity[clientType]?["resourceCollection"] != null) + var resource = activity[clientType]["resourceCollection"]; + if (resource != null) { - var resource = activity[clientType]["resourceCollection"]; - resourceCollection.Tip = resource?["Tip"]?.ToString(); + resourceCollection.Tip = resource["Tip"]?.ToString(); resourceCollection.UtcStartTime = GetDateTime(resource, "UtcStartTime"); resourceCollection.UtcExpireTime = GetDateTime(resource, "UtcExpireTime"); } // 活动关卡 - foreach (var stageObj in activity[clientType]["sideStoryStage"]) + foreach (var stageObj in activity[clientType]["sideStoryStage"] ?? Enumerable.Empty()) { bool isDebugVersion = Marshal.PtrToStringAnsi(AsstGetVersion()) == "DEBUG VERSION"; bool curParsed = !isDebugVersion ? From 11f4212cb84d68c99fa4852aeb361cce07ea4e3f Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Mon, 6 Feb 2023 14:47:10 +0800 Subject: [PATCH 04/22] =?UTF-8?q?feat:=20=E7=95=8C=E9=9D=A2=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E9=97=B4=E6=A0=B9=E6=8D=AE=E6=89=80=E9=80=89?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=B1=BB=E5=9E=8B=E5=86=B3=E5=AE=9A?= =?UTF-8?q?=EF=BC=88=E5=A4=96=E6=9C=8D=E6=97=B6=E5=8C=BA=E8=BF=98=E8=A6=81?= =?UTF-8?q?=E6=94=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 19 +++++++++++++++++-- src/MaaWpfGui/Main/SettingsViewModel.cs | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 3f3bf858fd..3c683330f7 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -58,13 +58,28 @@ namespace MaaWpfGui } } + private static string _clientType = ViewStatusStorage.Get("Start.ClientType", string.Empty); + + public static string ClientType { get => _clientType; set => _clientType = value; } + + private static readonly Dictionary clientList = new Dictionary + { + { string.Empty, 4 }, + { "Official", 4 }, + { "Bilibili", 4 }, + { "txwy", 4 }, + { "YoStarEN", 4 }, + { "YoStarJP", 5 }, + { "YoStarKR", 4 }, + }; + /// /// 获取yj历时间 /// /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(4); + return DateTime.UtcNow.AddHours(clientList[ClientType]); } /// @@ -101,7 +116,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(4); + return dt.AddHours(clientList[ClientType]); } private static readonly JObject _itemList = new JObject(); diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 8b91246ca8..2c8dc3e542 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -548,6 +548,7 @@ namespace MaaWpfGui set { SetAndNotify(ref _clientType, value); + Utils.ClientType = value; ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ } From 3ddeee1d0f1aee2cf7ce846b2fd0118e6aede2f1 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Mon, 6 Feb 2023 15:03:51 +0800 Subject: [PATCH 05/22] =?UTF-8?q?chore:=20=E9=87=8D=E5=91=BD=E5=90=8D?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=AF=B9=E5=BA=94=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 3c683330f7..958848be5f 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -62,7 +62,7 @@ namespace MaaWpfGui public static string ClientType { get => _clientType; set => _clientType = value; } - private static readonly Dictionary clientList = new Dictionary + private static readonly Dictionary _clientTypeTimeOffsetMap = new Dictionary { { string.Empty, 4 }, { "Official", 4 }, @@ -79,7 +79,7 @@ namespace MaaWpfGui /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(clientList[ClientType]); + return DateTime.UtcNow.AddHours(_clientTypeTimeOffsetMap[ClientType]); } /// @@ -116,7 +116,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(clientList[ClientType]); + return dt.AddHours(_clientTypeTimeOffsetMap[ClientType]); } private static readonly JObject _itemList = new JObject(); From 4935711ef7df930036deab612b98ba1139ae90d2 Mon Sep 17 00:00:00 2001 From: Congcong Cai Date: Mon, 6 Feb 2023 21:17:05 +0800 Subject: [PATCH 06/22] fix: `call_command_posix` in socket mode will return after child process finished" --- src/MaaCore/Controller.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index 7b42d28338..94484a7ddb 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -1361,7 +1361,7 @@ std::optional asst::Controller::call_command_win32(const std::string& cmd, asst::platform::single_page_buffer pipe_buffer; asst::platform::single_page_buffer sock_buffer; - + HANDLE pipe_parent_read = INVALID_HANDLE_VALUE, pipe_child_write = INVALID_HANDLE_VALUE; SECURITY_ATTRIBUTES sa_inherit { .nLength = sizeof(SECURITY_ATTRIBUTES), .bInheritHandle = TRUE }; if (!asst::win32::CreateOverlappablePipe(&pipe_parent_read, &pipe_child_write, nullptr, &sa_inherit, @@ -1599,6 +1599,7 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, int client_socket = ::accept(m_server_sock, &addr, &len); if (client_socket < 0) { Log.error("accept failed:", strerror(errno)); + ::kill(m_child, SIGKILL); return std::nullopt; } @@ -1610,14 +1611,14 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, } ::close(client_socket); - break; } + else { + ssize_t read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); - ssize_t read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); - - while (read_num > 0) { - pipe_data.insert(pipe_data.end(), pipe_buffer.get(), pipe_buffer.get() + read_num); - read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); + while (read_num > 0) { + pipe_data.insert(pipe_data.end(), pipe_buffer.get(), pipe_buffer.get() + read_num); + read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); + } } } while (::waitpid(m_child, &exit_ret, WNOHANG) == 0 && !check_timeout()); } From ccfecd2b7c8d0a51350894cb6d13c46c3302cf84 Mon Sep 17 00:00:00 2001 From: Rbqwow Date: Mon, 6 Feb 2023 22:19:34 +0800 Subject: [PATCH 07/22] =?UTF-8?q?Update=202.3-IssueBot=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=96=B9=E6=B3=95.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/2.3-IssueBot使用方法.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/2.3-IssueBot使用方法.md b/docs/2.3-IssueBot使用方法.md index ce239be5c8..567835daec 100644 --- a/docs/2.3-IssueBot使用方法.md +++ b/docs/2.3-IssueBot使用方法.md @@ -1,6 +1,6 @@ # Issue Bot 使用方法 -Issue Bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-checker),配置文件为 [issue-checker.yml](.github/issue-checker.yml)。 +Issue Bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-checker),配置文件为 [issue-checker.yml](../.github/issue-checker.yml)。 **注意:拉取请求被增加 `ambiguous` 标签是因为没有按照 commitizen 规范提交。** @@ -10,7 +10,7 @@ Issue Bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-c - 给 议题 和 拉取请求 增加标签,包括 `module` 系列,`Client` 系列,`ambiguous`,`translation required` 等。 Issue Bot 会根据关键词自动增加分类标签。 - 具体关键词可以参考[配置文件](.github/issue-checker.yml)。 + 具体关键词可以参考[配置文件](../.github/issue-checker.yml)。 - 给作者是可见性设置为 public 的 MAA 成员的 议题 和 拉取请求 增加 `MAA Team` 标签。 #### 议题(Issue)及其评论 From ba9518dc81eee34e979dd560d60f2d21817f4092 Mon Sep 17 00:00:00 2001 From: Congcong Cai Date: Tue, 7 Feb 2023 00:24:51 +0800 Subject: [PATCH 08/22] refactor logic --- src/MaaCore/Controller.cpp | 47 +++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index 94484a7ddb..929aa9a734 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -1590,37 +1590,36 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, } else if (m_child > 0) { // parent process - do { - if (recv_by_socket) { - sockaddr addr {}; - socklen_t len = sizeof(addr); - sock_buffer = asst::platform::single_page_buffer(); + if (recv_by_socket) { + sockaddr addr {}; + socklen_t len = sizeof(addr); + sock_buffer = asst::platform::single_page_buffer(); - int client_socket = ::accept(m_server_sock, &addr, &len); - if (client_socket < 0) { - Log.error("accept failed:", strerror(errno)); - ::kill(m_child, SIGKILL); - return std::nullopt; - } - - ssize_t read_num = ::read(client_socket, sock_buffer.get(), sock_buffer.size()); - - while (read_num > 0) { - sock_data.insert(sock_data.end(), sock_buffer.get(), sock_buffer.get() + read_num); - read_num = ::read(client_socket, sock_buffer.get(), sock_buffer.size()); - } - - ::close(client_socket); + int client_socket = ::accept(m_server_sock, &addr, &len); + if (client_socket < 0) { + Log.error("accept failed:", strerror(errno)); + ::kill(m_child, SIGKILL); + ::waitpid(m_child, &exit_ret, 0); + return std::nullopt; } - else { - ssize_t read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); + ssize_t read_num = ::read(client_socket, sock_buffer.get(), sock_buffer.size()); + while (read_num > 0) { + sock_data.insert(sock_data.end(), sock_buffer.get(), sock_buffer.get() + read_num); + read_num = ::read(client_socket, sock_buffer.get(), sock_buffer.size()); + } + ::close(client_socket); + } + else { + do { + ssize_t read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); while (read_num > 0) { pipe_data.insert(pipe_data.end(), pipe_buffer.get(), pipe_buffer.get() + read_num); read_num = ::read(m_pipe_out[PIPE_READ], pipe_buffer.get(), pipe_buffer.size()); } - } - } while (::waitpid(m_child, &exit_ret, WNOHANG) == 0 && !check_timeout()); + } while (::waitpid(m_child, &exit_ret, WNOHANG) == 0 && !check_timeout()); + } + ::waitpid(m_child, &exit_ret, 0); // if ::waitpid(m_child, &exit_ret, WNOHANG) == 0, repeat it will cause ECHILD, so not check the return value } else { // failed to create child process From 49dbf3f18daa231a148a981f148117099cbb0d64 Mon Sep 17 00:00:00 2001 From: Congcong Cai Date: Tue, 7 Feb 2023 00:32:14 +0800 Subject: [PATCH 09/22] shutdown socket before close --- src/MaaCore/Controller.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index 929aa9a734..34d398565c 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -1,6 +1,7 @@ #include "Controller.h" #include "Utils/Platform.hpp" +#include #ifdef _WIN32 #include @@ -1608,6 +1609,7 @@ std::optional asst::Controller::call_command_posix(const std::string& cmd, sock_data.insert(sock_data.end(), sock_buffer.get(), sock_buffer.get() + read_num); read_num = ::read(client_socket, sock_buffer.get(), sock_buffer.size()); } + ::shutdown(client_socket, SHUT_RDWR); ::close(client_socket); } else { From 7d6c116159412706bac241ba0d0c6519cfab7192 Mon Sep 17 00:00:00 2001 From: Congcong Cai Date: Tue, 7 Feb 2023 07:53:25 +0800 Subject: [PATCH 10/22] move sys socket in unix only macro --- src/MaaCore/Controller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaCore/Controller.cpp b/src/MaaCore/Controller.cpp index 34d398565c..8ed32ac335 100644 --- a/src/MaaCore/Controller.cpp +++ b/src/MaaCore/Controller.cpp @@ -1,7 +1,6 @@ #include "Controller.h" #include "Utils/Platform.hpp" -#include #ifdef _WIN32 #include @@ -9,6 +8,7 @@ #include #include #include +#include #ifndef __APPLE__ #include #endif From dca7f5e6c804eae96e42fc5c3ee5a46e730b7a05 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Mon, 6 Feb 2023 14:47:10 +0800 Subject: [PATCH 11/22] =?UTF-8?q?feat:=20=E7=95=8C=E9=9D=A2=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=97=B6=E9=97=B4=E6=A0=B9=E6=8D=AE=E6=89=80=E9=80=89?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=B1=BB=E5=9E=8B=E5=86=B3=E5=AE=9A?= =?UTF-8?q?=EF=BC=88=E5=A4=96=E6=9C=8D=E6=97=B6=E5=8C=BA=E8=BF=98=E8=A6=81?= =?UTF-8?q?=E6=94=B9=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 19 +++++++++++++++++-- src/MaaWpfGui/Main/SettingsViewModel.cs | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 3f3bf858fd..3c683330f7 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -58,13 +58,28 @@ namespace MaaWpfGui } } + private static string _clientType = ViewStatusStorage.Get("Start.ClientType", string.Empty); + + public static string ClientType { get => _clientType; set => _clientType = value; } + + private static readonly Dictionary clientList = new Dictionary + { + { string.Empty, 4 }, + { "Official", 4 }, + { "Bilibili", 4 }, + { "txwy", 4 }, + { "YoStarEN", 4 }, + { "YoStarJP", 5 }, + { "YoStarKR", 4 }, + }; + /// /// 获取yj历时间 /// /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(4); + return DateTime.UtcNow.AddHours(clientList[ClientType]); } /// @@ -101,7 +116,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(4); + return dt.AddHours(clientList[ClientType]); } private static readonly JObject _itemList = new JObject(); diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 8b91246ca8..2c8dc3e542 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -548,6 +548,7 @@ namespace MaaWpfGui set { SetAndNotify(ref _clientType, value); + Utils.ClientType = value; ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ } From fb04ca989821275ee5764bde92f8b574d79ab300 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Mon, 6 Feb 2023 15:03:51 +0800 Subject: [PATCH 12/22] =?UTF-8?q?chore:=20=E9=87=8D=E5=91=BD=E5=90=8D?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=AF=B9=E5=BA=94=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 3c683330f7..958848be5f 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -62,7 +62,7 @@ namespace MaaWpfGui public static string ClientType { get => _clientType; set => _clientType = value; } - private static readonly Dictionary clientList = new Dictionary + private static readonly Dictionary _clientTypeTimeOffsetMap = new Dictionary { { string.Empty, 4 }, { "Official", 4 }, @@ -79,7 +79,7 @@ namespace MaaWpfGui /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(clientList[ClientType]); + return DateTime.UtcNow.AddHours(_clientTypeTimeOffsetMap[ClientType]); } /// @@ -116,7 +116,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(clientList[ClientType]); + return dt.AddHours(_clientTypeTimeOffsetMap[ClientType]); } private static readonly JObject _itemList = new JObject(); From 9e1a0d9095053692df92c5f84d151b0e1e087c5e Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Tue, 7 Feb 2023 15:21:34 +0800 Subject: [PATCH 13/22] =?UTF-8?q?feat:=20=E5=88=87=E6=8D=A2=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E7=B1=BB=E5=9E=8B=E6=97=B6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=B3=E5=8D=A1=E5=88=97=E8=A1=A8=E5=92=8C=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Main/SettingsViewModel.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 2c8dc3e542..1f66c85e5a 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -551,6 +551,8 @@ namespace MaaWpfGui Utils.ClientType = value; ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ + _container.Get().UpdateStageList(true); + _container.Get().UpdateDatePrompt(); } } From 70fa2db091cf23c46cc0326f00f6fa9267343d76 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Tue, 7 Feb 2023 01:27:35 -0600 Subject: [PATCH 14/22] =?UTF-8?q?Revert=20"feat:=20=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=A0=B9=E6=8D=AE=E6=89=80?= =?UTF-8?q?=E9=80=89=E5=AE=A2=E6=88=B7=E7=AB=AF=E7=B1=BB=E5=9E=8B=E5=86=B3?= =?UTF-8?q?=E5=AE=9A=EF=BC=88=E5=A4=96=E6=9C=8D=E6=97=B6=E5=8C=BA=E8=BF=98?= =?UTF-8?q?=E8=A6=81=E6=94=B9=EF=BC=89"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 11f4212cb84d68c99fa4852aeb361cce07ea4e3f. 3ddeee1d 也在这个commit里面revert了 cherrypick放到stage_manager_overseas branch里等之后一起merge --- src/MaaWpfGui/Helper/Utils.cs | 19 ++----------------- src/MaaWpfGui/Main/SettingsViewModel.cs | 1 - 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 958848be5f..3f3bf858fd 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -58,28 +58,13 @@ namespace MaaWpfGui } } - private static string _clientType = ViewStatusStorage.Get("Start.ClientType", string.Empty); - - public static string ClientType { get => _clientType; set => _clientType = value; } - - private static readonly Dictionary _clientTypeTimeOffsetMap = new Dictionary - { - { string.Empty, 4 }, - { "Official", 4 }, - { "Bilibili", 4 }, - { "txwy", 4 }, - { "YoStarEN", 4 }, - { "YoStarJP", 5 }, - { "YoStarKR", 4 }, - }; - /// /// 获取yj历时间 /// /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(_clientTypeTimeOffsetMap[ClientType]); + return DateTime.UtcNow.AddHours(4); } /// @@ -116,7 +101,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(_clientTypeTimeOffsetMap[ClientType]); + return dt.AddHours(4); } private static readonly JObject _itemList = new JObject(); diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 1f66c85e5a..575071b772 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -548,7 +548,6 @@ namespace MaaWpfGui set { SetAndNotify(ref _clientType, value); - Utils.ClientType = value; ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ _container.Get().UpdateStageList(true); From 1e549b92465d4df7c3f31ca07a21958fb0ca5bb3 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Tue, 7 Feb 2023 01:37:55 -0600 Subject: [PATCH 15/22] =?UTF-8?q?Revert=20"feat:=20=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=B1=BB=E5=9E=8B=E6=97=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=85=B3=E5=8D=A1=E5=88=97=E8=A1=A8=E5=92=8C=E5=85=B3?= =?UTF-8?q?=E5=8D=A1=E6=8F=90=E7=A4=BA"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 9e1a0d9095053692df92c5f84d151b0e1e087c5e. --- src/MaaWpfGui/Main/SettingsViewModel.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 575071b772..8b91246ca8 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -550,8 +550,6 @@ namespace MaaWpfGui SetAndNotify(ref _clientType, value); ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ - _container.Get().UpdateStageList(true); - _container.Get().UpdateDatePrompt(); } } From 6c85ddbae154209b39a94a531a8700c6f55a9d43 Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Tue, 7 Feb 2023 15:21:34 +0800 Subject: [PATCH 16/22] =?UTF-8?q?feat:=20=E5=88=87=E6=8D=A2=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E7=B1=BB=E5=9E=8B=E6=97=B6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=85=B3=E5=8D=A1=E5=88=97=E8=A1=A8=E5=92=8C=E5=85=B3=E5=8D=A1?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Main/SettingsViewModel.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/MaaWpfGui/Main/SettingsViewModel.cs b/src/MaaWpfGui/Main/SettingsViewModel.cs index 2c8dc3e542..1f66c85e5a 100644 --- a/src/MaaWpfGui/Main/SettingsViewModel.cs +++ b/src/MaaWpfGui/Main/SettingsViewModel.cs @@ -551,6 +551,8 @@ namespace MaaWpfGui Utils.ClientType = value; ViewStatusStorage.Set("Start.ClientType", value); UpdateWindowTitle(); /* 每次修改客户端时更新WindowTitle */ + _container.Get().UpdateStageList(true); + _container.Get().UpdateDatePrompt(); } } From 892d24b331cdbdfaecf0e864d24b2c93aa7852d6 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Tue, 7 Feb 2023 01:57:15 -0600 Subject: [PATCH 17/22] =?UTF-8?q?fix:=20StageManager.cs=20=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E4=B8=BA=E4=B8=8D=E9=80=89=E6=8B=A9=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E5=80=99=E4=B9=9F=E8=A7=86=E4=B8=BA=E5=AE=98=E6=9C=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/StageManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/MaaWpfGui/Helper/StageManager.cs b/src/MaaWpfGui/Helper/StageManager.cs index add678f11f..67f112779d 100644 --- a/src/MaaWpfGui/Helper/StageManager.cs +++ b/src/MaaWpfGui/Helper/StageManager.cs @@ -90,7 +90,7 @@ namespace MaaWpfGui var clientType = settingsModel.ClientType; // 官服和B服使用同样的资源 - if (clientType == "Bilibili") + if (clientType == "Bilibili" || clientType == string.Empty) { clientType = "Official"; } From a6349ee33d15b3926edd09940b4d992667270703 Mon Sep 17 00:00:00 2001 From: Yifan Liu Date: Tue, 7 Feb 2023 02:32:49 -0600 Subject: [PATCH 18/22] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=BA=86?= =?UTF-8?q?=E5=90=84=E4=B8=AA=E6=97=B6=E5=8C=BA=E7=9A=84YJ=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E4=BB=A5=E5=8F=8A=E8=B0=83=E6=95=B4=E4=BA=86YJ?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E7=9A=84=E8=AE=A1=E7=AE=97=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MaaWpfGui/Helper/Utils.cs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/MaaWpfGui/Helper/Utils.cs b/src/MaaWpfGui/Helper/Utils.cs index 958848be5f..845313c68e 100644 --- a/src/MaaWpfGui/Helper/Utils.cs +++ b/src/MaaWpfGui/Helper/Utils.cs @@ -62,15 +62,18 @@ namespace MaaWpfGui public static string ClientType { get => _clientType; set => _clientType = value; } - private static readonly Dictionary _clientTypeTimeOffsetMap = new Dictionary + // YJ历每一天从4点开始,计算日期的时候第二天4点前仍然算作前一天 + private static readonly int YJDayStartHour = 4; + + private static readonly Dictionary _clientTypeTimezone = new Dictionary { - { string.Empty, 4 }, - { "Official", 4 }, - { "Bilibili", 4 }, - { "txwy", 4 }, - { "YoStarEN", 4 }, - { "YoStarJP", 5 }, - { "YoStarKR", 4 }, + { string.Empty, 8 }, + { "Official", 8 }, + { "Bilibili", 8 }, + { "txwy", 8 }, + { "YoStarEN", -7 }, + { "YoStarJP", 9 }, + { "YoStarKR", 9 }, }; /// @@ -79,7 +82,7 @@ namespace MaaWpfGui /// yj历时间 public static DateTime GetYJTimeNow() { - return DateTime.UtcNow.AddHours(_clientTypeTimeOffsetMap[ClientType]); + return ToYJTime(DateTime.UtcNow); } /// @@ -116,7 +119,7 @@ namespace MaaWpfGui /// yj历格式的时间 public static DateTime ToYJTime(DateTime dt) { - return dt.AddHours(_clientTypeTimeOffsetMap[ClientType]); + return dt.AddHours(_clientTypeTimezone[ClientType] - YJDayStartHour); } private static readonly JObject _itemList = new JObject(); From c23435445b81c2483d74b66a258eeed0ddebd48c Mon Sep 17 00:00:00 2001 From: uye <2396806385@qq.com> Date: Tue, 7 Feb 2023 17:27:46 +0800 Subject: [PATCH 19/22] =?UTF-8?q?feat:=20=E5=BC=80=E5=90=AF=E5=A4=87?= =?UTF-8?q?=E9=80=89=E5=85=B3=E5=8D=A1=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B?= =?UTF-8?q?=E5=89=BF=E7=81=AD=E7=BB=93=E6=9D=9F=E5=90=8E=E5=B0=9D=E8=AF=95?= =?UTF-8?q?=E5=89=A9=E4=BD=99=E5=BC=80=E6=94=BE=E7=9A=84=E5=A4=87=E9=80=89?= =?UTF-8?q?=E5=85=B3=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #3626 --- src/MaaWpfGui/Main/AsstProxy.cs | 5 +++++ src/MaaWpfGui/Main/TaskQueueViewModel.cs | 11 +++++++++++ src/MaaWpfGui/Res/Localizations/en-us.xaml | 8 +++++++- src/MaaWpfGui/Res/Localizations/zh-cn.xaml | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/MaaWpfGui/Main/AsstProxy.cs b/src/MaaWpfGui/Main/AsstProxy.cs index 3c389971fa..f079d81f77 100644 --- a/src/MaaWpfGui/Main/AsstProxy.cs +++ b/src/MaaWpfGui/Main/AsstProxy.cs @@ -476,6 +476,11 @@ namespace MaaWpfGui copilotModel.AddLog(Localization.GetString("CombatError"), UILogColor.Error); } + if (taskChain == "Fight" && (mainModel.Stage == "Annihilation")) + { + mainModel.AddLog(Localization.GetString("AnnihilationTaskFailed"), UILogColor.Warning); + } + break; case AsstMsg.TaskChainStart: diff --git a/src/MaaWpfGui/Main/TaskQueueViewModel.cs b/src/MaaWpfGui/Main/TaskQueueViewModel.cs index 4854f3ff92..89f40b7c17 100644 --- a/src/MaaWpfGui/Main/TaskQueueViewModel.cs +++ b/src/MaaWpfGui/Main/TaskQueueViewModel.cs @@ -782,6 +782,17 @@ namespace MaaWpfGui var asstProxy = _container.Get(); bool mainFightRet = asstProxy.AsstAppendFight(Stage, medicine, stone, times, DropsItemId, drops_quantity); + if (mainFightRet && (Stage == "Annihilation") && _container.Get().UseAlternateStage) + { + foreach (var stage in new[] { Stage1, Stage2, Stage3 }) + { + if (IsStageOpen(stage) && (stage != Stage)) + { + mainFightRet = asstProxy.AsstAppendFight(stage, medicine, 0, int.MaxValue, string.Empty, 0); + } + } + } + if (mainFightRet && UseRemainingSanityStage && (RemainingSanityStage != string.Empty)) { return asstProxy.AsstAppendFight(RemainingSanityStage, 0, 0, int.MaxValue, string.Empty, 0, false); diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 997398bd03..8754c3100e 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -74,7 +74,7 @@ Starting Roles Starting Oper (single, CN name only) Only supports the CN name of a single oper, default if not filled. - Select "Starting Oper" from support unit list + Select "Starting Oper" from support unit list Enable nonfirend support Deployment with Pause, Works for IS, Copilot and SSS, Beta function, Not recommended yet Use Adb Lite (Experimental) @@ -100,6 +100,10 @@ Overcoming Your Weaknesses As Your Heart Desires + Algorithm Finish + Algorithm Badge + Algorithm Construction Point + Not selected Official (CN) Bilibili @@ -242,6 +246,7 @@ Credit Store Collect mission rewards Auto I.S. + Reclamation Algorithm Select All Inverse @@ -324,6 +329,7 @@ All tasks are completed shutting down. Do you want to cancel? Tip Task(s) completed, about to hibernate + Annihilation task failed, will try to use alternate stage, some combat settings will not be effective diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index a31d0096a8..f0b6de2821 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -329,6 +329,7 @@ 已刷完,即将关机,是否取消? 提示 已刷完,即将休眠 + 剿灭任务失败,将尝试使用剩余备选关卡,部分战斗设置将不生效 From 0059f7e252c66e31c954d51bbbf8df2222a0abcc Mon Sep 17 00:00:00 2001 From: vonnoq <121179930+vonnoq@users.noreply.github.com> Date: Tue, 7 Feb 2023 22:35:44 +0800 Subject: [PATCH 20/22] =?UTF-8?q?=E7=B9=81=E4=B8=AD=E6=9C=8D=20=E6=84=9A?= =?UTF-8?q?=E4=BA=BA=E8=99=9F=E5=85=A5=E5=8F=A3=E6=94=B9=E7=82=BA=E8=AD=98?= =?UTF-8?q?=E5=88=A5=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/global/txwy/resource/tasks.json | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/resource/global/txwy/resource/tasks.json b/resource/global/txwy/resource/tasks.json index 07e124a4da..23c9799e74 100644 --- a/resource/global/txwy/resource/tasks.json +++ b/resource/global/txwy/resource/tasks.json @@ -46,7 +46,30 @@ "活動" ] }, + "SN-Open": { + "action": "ClickSelf", + "algorithm": "OcrDetect", + "text": [ + "愚人號", + "活動", + "關卡已開放" + ], + "roi": [ + 0, + 500, + 500, + 150 + ] + }, + "SN-Chapter2": { + "preDelay":2000, + "next": [ + "SN-Chapter2", + "ChapterSwipeToTheRight" + ] + }, "SN-Chapter3": { + "preDelay":2000, "next": [ "SN-Chapter3", "ChapterSwipeToTheLeft" From 9950b28e08252028ef97628351fe83eb47c9a33e Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 7 Feb 2023 23:14:41 +0800 Subject: [PATCH 21/22] docs: changelogs --- CHANGELOG.md | 90 +++++++++++++--------------------------------------- 1 file changed, 22 insertions(+), 68 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb25799037..995b1dc3c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,82 +1,36 @@ -## v4.10.6-rc.1 +## v4.10.6 +- 新增 `生息演算` 流程支持,修复大量错误,优化界面支持等 @WLLEGit @hguandl @MistEO +- 修复 自动战斗 带引号的召唤物名字识别问题 @cenfusheng - 优化 仓库识别 在匹配不到时返回主页重进 @bigqiao -- 优化 界面 设置布局、标题显示等 @ABA2396 +- 修复 自定义基建 内置作业错误 @ShooinXue @lhhxxxxx +- 修复 基建 会客室 不收取线索的问题 @Sed66666 +- 修复 基建 领取线索流程 @Sed66666 +- 修复 关卡掉落芯片识别问题 @horror-proton +- 修复 上传 企鹅物流错误时,任务卡很久的问题 @MistEO +- 优化 界面 设置布局、标题显示、剩余理智选项、关卡导航、公告语言设置、更新按钮连续点击错误、下载更新错误等 @ABA2396 @horror-proton +- 新增 发版镜像 @GalvinGao +- 优化 肉鸽 干员权重 @lhhxxxxx - 更新 文档 模拟器支持相关内容 @FSPaul2498 ### For overseas -- Updated the template image and translation for YostarKR @178619 -- Fixed overseas servers infrast dorm/power issue @liuyifan-eric -- 更新 繁中服 基建和 `愚人号` 模板图片 @vonnoq - -### For develops - -- Fixed python APIs package path error @Chr0nixz - - -## v4.10.6-beta.5 - -- 新增 界面 剩余理智可选关闭 @ABA2396 -- 新增 `生息演算` 界面日志显示 @WLLEGit -- 修复 `生息演算` 无初始干员卡住的问题,添加集成文档 @WLLEGit -- 修复 `生息演算` 网络不佳时退出慢的问题 @WLLEGit -- 修复 界面 下载更新时日志栏被清空的问题 @ABA2396 -- 修复 界面 关卡导航问题 @ABA2396 -- 修复 自定义基建 内置作业错误 @lhhxxxxx -- 优化 肉鸽 干员权重 @lhhxxxxx - -### For overseas - +- Fixed overseas clients infrast dorm/power issue @liuyifan-eric - Added resource stage pathfinding for all overseas clients @liuyifan-eric -- Added support for trial function in copilot of JP @liuyifan-eric -- Updated JP operator json regex @liuyifan-eric -- Added Copilot function for KR @178619 + +- Added support for trial function in copilot of YoStarJP @liuyifan-eric +- Updated YoStarJP operator json regex @liuyifan-eric + +- Added Copilot function for YoStarKR @178619 - Fixed OCR for YoStarKR @178619 -- Fixed some recognition bugs, updated resources and documentation for YostarKR @178619 +- Fixed some recognition bugs, updated resources and documentation for YoStarKR @178619 +- Updated Korean translation @178619 + - Fixed Base function stuck and some minor issues for YostarEN @RiichiTsumo -- 修复 繁中服 部分识别错误 @vonnoq + +- 更新 繁中服 基建和 `愚人号` 模板图片、修复导航功能、修复部分识别问题 @vonnoq ### For develops - Added an updater to the python interface @SaiCateDoan - Refactored python APIs @Chr0nixz - -## v4.10.6-beta.4 - -- 新增 `生息演算` 关卡导航,并大幅优化稳定性 @WLLEGit - -### For overseas - -- 更新 繁中服 角色、资源数据,修复 `愚人号` 及 上次作战 导航功能 @vonnoq - -## v4.10.6-beta.3 - -- 修复 界面 关卡导航变空白的问题 @ABA2396 -- 修复 基建 243 一天 4 换排班错误 @ShooinXue -- 修复 基建 领取线索流程 @Sed66666 -- 修复 生息演算 无法放弃问题 @WLLEGit -- 修复 关卡掉落芯片识别问题 @horror-proton - -## v4.10.6-beta.2 - -- 新增 mac ui 支持 `生息演算` @hguandl -- 修复 `生息演算` 若干问题 @WLLEGit -- 修复 自动战斗 带引号的召唤物名字识别问题 @cenfusheng -- 修复 界面 全选会选上 `生息演算` 的问题 @MistEO -- 修复 镜像上传错误 @GalvinGao - -## v4.10.6-beta.1 - -- 新增 `生息演算` 简单流程支持 @WLLEGit -- 修复 基建 会客室 不收取线索的问题 @Sed66666 -- 修复 上传 企鹅物流错误时,任务卡很久的问题 @MistEO -- 修复 界面 更新公告语言设置错误 @horror-proton -- 修复 界面 检查更新按钮连续点击时的错误 @ABA2396 -- 修复 界面 导航选项冲突 @ABA2396 - -- 新增 发版镜像 @GalvinGao - -### For overseas - -- Updated Korean translation @178619 From 8181d0b8c3c9c61d3f43b9bb556e2e8f43700875 Mon Sep 17 00:00:00 2001 From: MistEO Date: Tue, 7 Feb 2023 23:20:00 +0800 Subject: [PATCH 22/22] docs: changelogs --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 995b1dc3c8..0d15f6f0e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## v4.10.7-beta.1 + +- 优化 界面关卡选择及提示支持外服 @liuyifan-eric @ABA2396 +- 修复 Unix 的 socket 连接错误 @HerrCai0907 +- 修复 IssueBot 文档链接错误 @Rbqwow + ## v4.10.6 - 新增 `生息演算` 流程支持,修复大量错误,优化界面支持等 @WLLEGit @hguandl @MistEO