Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions Update.json
Original file line number Diff line number Diff line change
Expand Up @@ -3749,6 +3749,37 @@
}
],
"Notes": "自动识别验证码时,若当前这张看不准,脚本会自动换一张重试(最多 5 张),无需手动点击图片。"
},
"3.7.0": {
"UpdateDate": 1789780064668,
"Prerelease": false,
"UpdateContents": [
{
"PR": 1006,
"Description": "Fix #1004"
},
{
"PR": 1013,
"Description": "fix: handle PID 0 submission rows"
},
{
"PR": 1015,
"Description": "feat: compress ApplyData payloads with gzip and Base93"
},
{
"PR": 1019,
"Description": "fix: 在提交界面显示并提交验证码"
},
{
"PR": 1021,
"Description": "fix: 比赛结束后回退提交不再被静默丢弃"
},
{
"PR": 1023,
"Description": "feat: 验证码识别不出时自动换一张"
}
],
"Notes": "<h3>3.7.0 — 自上一正式版 3.6.0 以来的完整更新</h3>\n<p>本次正式版整合 3.6.1、3.6.2、3.6.3、3.6.4、3.6.5 和 3.6.6 的全部功能更新与修复。</p>\n<h4>3.6.1:代码对比显示修复(#1006,修复 #1004)</h4>\n<ul><li>修复 Monaco 代码对比区域的高度布局,为合并编辑器容器设置高度,恢复对比内容的正常显示。</li></ul>\n<h4>3.6.2:提交记录布局修复(#1013)</h4>\n<ul><li>修复题目 ID 为 0、缺少重新提交链接时提交记录的排版错误,避免相关处理打断页面。</li><li>安全构造提交记录中的链接,并将缺失链接的判断限定在需要重新提交链接的处理逻辑中。</li></ul>\n<h4>3.6.3:获取数据功能升级(#1015)</h4>\n<ul>\n<li>页面没有数据申请区域时自动创建获取数据控件。</li>\n<li>默认模式采用 gzip + Base93 压缩传输,逐字节保留任意输入,支持文本、Unicode 和混合内容;无效 UTF-8 以可逆的逐字节转义形式显示。</li>\n<li>新增可选 NSC3 高速数值模式,压缩 long long 整数及每行数值个数;规范数值输入可恢复空格、空行、换行与末尾换行,非规范或混合内容原样回退。</li>\n<li>新增“保留换行”选项,默认开启。关闭后,规范数值输入恢复为单行空格分隔数据,降低随机行长带来的输出开销;仅适用于 cin 或 scanf 等不依赖行边界的读取方式,不适用于 getline 或按行解析。</li>\n<li>界面增加各模式的说明与适用范围,帮助选择通用模式或高速数值模式。</li>\n<li>生成的数据获取程序先向 stderr 输出并刷新,再通过 abort() 触发运行错误以返回数据;同时兼容读取旧版异常包装结果。</li>\n</ul>\n<h4>3.6.4:提交验证码支持(#1019)</h4>\n<ul>\n<li>修复评测队列繁忙、服务端启用验证码时,脚本提交界面丢失验证码字段而导致提交失败的问题。</li>\n<li>显示验证码图片与输入框,支持点击图片更换、按回车提交,并在提交请求中携带验证码。</li>\n<li>新增 AutoCaptcha 设置,支持在浏览器本地通过模板匹配识别四位数字验证码,不调用外部 AI 服务。识别不确定时交由用户输入;非四位数字类型提示手动填写。</li>\n<li>普通提交与强制提交均检查验证码是否为空,并在实际发送请求前再次检查,避免用户中途清空或刷新图片后仍发送空验证码。</li>\n<li>若服务端在页面加载后才要求验证码,或返回验证码错误,显示并刷新验证码、恢复提交按钮并提示重新填写。</li>\n</ul>\n<h4>3.6.5:比赛结束后回退提交修复(#1021)</h4>\n<ul>\n<li>修复比赛结束后向原题回退提交时响应被忽略、提交静默丢失的问题。</li>\n<li>从比赛题目列表中解析完整原题编号,避免固定截取四位数字造成题号错误。</li>\n<li>正确处理成功跳转、提交冷却与服务端错误;遇到重复提交限制时按三秒间隔重试,最多尝试五次,并显示进度及失败原因。</li>\n<li>每次回退请求前重新检查验证码并携带当前输入;验证码失效时刷新图片并要求重新填写。</li>\n<li>处理比赛页面读取、题目列表解析及提交网络错误,恢复按钮状态,避免一直停留在“正在提交”。</li>\n</ul>\n<h4>3.6.6:验证码自动更换与重试(#1023)</h4>\n<ul>\n<li>启用自动识别后,若当前验证码识别不确定,自动更换图片重试,最多尝试五张;仍不确定时提示手动输入或点击换图。</li>\n<li>换图请求期间暂时锁定输入框,避免用户根据旧图片填写;图片加载完成或请求失败后恢复输入。</li>\n<li>防止过期异步请求覆盖较新的验证码状态,并避免自动识别覆盖用户已经输入的内容。</li>\n<li>验证码图片加载失败时给出明确提示,支持点击图片重试。</li>\n</ul>"
}
}
}
2 changes: 1 addition & 1 deletion XMOJ.user.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// ==UserScript==
// @name XMOJ
// @version 3.6.6
// @version 3.7.0
// @description XMOJ增强脚本
// @author @XMOJ-Script-dev, @langningchen and the community
// @namespace https://github/langningchen
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "xmoj-script",
"version": "3.6.6",
"version": "3.7.0",
"description": "an improvement script for xmoj.tech",
"main": "AddonScript.js",
"scripts": {
Expand Down