Release beta 2.0.5.1023
check / local-gate (push) Failing after 1m9s

This commit is contained in:
JWeBot Contributors
2026-10-23 17:19:23 +08:00
parent 6375ab5c79
commit 0ffd0b2a16
18 changed files with 52 additions and 29 deletions
+6
View File
@@ -1,5 +1,11 @@
# Changelog
## beta 2.0.5.1023 - 2026-10-23 17:16:12
- 21 点胜率显示修复完成:`/摩拉` 里的 21 点战绩现在会和 `/21点 胜率` 使用同一套统计口径。
- 修复 `/摩拉` 误读旧版通用胜负字段的问题,避免旧抽奖等历史数据污染 21 点胜率展示。
- 超时认输、主动认输、单人结算和多人牌桌仍统一写入 `blackjack_stats`,本次只调整展示读取来源。
## beta 2.0.4.1023 - 2026-10-23 16:56:33
- 许愿池和 21 点小版本更新完成:`/抽奖` 已并入许愿池,21 点新增群内胜率统计并调整下注上限。
+3 -3
View File
@@ -8,7 +8,7 @@ JWeBot 是运行于 Linux 的单群微信自动回复系统。它通过本地 OC
观察选定的微信窗口,将消息写入持久化 Edge 账本,调用经过审核的命令插件,
并通过带视觉确认的 GUI 发送链路回复。
当前版本:`beta 2.0.4.1023`,更新时间:2026-10-23 16:56:33。
当前版本:`beta 2.0.5.1023`,更新时间:2026-10-23 17:16:12。
1.0 Beta 收口了当前稳定功能:本地命令插件、人物与上下文索引、
Steam 状态与时长查询、虚拟摩拉游戏、多人彩票、21 点、CS Major
@@ -272,10 +272,10 @@ visually confirmed GUI bridge.
Current version:
```text
beta 2.0.4.1023
beta 2.0.5.1023
```
Updated: 2026-10-23 16:56:33.
Updated: 2026-10-23 17:16:12.
The 1.0 Beta baseline consolidates the stable local command set, person and
context indexes, Steam presence/playtime queries, virtual coin games,
+1 -1
View File
@@ -1 +1 @@
beta 2.0.4.1023
beta 2.0.5.1023
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "jwebot-config"
version = "2.0.4b1+1023"
version = "2.0.5b1+1023"
description = "Profile-based configuration compiler for JWeBot"
requires-python = ">=3.9"
dependencies = [
@@ -36,4 +36,4 @@ __all__ = [
"write_default_profile",
]
__version__ = "2.0.4b1+1023"
__version__ = "2.0.5b1+1023"
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
[project]
name = "jwebot-extension-host"
version = "2.0.4b1+1023"
version = "2.0.5b1+1023"
description = "Single-release, single-invocation process host for JWeBot extensions"
requires-python = ">=3.9"
dependencies = [
"jwebot-sdk==2.0.4b1+1023",
"jwebot-kernel==2.0.4b1+1023",
"jwebot-sdk==2.0.5b1+1023",
"jwebot-kernel==2.0.5b1+1023",
]
[project.scripts]
@@ -16,4 +16,4 @@ __all__ = [
"process_request",
]
__version__ = "2.0.4b1+1023"
__version__ = "2.0.5b1+1023"
+4 -4
View File
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
[project]
name = "jwebot-kernel"
version = "2.0.4b1+1023"
version = "2.0.5b1+1023"
description = "Stable routing and extension authority for JWeBot"
requires-python = ">=3.9"
dependencies = [
"jwebot-config==2.0.4b1+1023",
"jwebot-sdk==2.0.4b1+1023",
"jwebot-official-extensions==2.0.4b1+1023",
"jwebot-config==2.0.5b1+1023",
"jwebot-sdk==2.0.5b1+1023",
"jwebot-official-extensions==2.0.5b1+1023",
"tomli>=2; python_version < '3.11'",
]
@@ -107,4 +107,4 @@ __all__ = [
"verify_installed_release_signature",
]
__version__ = "2.0.4b1+1023"
__version__ = "2.0.5b1+1023"
@@ -4,11 +4,11 @@ build-backend = "setuptools.build_meta"
[project]
name = "jwebot-official-extensions"
version = "2.0.4b1+1023"
version = "2.0.5b1+1023"
description = "Reviewed local command adapters and broker implementation for JWeBot"
requires-python = ">=3.9"
dependencies = [
"jwebot-sdk==2.0.4b1+1023",
"jwebot-sdk==2.0.5b1+1023",
]
[tool.setuptools.packages.find]
@@ -90,4 +90,4 @@ __all__ = [
"render_feature_list",
]
__version__ = "2.0.4b1+1023"
__version__ = "2.0.5b1+1023"
@@ -816,8 +816,12 @@ class PlayerGames:
state = "进行中" if account.get("game") else "无进行中的牌局"
loan = account.get("loan")
loan_text = f"未还贷款 {loan['principal']};" if loan else "无贷款;"
total = account["wins"] + account["losses"] + account["ties"]
win_rate = (account["wins"] / total * 100) if total else 0.0
blackjack_stats = account["blackjack_stats"]
total = int(blackjack_stats["hands"])
wins = int(blackjack_stats["wins"])
losses = int(blackjack_stats["losses"])
ties = int(blackjack_stats["ties"])
win_rate = (wins / total * 100) if total else 0.0
lines = [
(
f"{player_label}:{expired}当前摩拉 {account['balance']};"
@@ -826,8 +830,8 @@ class PlayerGames:
f"{loan_text}"
),
(
f"21点 {state};已结算胜 {account['wins']} / "
f"负 {account['losses']} / 平 {account['ties']},"
f"21点 {state};已结算胜 {wins} / "
f"负 {losses} / 平 {ties},"
f"胜率 {win_rate:.2f}%。"
),
"最近10次账户变动:",
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "jwebot-sdk"
version = "2.0.4b1+1023"
version = "2.0.5b1+1023"
description = "Typed, capability-limited extension API for JWeBot plugins"
requires-python = ">=3.9"
dependencies = []
@@ -40,4 +40,4 @@ __all__ = [
"SingleGroupContext",
]
__version__ = "2.0.4b1+1023"
__version__ = "2.0.5b1+1023"
+1 -1
View File
@@ -1,5 +1,5 @@
[tool.jwebot]
release = "beta 2.0.4.1023"
release = "beta 2.0.5.1023"
production_deployments_enabled_by_default = false
[tool.jwebot.workspace]
+3 -3
View File
@@ -1291,9 +1291,9 @@ class LedgerAndApplicationTests(unittest.TestCase):
self.assertEqual(version["route"], "local")
self.assertIn("JWeBot 版本", version["text"])
self.assertIn("kernel", version["text"])
self.assertIn("最新版本:beta 2.0.4.1023", version["text"])
self.assertIn("更新时间:2026-10-23 16:56:33", version["text"])
self.assertIn("更新摘要:许愿池和 21 点小版本更新完成", version["text"])
self.assertIn("最新版本:beta 2.0.5.1023", version["text"])
self.assertIn("更新时间:2026-10-23 17:16:12", version["text"])
self.assertIn("更新摘要:21 点胜率显示修复完成", version["text"])
self.assertEqual(debug["route"], "local")
self.assertIn("调试埋点", debug["text"])
self.assertEqual(balance["route"], "local")
+13
View File
@@ -193,6 +193,19 @@ class Release063GameTests(unittest.TestCase):
"alice:胜 0 / 负 0 / 平 1,胜率 0.00%;净赚净亏 0 摩拉",
rates,
)
account = self.state()
account["wins"] = 12
account["losses"] = 15
account["ties"] = 3
self.engine.ledger._save_player_account(
"group-a",
person_key,
account,
MODULE.utc_now(),
)
wallet = self.command("/摩拉")
self.assertIn("21点 无进行中的牌局;已结算胜 0 / 负 0 / 平 1", wallet)
self.assertNotIn("已结算胜 12 / 负 15 / 平 3", wallet)
self.assertIn("1~2000", self.command("/21点开始2001"))
def test_multiplayer_blackjack_table_guides_turns_and_settles(self):
+1 -1
View File
@@ -20,7 +20,7 @@ SPEC.loader.exec_module(MODULE)
class ReleaseUpdateTests(unittest.TestCase):
release = "beta 2.0.4.1023"
release = "beta 2.0.5.1023"
major_release = "beta 2.0.0.1021"
def setUp(self):