decentralized-identity / decentralized-identity/didcomm.org

Issues with Threading in Problem Reports

Open
#89 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
49
Forks
27
PR merge metrics
No merged PRs in 30d

Description

**The Problem:** DIDComm V2 `problem-reports` REQUIRE a `pthid` value, even though that may not always be possible to include.

[`problem-report` spec for reference](https://identity.foundation/didcomm-messaging/spec/#problem-codes)

Section of note:
> `pthid` - REQUIRED. The value is the thid of the thread in which the problem occurred. (Thus, the problem report begins a new child thread, of which the triggering context is the parent. The parent context can react immediately to the problem, or can suspend progress while troubleshooting occurs.)

Consider the following scenario:
![image](https://github.com/decentralized-identity/didcomm.org/assets/44458313/2844550a-5613-4ad9-b396-b899f3f0c476)

In this scenario, since Bob cannot unpack Alice's message, he has no idea what that message's `thid` is. Therefore, any `problem-report` he constructs is out of spec.

This is just one scenario in which this issue occurs. The spec itself identifies the possibility of `problem-report`s being triggered by events other than receipt of problematic messages:
> `ack` - OPTIONAL. It SHOULD be included if the problem in question was triggered directly by a preceding message. (Contrast problems arising from a timeout or a user deciding to cancel a transaction, which can arise independent of a preceding message. In such cases, ack MAY still be used, but there is no strong recommendation.)

In this case, it's not that the appropriate `thid` is inaccessible to Bob; it simply does not exist. As such, any problem report generated in this manner is automatically out of spec.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.