fix(vc): don't fail +detail for in-progress meetings#1930
Conversation
📝 WalkthroughWalkthrough
ChangesMeeting detail handling
Message-send guidance
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant fetchMeetingDetail
participant MeetingAPI
participant RecordingAPI
fetchMeetingDetail->>MeetingAPI: fetch meeting metadata
fetchMeetingDetail->>fetchMeetingDetail: determine meetingInProgress
alt meeting is in progress
fetchMeetingDetail-->>fetchMeetingDetail: set informational hint
else meeting is not in progress
fetchMeetingDetail->>RecordingAPI: query minute_token
RecordingAPI-->>fetchMeetingDetail: return token or lookup error
fetchMeetingDetail-->>fetchMeetingDetail: preserve metadata and set hint on error
end
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
2753888 to
64dc78f
Compare
An ongoing meeting has no minute/note yet, so the recording lookup in +detail returned an unclassified error that was surfaced as a hard error, making the whole command exit 1 / ok:false even though meeting.get had already succeeded. Detect the in-progress state up front (same start/end heuristic as +meeting-events, reading raw timestamps) and skip the recording call, returning the meeting metadata with an informational hint instead of an error. Recording failures for ended meetings are likewise degraded to a hint rather than failing the command. Also note in the vc-agent skill that sending an in-meeting message only needs meeting_id and must not pre-fetch +detail / +recording / +notes.
64dc78f to
7d7607a
Compare
🚀 PR Preview Install Guide🧰 CLI updatenpm i -g https://pkg.pr.new/larksuite/cli/@larksuite/cli@7d7607a9f0b5482e33c5d988463ac76455d289ba🧩 Skill updatenpx skills add larksuite/cli#fix/vc-detail-in-progress-meeting -y -g |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@shortcuts/vc/vc_detail_test.go`:
- Around line 289-306: Update TestFetchMeetingDetail_MeetingInProgress and its
fixture to use numeric start_time and end_time values, preserving equal
timestamps to represent an ongoing meeting. Add an adjacent assertion or case
that verifies no recording request is made for this numeric-timestamp scenario.
In `@shortcuts/vc/vc_detail.go`:
- Around line 130-159: Update meetingTimeField and the VC detail timestamp
handling in shortcuts/vc/vc_detail.go:130-159 and the related payload flow at
shortcuts/vc/vc_detail.go:72-77 to preserve numeric JSON timestamps as parseable
values, explicitly supporting the numeric types returned by the API instead of
formatting them through %v. Ensure common.FormatTime and parseFlexibleTime
receive correct timestamp representations so meetingInProgress prevents
recording ongoing meetings. Add a numeric-timestamp fixture in
shortcuts/vc/vc_detail_test.go:289-306 and retain the no-recording-stub
assertion.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 10049d68-a5a2-4243-8b9d-390366ebe7a5
📒 Files selected for processing (3)
shortcuts/vc/vc_detail.goshortcuts/vc/vc_detail_test.goskills/lark-vc-agent/SKILL.md
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1930 +/- ##
=======================================
Coverage 74.96% 74.96%
=======================================
Files 892 892
Lines 94058 94077 +19
=======================================
+ Hits 70506 70529 +23
+ Misses 18139 18137 -2
+ Partials 5413 5411 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Summary
vc +detailfailed with exit 1 / ok:false for meetings that are still in progress, because the supplementary recording lookup returned an unclassified error (no minute/note generated yet) that was surfaced as a hard error — even thoughmeeting.gethad already succeeded.Changes
fetchMeetingDetail(same start/end heuristic as+meeting-events, reading raw timestamps viameetingTimeField/meetingInProgress) and skip the recording call, returning meeting metadata with an informational hint instead of an error.TestFetchMeetingDetail_MeetingInProgress(registers no recording stub, so a regression that re-adds the recording call would fail).meeting_idand must not pre-fetch+detail/+recording/+notes.Test Plan
go test ./shortcuts/vc/)go vet ./shortcuts/vc/andgofmt -lcleanlark-cli vc +detailflow works as expectedRelated Issues
Summary by CodeRabbit
Bug Fixes
Documentation