Skip to content

feat: richText resource extraction and downloadFileToFile (superseded by #3) - #2

Closed
typefield wants to merge 6 commits into
DingTalk-Real-AI:mainfrom
typefield:feat/port-lark-features
Closed

typefield wants to merge 6 commits into
DingTalk-Real-AI:mainfrom
typefield:feat/port-lark-features

Conversation

@typefield

@typefield typefield commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Superseded by #3 — same change resubmitted from a cleanly named branch.

玉澜 and others added 6 commits August 21, 2026 14:55
- Keep Maven groupId as io.github.typefield (matches actual pom.xml)
- Update all GitHub repository URLs to DingTalk-Real-AI
- Fix go get command to use correct organization
- Fix npm install command to use correct organization
- Remove bilingual documentation (will be separate PR)
- Add English and Chinese versions for GUIDE, OVERVIEW, and SPEC
- Fix Maven groupId to io.github.typefield (matches actual pom.xml)
- Fix all GitHub repository URLs to DingTalk-Real-AI
- Fix cross-language installation commands (go get, npm install)
- Update pom.xml groupId to com.dingtalk
- Refactor all Java package declarations from io.github.typefield.dingtalk.channel to com.dingtalk.channel
- Move source files to new directory structure (com/dingtalk/channel)
- Update all import statements across 48 Java files
- Update all documentation references (README, GUIDE, OVERVIEW, SPEC - both EN and ZH)
- All tests pass (34 tests, 0 failures)

Breaking change: Users must update their Maven dependency and import statements
…ions

- Fix com.dingtalk.dingtalk.channel typos in README/README.zh-CN/SPEC
  to the actual package com.dingtalk.channel
- Remove GUIDE.zh-CN.md / OVERVIEW.zh-CN.md / SPEC.zh-CN.md from this PR;
  translations will be submitted as a separate PR to keep this change
  focused on the organization/coordinate migration
- Verified: mvn compile and mvn test pass with groupId com.dingtalk and
  package com.dingtalk.channel
…ark channel-sdk

- MessageNormalizer: richText picture/file segments now extract into
  IncomingMessage.resources (analog of lark's post attachment zone) with
  strict string narrowing (new strictStr helper — Gson getAsString would
  coerce 123 into "123") and per-message download-code dedup.
- DingTalkChannel.downloadFileToFile: streaming media download to a local
  path shared with downloadFile via resolveDownloadUrl; temp file +
  atomic move (fallback to plain move), parent dir must exist, no partial
  file left behind. Returns bytes written. downloadFile now also surfaces
  readable http status on non-200.
- Tests: LarkPortFeatureTest covers extraction/dedup/dirty-data and
  streaming download incl. regression that downloadFile keeps working.
@typefield

Copy link
Copy Markdown
Contributor Author

Superseded by #3.

@typefield typefield closed this Sep 16, 2026
@typefield typefield changed the title feat: port richText resource extraction and downloadFileToFile from lark channel-sdk feat: richText resource extraction and downloadFileToFile (superseded by #3) Sep 16, 2026
@typefield
typefield deleted the feat/port-lark-features branch September 16, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant