vibego 0.2.14__py3-none-any.whl → 0.2.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of vibego might be problematic. Click here for more details.

bot.py CHANGED
@@ -1986,8 +1986,11 @@ def _build_status_filter_row(current_status: Optional[str], limit: int) -> list[
1986
1986
  def _format_task_list_entry(task: TaskRecord) -> str:
1987
1987
  indent = " " * max(task.depth, 0)
1988
1988
  title_raw = (task.title or "").strip()
1989
+ # 修复:避免双重转义
1989
1990
  if not title_raw:
1990
1991
  title = "-"
1992
+ elif _IS_MARKDOWN_V2:
1993
+ title = title_raw
1991
1994
  else:
1992
1995
  title = _escape_markdown_text(title_raw)
1993
1996
  type_icon = TASK_TYPE_EMOJIS.get(task.task_type)
@@ -2037,8 +2040,14 @@ def _format_task_detail(
2037
2040
  *,
2038
2041
  notes: Sequence[TaskNoteRecord],
2039
2042
  ) -> str:
2043
+ # 修复:仅在非 MarkdownV2 模式下手动转义,避免双重转义
2044
+ # MarkdownV2 模式下由 _prepare_model_payload() 统一处理转义
2040
2045
  title_raw = (task.title or "").strip()
2041
- title_text = _escape_markdown_text(title_raw) if title_raw else "-"
2046
+ if _IS_MARKDOWN_V2:
2047
+ title_text = title_raw if title_raw else "-"
2048
+ else:
2049
+ title_text = _escape_markdown_text(title_raw) if title_raw else "-"
2050
+
2042
2051
  task_id_text = _format_task_command(task.id)
2043
2052
  lines: list[str] = [
2044
2053
  f"📝 标题:{title_text}",
@@ -2047,12 +2056,24 @@ def _format_task_detail(
2047
2056
  f"🚦 优先级:{_format_priority(task.priority)}",
2048
2057
  f"📂 类型:{_format_task_type(task.task_type)}",
2049
2058
  ]
2050
- description_text = _escape_markdown_text(task.description or "暂无")
2059
+
2060
+ # 修复:描述字段也避免双重转义
2061
+ description_raw = task.description or "暂无"
2062
+ if _IS_MARKDOWN_V2:
2063
+ description_text = description_raw
2064
+ else:
2065
+ description_text = _escape_markdown_text(description_raw)
2066
+
2051
2067
  lines.append(f"🖊️ 描述:{description_text}")
2052
2068
  lines.append(f"📅 创建时间:{_format_local_time(task.created_at)}")
2053
2069
  lines.append(f"🔁 更新时间:{_format_local_time(task.updated_at)}")
2070
+
2071
+ # 修复:父任务ID字段也避免双重转义
2054
2072
  if task.parent_id:
2055
- parent_text = _escape_markdown_text(task.parent_id)
2073
+ if _IS_MARKDOWN_V2:
2074
+ parent_text = task.parent_id
2075
+ else:
2076
+ parent_text = _escape_markdown_text(task.parent_id)
2056
2077
  lines.append(f"👪 父任务:{parent_text}")
2057
2078
 
2058
2079
  return "\n".join(lines)
@@ -5023,7 +5044,11 @@ async def _build_task_search_view(
5023
5044
  sanitized_keyword = keyword.replace("\n", " ").strip()
5024
5045
  if not sanitized_keyword:
5025
5046
  sanitized_keyword = "-"
5026
- escaped_keyword = _escape_markdown_text(sanitized_keyword)
5047
+ # 修复:避免双重转义
5048
+ if _IS_MARKDOWN_V2:
5049
+ escaped_keyword = sanitized_keyword
5050
+ else:
5051
+ escaped_keyword = _escape_markdown_text(sanitized_keyword)
5027
5052
  lines = [
5028
5053
  "*任务搜索结果*",
5029
5054
  f"搜索关键词:{escaped_keyword}",
@@ -6748,6 +6773,11 @@ async def on_task_detail_callback(callback: CallbackQuery) -> None:
6748
6773
  sent = await _answer_with_markdown(message, detail_text, reply_markup=markup)
6749
6774
  if sent is not None:
6750
6775
  _init_task_view_context(sent, detail_state)
6776
+ else:
6777
+ # 修复:消息发送失败时给用户反馈
6778
+ await message.answer(
6779
+ f"⚠️ 任务详情显示失败,可能包含特殊字符。\n任务ID: {task_id}\n请联系管理员检查任务内容。"
6780
+ )
6751
6781
  return
6752
6782
  if await _try_edit_message(message, detail_text, reply_markup=markup):
6753
6783
  _push_detail_view(message, task_id)
@@ -6755,6 +6785,11 @@ async def on_task_detail_callback(callback: CallbackQuery) -> None:
6755
6785
  sent = await _answer_with_markdown(message, detail_text, reply_markup=markup)
6756
6786
  if sent is not None:
6757
6787
  _init_task_view_context(sent, detail_state)
6788
+ else:
6789
+ # 修复:消息发送失败时给用户反馈
6790
+ await message.answer(
6791
+ f"⚠️ 任务详情显示失败,可能包含特殊字符。\n任务ID: {task_id}\n请联系管理员检查任务内容。"
6792
+ )
6758
6793
 
6759
6794
 
6760
6795
  async def _fallback_task_detail_back(callback: CallbackQuery) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vibego
3
- Version: 0.2.14
3
+ Version: 0.2.16
4
4
  Summary: vibego CLI:用于初始化与管理 Telegram Master Bot 的工具
5
5
  Author: Hypha
6
6
  License-Expression: LicenseRef-Proprietary
@@ -1,4 +1,4 @@
1
- bot.py,sha256=2JR3qc1RHBrO9TtTnDoqxf1cXR9Lt9JRfXlP32gAFkE,262378
1
+ bot.py,sha256=rOSJ6BmiG2GMatE0xjS89k9nCCALVrOllZXJJRmAKZ4,263647
2
2
  logging_setup.py,sha256=gvxHi8mUwK3IhXJrsGNTDo-DR6ngkyav1X-tvlBF_IE,4613
3
3
  master.py,sha256=Qz2NTapUexVvpQz8Y_pVhKd-uXkqp3M6oclzfAzIuGs,106497
4
4
  project_repository.py,sha256=UcthtSGOJK0cTE5bQCneo3xkomRG-kyc1N1QVqxeHIs,17577
@@ -425,14 +425,14 @@ tasks/constants.py,sha256=tS1kZxBIUm3JJUMHm25XI-KHNUZl5NhbbuzjzL_rF-c,299
425
425
  tasks/fsm.py,sha256=rKXXLEieQQU4r2z_CZUvn1_70FXiZXBBugF40gpe_tQ,1476
426
426
  tasks/models.py,sha256=N_qqRBo9xMSV0vbn4k6bLBXT8C_dp_oTFUxvdx16ZQM,2459
427
427
  tasks/service.py,sha256=w_S_aWiVqRXzXEpimLDsuCCCX2lB5uDkff9aKThBw9c,41916
428
- vibego_cli/__init__.py,sha256=gPVIUj15YEjG1hu3jHKkCr2Qnqy4AVAVF1OVFWnFJs4,311
428
+ vibego_cli/__init__.py,sha256=d5pc65g50YjhuctLTvuKUD5rGeT6lfCB3xOLDphrEFs,311
429
429
  vibego_cli/__main__.py,sha256=qqTrYmRRLe4361fMzbI3-CqpZ7AhTofIHmfp4ykrrBY,158
430
430
  vibego_cli/config.py,sha256=33WSORCfUIxrDtgASPEbVqVLBVNHh-RSFLpNy7tfc0s,2992
431
431
  vibego_cli/deps.py,sha256=1nRXI7Dd-S1hYE8DligzK5fIluQWETRUj4_OKL0DikQ,1419
432
432
  vibego_cli/main.py,sha256=e2W5Pb9U9rfmF-jNX9uIA3222lhM0GgcvSdFTDBZd2s,12086
433
433
  vibego_cli/data/worker_requirements.txt,sha256=QSt30DSSSHtfucTFPpc7twk9kLS5rVLNTcvDiagxrZg,62
434
- vibego-0.2.14.dist-info/METADATA,sha256=lMNiS2blR-0f1ATbqj03vZr8BBAgrKEeEqngBaeYctk,10475
435
- vibego-0.2.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
436
- vibego-0.2.14.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
437
- vibego-0.2.14.dist-info/top_level.txt,sha256=R56CT3nW5H5v3ce0l3QDN4-C4qxTrNWzRTwrxnkDX4U,69
438
- vibego-0.2.14.dist-info/RECORD,,
434
+ vibego-0.2.16.dist-info/METADATA,sha256=bb23CIEShOSwY-fF0913Eg-aC3gR388opQgFFm1XsGE,10475
435
+ vibego-0.2.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
436
+ vibego-0.2.16.dist-info/entry_points.txt,sha256=Lsy_zm-dlyxt8-9DL9blBReIwU2k22c8-kifr46ND1M,48
437
+ vibego-0.2.16.dist-info/top_level.txt,sha256=R56CT3nW5H5v3ce0l3QDN4-C4qxTrNWzRTwrxnkDX4U,69
438
+ vibego-0.2.16.dist-info/RECORD,,
vibego_cli/__init__.py CHANGED
@@ -7,6 +7,6 @@ from __future__ import annotations
7
7
 
8
8
  __all__ = ["main", "__version__"]
9
9
 
10
- __version__ = "0.2.14"
10
+ __version__ = "0.2.16"
11
11
 
12
12
  from .main import main # noqa: E402