docs +update strips the native Feishu <sub-page-list> tag as if it were an unsupported HTML tag
Summary
The Feishu wiki ecosystem ships a built-in block called sub-page-list. Hub pages in any wiki space typically use it as their entire body — e.g. the 更新日志 hub in our space contains only:
<sub-page-list wiki-token="WODuwHoXSiWhNkkiR5Lc2UBfnOh"/>
…and the wiki UI renders the page's children as a grid of cards. lark-cli docs +fetch correctly returns that exact markdown when reading such a hub.
However, lark-cli docs +update rejects the same tag on write — it strips the element and only keeps the text content, emitting:
[WARNING:UNSUPPORTED_HTML_TAG] unsupported HTML tag removed: sub-page-list
💡 Suggestion: This HTML tag is not supported. The tag has been removed and only the text content is kept. Please check the documentation for supported tags
So the round-trip fetch → update for a hub page is lossy by default: the CLI can read the native block but cannot write it back, even though it's a first-class block in the Feishu wiki product.
Repro
# Create a fresh hub
lark-cli wiki +node-create \
--space-id <space> \
--parent-node-token <root> \
--title "Hub" --obj-type docx
# → returns node_token=<NEW>
# Try to write the canonical sub-page-list body
printf '<sub-page-list wiki-token="<NEW>"/>\n' | \
lark-cli docs +update \
--doc "https://my.feishu.cn/wiki/<NEW>" \
--mode overwrite \
--markdown -
Returns success but with warnings: [".../UNSUPPORTED_HTML_TAG"] and the body is empty after the call.
Meanwhile:
lark-cli docs +fetch --doc "https://my.feishu.cn/wiki/<existing-hub>" --format markdown
…happily returns "markdown": "<sub-page-list wiki-token=\"...\"/>\n" for hubs that already have the block (created via the Feishu web UI).
Impact
Any agent or script attempting to reproducibly recreate a wiki hub layout through lark-cli cannot write the standard hub body. Workarounds:
- Author the hub body manually in the Feishu web UI (defeats automation).
- Write a plain-markdown landing page instead, accepting that children only show in the side-nav tree, not as inline cards.
Proposal
Add sub-page-list (and likely a small whitelist of other native Feishu block tags such as lark-table, image, sheet, mention-doc which already round-trip correctly on the fetch side) to the allowed tag list in the docs +update markdown processor.
If a full block-level write is non-trivial, at minimum the warning message should mention that this is a known Feishu-native block the markdown writer doesn't yet support, and point at the OpenAPI block-create endpoint as the workaround — rather than reading as "this is an arbitrary unsupported HTML tag".
Environment
- lark-cli 1.0.27
- macOS, Node.js, user mode
- Hit while restructuring a wiki space into bilingual hubs.
Related
- #809, #810, #811 — other wiki-tooling friction encountered in the same workflow.
docs +updatestrips the native Feishu<sub-page-list>tag as if it were an unsupported HTML tagSummary
The Feishu wiki ecosystem ships a built-in block called
sub-page-list. Hub pages in any wiki space typically use it as their entire body — e.g. the更新日志hub in our space contains only:…and the wiki UI renders the page's children as a grid of cards.
lark-cli docs +fetchcorrectly returns that exact markdown when reading such a hub.However,
lark-cli docs +updaterejects the same tag on write — it strips the element and only keeps the text content, emitting:So the round-trip
fetch → updatefor a hub page is lossy by default: the CLI can read the native block but cannot write it back, even though it's a first-class block in the Feishu wiki product.Repro
Returns success but with
warnings: [".../UNSUPPORTED_HTML_TAG"]and the body is empty after the call.Meanwhile:
lark-cli docs +fetch --doc "https://my.feishu.cn/wiki/<existing-hub>" --format markdown…happily returns
"markdown": "<sub-page-list wiki-token=\"...\"/>\n"for hubs that already have the block (created via the Feishu web UI).Impact
Any agent or script attempting to reproducibly recreate a wiki hub layout through lark-cli cannot write the standard hub body. Workarounds:
Proposal
Add
sub-page-list(and likely a small whitelist of other native Feishu block tags such aslark-table,image,sheet,mention-docwhich already round-trip correctly on the fetch side) to the allowed tag list in thedocs +updatemarkdown processor.If a full block-level write is non-trivial, at minimum the warning message should mention that this is a known Feishu-native block the markdown writer doesn't yet support, and point at the OpenAPI block-create endpoint as the workaround — rather than reading as "this is an arbitrary unsupported HTML tag".
Environment
Related