Commit Graph
3 Commits
Author SHA1 Message Date
Bohan Jiang a9e82c7973 MUL-7282: fix(comments): delete only the selected comment and keep its replies (#8323)
Deleting a comment removed every reply under it, through the parent_id ON DELETE CASCADE. Now delete removes only that comment: one with replies becomes a tombstone (deleted_at set, body/attachments/reactions/resolution cleared) so the replies keep their parent, and one without replies is removed along with any tombstone ancestor left empty.

Tombstones are read-only and are never agent input. Every write to a comment's children takes its owners first (issue -> comment -> child), and a comment commits together with the attachments it was posted with. Clients only promise that replies are kept when the server declares comment_delete_keep_replies_supported, and then delete through DELETE /api/comments/{id}/keep-replies, which older servers do not route.
2026-09-13 19:13:43 +08:00
f83293d1de refactor: remove tests that only restate constants or declarations (#7984)
These tests exercise no production code path: each compares a package-level
constant, map or slice against a literal copy of its own declaration, so the
only way to make one fail is to edit the test in the same commit as the
source. That makes them a rename tax rather than a safety net.

Removed:
- cmd/multica: TestValidIssueStatuses (mirrors validIssueStatuses),
  TestLoadConfigAllowNoAgentsIsOptIn (asserts the bool zero value that the
  language already guarantees)
- internal/integrations/channel: TestCapability_BitsDistinct (iota block)
- internal/integrations/wecom: TestUnsupportedReceipt_DoesNotClaimTextOnly
- internal/daemon: TestAnnotationAvoidsPersistedRowGuards
- internal/metrics: TestBusinessMetricLabelsRejectHighCardinalityNames
- internal/service: TestChatQuickActionsPromptsNameNoLanguage
- internal/events: TestPublishNoSubscribersIsNoop (asserted nothing at all)
- pkg/agent: TestMcodeBlockedArgsKeepACPTransportStable,
  TestQwenpawBlockedArgs, TestZeroclawBlockedArgs,
  TestClaudeListModelsArgs_Pinned
- pkg/publicapi/v1: TestOperationLedgerPinsSharedScopes,
  TestPluginExtensionsRejectUserCredentialsByContract,
  TestOperationLedgerDeclaresAuditLifecycle

Behavioural tests over the same symbols are kept, including
TestCapability_Has, TestCapability_String, TestValidateIssueStatus and
TestOpenAPICoversCapabilityLedger — the last checks the operation ledger
against the embedded OpenAPI document rather than against itself.

Co-authored-by: Sol-Boy <[email protected]>
Co-authored-by: multica-agent <[email protected]>
2026-09-03 16:40:25 +08:00
Jiayuan Zhangandmultica-agent 8ade96e671 MUL-6584: establish Public API v1 foundation (#7450)
* feat(api): establish public v1 contract foundation

Co-authored-by: multica-agent <[email protected]>

* fix(plugins): close public API contract gaps

Co-authored-by: multica-agent <[email protected]>

* fix(issues): enforce revision guard during update

Co-authored-by: multica-agent <[email protected]>

---------

Co-authored-by: multica-agent <[email protected]>
2026-08-23 22:47:37 +08:00