Shadow-Lemon
|
1e9b72e547
|
fix: 修复同时存在多个脚本仓库文件夹时迁移优先级出错 (#2906)
Co-authored-by: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com>
|
2026-03-12 00:08:26 +08:00 |
|
Shadow-Lemon
|
5dcbd9b577
|
fix: 修复命令行启动时自动更新阻塞导致 StartGameTask 跳过等待主界面的问题 (#2902)
Co-authored-by: ShadowLemoon <119576779+ShadowLemoon@users.noreply.github.com>
|
2026-03-11 09:56:01 +08:00 |
|
ShadowLemoon
|
12423edd6e
|
fix: 修复迁移订阅触发时机 (#2811)
|
2026-02-21 11:46:24 +08:00 |
|
ShadowLemoon
|
f7976b0bbd
|
feat: 根据文件夹名字和内容重合度区分仓库;启动时自动更新仓库和订阅 (#2767)
* feat: 实现启动时自动更新已订阅脚本及多仓库分离存储
- ScriptConfig: 新增 AutoUpdateSubscribedScripts 配置项
- ScriptRepoUpdater: 动态 CenterRepoPath, 按仓库URL分离存储
- 内容重合度检测(Jaccard系数)判断仓库异同
- URL→文件夹名持久化映射(repo_folder_mapping.json)
- repo_updated.json 存放于各自仓库文件夹内
- AutoUpdateSubscribedScripts 启动时自动更新订阅脚本
- 静默同步仓库、渠道URL解析、检出更新脚本
- RepoWebBridge: 使用动态路径, 辅助方法改为 internal
- MainWindowViewModel: 启动时调用自动更新
* feat: 基于内容重合度的导入zip仓库
* perf: 合并默认仓库url映射
* perf: 清理兼容字段
* perf: 添加线程锁以避免并发调用
* fix: 缓存FolderMapping、修复重合度异常返回值、目录扫描异常隔离、移除未使用变量
* perf: 优化更新流程
* perf: 内存缓存添加锁
* fix: 修复更新状态逻辑,确保克隆失败时不标记为已更新
* perf: 文件夹映射先写磁盘再写缓存
* refactor: 简化生成唯一文件夹名称的方法,移除不必要的参数
* fix: ResetRepo加写锁并清理URL映射条目
* perf: 优化重合度算法
* docs: 更新注释
* fix: 仅重置实际更新成功的脚本的 hasUpdate 标记
* feat: 手动一键更新按钮
* feat: 订阅路径迁移至独立文件存储并简化更新逻辑
- 订阅数据从 config.json 迁移到 User/subscriptions/{repo}.json 独立文件
- 添加 ReaderWriterLockSlim 保护订阅文件并发读写
- 使用 System.Text.Json + ConfigService.JsonOptions 序列化
- 新增 RepoWebBridge.GetSubscribedScriptPaths() 桥接方法
- 启动时自动从旧 config.json 迁移订阅数据到独立文件
- 合并手动/自动更新为 UpdateAllSubscribedScriptsCore 共用核心
- 移除 hasUpdate 检查,直接全量更新所有订阅脚本
- 移除冗余 logPrefix 参数
* refactor: 简化启动时自动更新调用
- 移除 Task.Run + try-catch 包装,异常处理已内置于方法中
- 直接使用 fire-and-forget 异步调用
* fix: 订阅目录命名改为 PascalCase (Subscriptions)
* refactor: 移除死代码和冗余中间层方法
* fix: ReadSubscriptionFile 异常时记录日志避免订阅数据静默丢失
* fix: 进度条改为Indeterminate模式、异常日志补全、订阅去重、迁移批量写入、锁注释
* refactor: 提取 ReadFolderMappingFromDisk 消除映射方法嵌套 try
* fix: 补全静态方法异常日志、WriteSubscriptionFile异常保护、ManualUpdate注释
* fix: ManualUpdateSubscribedScripts 加 try-catch 兜底并提示用户重置仓库
* fix: Dialog打开时检测后台自动更新状态,自动禁用按钮并显示进度提示
- ScriptRepoUpdater 新增 IsAutoUpdating 标志和 AutoUpdateStateChanged 事件
- ScriptRepoWindow 订阅事件,自动更新期间显示进度条、禁用所有操作按钮并 Toast 提示
- 更新仓库/重置仓库按钮也加上 IsEnabled 绑定 IsUpdating
* fix: 将自动更新调用包裹在 Task.Run 中避免 UI 线程阻塞
AutoUpdateSubscribedScripts 的 await 后续会被 WPF SynchronizationContext
调度回 UI 线程,导致大量 Git checkout 和文件 IO 操作阻塞界面。
用 Task.Run 确保整个流程在线程池执行。
* fix: 进度条分离 IsProgressIndeterminate 属性,按操作类型正确切换确定/不确定模式
* refactor: 消除 pathing 展开重复逻辑、用布尔字段替换字符串比较追踪状态来源、补全锁注释、统一日志方式
* fix: ExpandTopLevelPaths 泛化展开所有 PathMapper 顶层 key 防止误删用户目录,迁移移入锁内
* fix: 命令行启动配置组/一条龙前先等待自动更新订阅脚本完成
* feat: 添加命令行启动时是否先自动更新选项
* fix: 修复按钮位置
|
2026-02-20 15:09:17 +08:00 |
|
辉鸭蛋
|
9f67726781
|
I18n v2 (#2709)
* feat(i18n): 添加界面与日志的国际化支持
- 新增 ITranslationService 接口及 JsonTranslationService 实现,提供基于 JSON 的翻译服务
- 添加 TrConverter 转换器,支持通过绑定动态翻译界面文本
- 引入 AutoTranslateInterceptor 行为,自动扫描并翻译界面中的静态文本
- 集成 TranslatingSerilogLoggerProvider,实现日志输出的实时翻译
- 在 App.xaml 中注册全局样式,为 Window、UserControl 和 Page 启用自动翻译
* refactor(AutoTranslateInterceptor): 优化自动翻译拦截器的加载与应用机制
- 移除 HomePage 中冗余的 EnableAutoTranslate 属性设置,改为继承属性
- 通过类构造函数注册全局 Loaded 事件处理器,替代在每个元素上单独添加
- 引入请求队列机制,批量处理待应用翻译的元素,避免重复调度
- 扩展属性类型检查,支持 object 类型以处理更多动态内容场景
* fix: 移除全局自动翻译拦截器以避免冲突
移除在 App.xaml 中为 Window、UserControl 和 Page 全局设置的 AutoTranslateInterceptor,
改为仅在 PickerWindow 中显式启用。这解决了全局样式可能导致的意外行为或冲突。
* feat(ui): 为多个窗口启用自动翻译拦截器
为 MapLabelSearchWindow、ArtifactOcrDialog、PromptDialog 等 14 个窗口添加了 AutoTranslateInterceptor.EnableAutoTranslate 属性,以启用自动翻译拦截功能。
* feat(i18n): 添加国际化目录支持并优化异常处理
* feat(ui): 添加软件UI语言设置并改进翻译服务
- 在通用设置页面新增UI语言选择控件,支持动态切换界面语言
- 修改游戏语言标签为“原神游戏语言”以明确区分
- 改进JsonTranslationService,支持UI语言切换时的实时翻译更新
- 优化AutoTranslateInterceptor,缓存原始文本值并在语言切换时恢复
- 添加属性变更监听机制,确保UI元素在语言切换后正确刷新
* feat(自动翻译): 添加排除自动翻译的依赖属性
在 AutoTranslateInterceptor 中新增 ExcludeAutoTranslate 附加属性,允许对特定依赖对象禁用自动翻译功能。当遍历元素进行翻译时,会检查此属性并跳过已标记排除的元素。
* feat(translation): 为缺失文本翻译添加详细上下文信息
扩展翻译服务以收集缺失文本的详细上下文,包括视图路径、元素类型、属性名等。
重构 `ITranslationService` 接口,引入 `TranslationSourceInfo` 类封装上下文信息。
修改 `AutoTranslateInterceptor` 自动收集 UI 元素信息,`JsonTranslationService` 合并多来源上下文。
* Revert "feat(自动翻译): 添加排除自动翻译的依赖属性"
This reverts commit a1c2334951.
* fix: 跳过 GridViewRowPresenter 中的文本翻译
添加 IsInGridViewRowPresenter 检查,避免在 GridViewRowPresenter 控件内进行自动翻译,防止潜在的界面显示问题。
* fix: 修复自动翻译拦截器在组合框上下文中的误触发
在自动翻译拦截器中添加了 IsInComboBoxContext 方法,用于检测依赖对象是否处于 ComboBox 或其相关弹出菜单的上下文中。当检测到对象位于组合框上下文时,跳过自动翻译逻辑,避免对下拉选项等界面元素进行不必要的翻译操作,从而解决潜在的界面干扰问题。
* feat(translation): 添加缺失翻译上报至 Supabase 的功能
- 新增 IMissingTranslationReporter 接口及 SupabaseMissingTranslationReporter 实现
- 在 JsonTranslationService 中集成缺失翻译上报逻辑
- 添加缺失翻译收集的配置设置(MissingTranslationCollectionSettings)
- 优化缺失翻译文件的序列化格式,将 Source 字段改为紧凑的数字表示
- 移除 ScriptRepoUpdater 中未使用的 using 语句
- 在 App.xaml.cs 中注册 SupabaseMissingTranslationReporter 服务
* fix: 修复自动翻译功能中原始值恢复和重复报告问题
- 移除未使用的法语翻译支持以简化语言选项
- 修复 Supabase 报告序列化时移除冗余字段
- 添加已缺失翻译键的缓存以避免重复报告
- 重构自动翻译拦截器,将原始值存储移至依赖属性
- 修复原始值恢复逻辑,确保正确遍历所有子元素
* feat(ui): 添加更新UI语言文件功能
- 在 ITranslationService 接口中添加 Reload 方法
- 在 JsonTranslationService 中实现 Reload 方法,支持重新加载语言文件并发送变更通知
- 在通用设置页面添加“更新”按钮,点击后从远程仓库下载最新语言文件
- 实现 OnUpdateUiLanguageAsync 命令,支持从 GitHub 和镜像源下载语言文件
- 下载后自动替换本地文件并重新加载翻译服务
|
2026-02-15 19:03:33 +08:00 |
|
躁动的氨气
|
6b2f2543c4
|
feat: 支持仓库使用公共资源 (#2716)
|
2026-02-05 01:48:06 +08:00 |
|
辉鸭蛋
|
9372c007f8
|
一键更新失败的时候不抛出错误
|
2026-01-16 22:37:36 +08:00 |
|
ShadowLemoon
|
cd3ace0b62
|
perf: 减少一次拉取,提升100% (#2619)
|
2026-01-12 21:44:08 +08:00 |
|
辉鸭蛋
|
16a8142faa
|
feat: add progress reporting for repository fetch and clone operations
|
2026-01-11 01:15:45 +08:00 |
|
辉鸭蛋
|
6db5926dce
|
fix: reset repository reference after update failure
|
2026-01-10 23:55:44 +08:00 |
|
ShadowLemoon
|
24c134fb11
|
fix: 始终重新克隆脚本仓库 (#2614)
|
2026-01-10 23:45:13 +08:00 |
|
ShadowLemoon
|
d830dea328
|
perf: 极大加快脚本仓库的拉取速度 (#2359)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2026-01-04 22:19:32 +08:00 |
|
躁动的氨气
|
918aaf3b99
|
webview2改用虚拟域名 (#2543)
|
2025-12-14 00:27:21 +08:00 |
|
躁动的氨气
|
be2918ef56
|
记录仓库页面位置和大小,提供默认值 (#2458)
|
2025-11-14 21:49:43 +08:00 |
|
ShadowLemoon
|
300656761d
|
refactor: 给没有跟随主题的弹窗加上跟随主题的功能 (#2461)
|
2025-11-14 16:29:49 +08:00 |
|
ShadowLemoon
|
a58e93976c
|
feat: 支持私有脚本仓库鉴权 (#2361)
|
2025-10-19 21:14:16 +08:00 |
|
辉鸭蛋
|
bfe55061f4
|
git 更新提升速度
|
2025-09-12 02:04:25 +08:00 |
|
辉鸭蛋
|
5e8e078d8d
|
修复删除仓库时,仓库被占用的问题。修复历次更新 Fetch 过慢的问题
|
2025-09-10 01:25:22 +08:00 |
|
躁动的氨气
|
9a6a11295e
|
优化节点更新标记逻辑 (#2162)
|
2025-09-09 23:43:08 +08:00 |
|
辉鸭蛋
|
2f55dd0502
|
使用release分支更新脚本仓库
|
2025-09-06 01:13:23 +08:00 |
|
躁动的氨气
|
d1b1c32528
|
JS添加保存图片方法,仓库json支持积累更新提示 (#2078)
|
2025-08-17 01:15:30 +08:00 |
|
躁动的氨气
|
82c54a3458
|
修复js脚本需要备份的文件无法恢复的问题 (#2018)
|
2025-08-07 23:26:35 +08:00 |
|
躁动的氨气
|
dc59a3892d
|
增加JS保存文件支持 (#1990)
|
2025-08-03 01:33:47 +08:00 |
|
躁动的氨气
|
1add385e8a
|
小优化及新增脚本仓库桥接支持 (#1952)
|
2025-08-02 17:31:41 +08:00 |
|
mfkvfhpdx
|
20565f4328
|
调度器配置中增加执行成功任务跳过执行配置 (#1893)
|
2025-07-26 14:19:45 +08:00 |
|
zdAnQi
|
b872e973fe
|
父节点存在性检测 (#1897)
|
2025-07-25 00:10:32 +08:00 |
|
辉鸭蛋
|
233b7e8a0f
|
fix: 脚本仓库更新
|
2025-07-21 22:35:38 +08:00 |
|
zdAnQi
|
a0649d05db
|
脚本仓库配置文件订阅后更新 (#1896)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2025-07-20 23:10:03 +08:00 |
|
辉鸭蛋
|
0cec1aecfa
|
自动使用兑换码 (#1895)
|
2025-07-20 20:24:00 +08:00 |
|
Takaranoao
|
021d1f937a
|
选中的更新渠道URL写入配置文件并允许从自定义URL更新脚本仓库 (#1864)
Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
|
2025-07-12 14:32:28 +08:00 |
|
辉鸭蛋
|
77a22c127d
|
update fetch options to disable proxy during script repository updates #1822
|
2025-07-03 02:36:26 +08:00 |
|
辉鸭蛋
|
94db5d16cc
|
自动幽境危战 (#1786)
* feat: add AutoStygianOnslaught task and configuration for resin usage management
* UI
* feat: enhance AutoStygianOnslaught task with improved detection and handling
|
2025-06-28 20:22:57 +08:00 |
|
辉鸭蛋
|
80ef73cc51
|
脚本仓库更新添加进度条
|
2025-06-26 01:52:55 +08:00 |
|
辉鸭蛋
|
95ccb463ab
|
fix repository path ' ' is not owned by current user #1746
git config --global --add safe.directory *
|
2025-06-23 03:02:07 +08:00 |
|
辉鸭蛋
|
a520ee8785
|
修复离线仓库导入不可用的问题
|
2025-06-21 01:40:00 +08:00 |
|
辉鸭蛋
|
6f87a0c4d0
|
脚本仓库V2 (#1707)
* feat: add custom drawer control and integrate it into the UI
* 更新仓库UI
* feat: implement Git-based repository update mechanism and improve error handling
* feat: add reset repository functionality with confirmation dialog
* 修改打开队伍配置界面的重试次数和日志
* feat: add drawer open/close events and improve drawer closing logic
* feat: enhance WebpagePanel navigation handling and improve initialization logic
* feat: add drawer opened event handling and improve navigation completion logic
* feat: implement dynamic height adjustment for WebpagePanel using Grid container
* feat: update drawer dimensions and apply dynamic sizing based on position
* feat: add CustomDrawer component and integrate with MapPathingViewModel for enhanced navigation
* feat: integrate WebView2 for Markdown file navigation in MapPathingViewModel
|
2025-06-17 03:13:56 +08:00 |
|
辉鸭蛋
|
472c169603
|
use R2 to distribute script files
|
2025-02-06 01:37:42 +08:00 |
|
辉鸭蛋
|
f76c877882
|
support only local script repo
|
2025-02-05 22:23:31 +08:00 |
|
辉鸭蛋
|
31fcf9cedf
|
fix WindowStartupLocation without Owner
修复脚本订阅和配置组运行的提示框在高DPI显示屏下跑到屏幕外的问题
|
2025-02-04 21:06:13 +08:00 |
|
辉鸭蛋
|
06b142b8b2
|
more check for script repo
|
2025-02-01 08:59:24 +08:00 |
|
辉鸭蛋
|
d5838017d7
|
fix script import bug
|
2025-01-12 21:09:48 +08:00 |
|
辉鸭蛋
|
2d3395b491
|
typo & ui
|
2025-01-01 01:52:41 +08:00 |
|
辉鸭蛋
|
19c7b10b01
|
fix repo update
|
2024-11-09 17:37:46 +08:00 |
|
辉鸭蛋
|
94aae80046
|
auto pathing: optimize switch avatar
删除 `BetterGenshinImpact.csproj` 中的无用文件夹包含项。
将 `PathingConfig.cs` 中部分属性类型从 `int` 改为 `string`,并调整默认值。
在 `ScriptRepoUpdater.cs` 中用 `MessageBox` 替换 `ContentDialog`。
简化 `ElementalSkillHandler.cs` 和 `NormalAttackHandler.cs` 中的代码。
删除 `NahidaCollectHandler.cs` 中的切换角色代码。
在 `PathingTask.cs` 中添加 `HasAction` 方法。
在 `PathExecutor.cs` 中添加 `_actionAvatarIndexMap` 字典和多个新方法。
新增 `ReturnMainUiTask.cs` 任务类。
|
2024-10-24 23:05:52 +08:00 |
|
辉鸭蛋
|
404e7215fa
|
add icon for pathing ui
|
2024-10-24 00:48:58 +08:00 |
|
辉鸭蛋
|
7cc4093079
|
refresh the ui after subscribing to the script
重构了多个类中的方法为异步方法,并增加了消息注册逻辑:
- `ScriptRepoUpdater.cs`:增加了检查并创建 `ReposPath` 目录的逻辑。
- `RepoWebBridge.cs`:引用新命名空间,重构 `GetRepoJson` 和 `ImportUri` 方法为异步方法,增加了检查和更新本地仓库的逻辑。
- `JsListViewModel.cs` 和 `MapPathingViewModel.cs`:引用新命名空间,增加消息注册逻辑,修正方法中的引用。
- `PathingTask.cs`:修正了日志记录中 `FileName` 的引用。
- `TaskSettingsPage.xaml`:更新了文本内容,增加了关于装备「王树瑞佑」的说明。
- 新增 `RefreshDataMessage.cs` 文件,定义了 `RefreshDataMessage` 类。
|
2024-10-21 01:32:36 +08:00 |
|
辉鸭蛋
|
3d2b1b376e
|
0.35.0
|
2024-10-14 00:24:11 +08:00 |
|
辉鸭蛋
|
b2cf62a21c
|
add local script repo web
重构了 `AvatarClassifyGen.cs` 中的图像读取逻辑,现在只读取一个图像文件。`AllConfig.cs` 中添加了 `ScriptConfig` 类的配置,并监听其属性变化。`ScriptRepoUpdater.cs` 中引入了多个新命名空间,添加了 `_logger` 和 `_webWindow` 字段,新增了 `AutoUpdate` 方法,修改了 `UpdateCenterRepo` 方法,新增了 `FindCenterRepoPath`、`ImportScriptFromUri` 和 `OpenLocalRepoInWebView` 方法。`WebpagePanel.cs` 中添加了 `OnWebViewInitializedAction` 属性。`WebpageWindow.cs` 中注释掉了背景色设置。`MainWindow.xaml` 中修改了标题栏图标路径。`JsListPage.xaml`、`KeyMouseRecordPage.xaml` 和 `MapPathingPage.xaml` 中修改了按钮命令绑定。`MainWindowViewModel.cs` 中添加了 `AutoUpdate` 方法调用。`JsListViewModel.cs`、`KeyMouseRecordPageViewModel.cs` 和 `MapPathingViewModel.cs` 中添加了 `Config` 属性和 `OnOpenLocalScriptRepo` 命令。新增了 `ScriptConfig.cs` 和 `RepoWebBridge.cs` 文件,定义了 `ScriptConfig` 和 `RepoWebBridge` 类。
|
2024-10-13 18:13:28 +08:00 |
|
辉鸭蛋
|
c75dbbc241
|
add script repo downloader
|
2024-10-13 13:36:06 +08:00 |
|