Skip to content

Commit

Permalink
chore(release): v0.19.0-dev.2
Browse files Browse the repository at this point in the history
  • Loading branch information
jost-s committed Nov 13, 2024
1 parent 0ad96e0 commit 8d80739
Show file tree
Hide file tree
Showing 11 changed files with 264 additions and 13 deletions.
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## \[Unreleased\]

### Added
- AppWebsocket calls to interact with countersigning sessions, i.e. `GetCountersigningSessionState` as well as `AbandonCountersigningSession` and `PublishCountersigningSession` when a session could not be resolved automatically. Countersigning is an unstable feature which must explicitly be enabled in Holochain.
### Fixed
### Changed
### Removed

## 2024-11-12: v0.19.0-dev.2
### Added
- AppWebsocket calls to interact with countersigning sessions, i.e. `GetCountersigningSessionState` as well as `AbandonCountersigningSession` and `PublishCountersigningSession` when a session could not be resolved automatically. Countersigning is an unstable feature which must explicitly be enabled in Holochain.

## 2024-10-28: v0.19.0-dev.1
### Added
- Bring back a websocket reconnection automation for Admin and App websockets. When either of them is closed and a new request made, it will attempt to reconnect using the same app authentication token that was used to initially authenticate the websocket. A specific `InvalidTokenError` is returned if that fails.
Expand Down
4 changes: 2 additions & 2 deletions docs/client.appwebsocket.callzome.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Call a zome.
**Signature:**

```typescript
callZome(request: AppCallZomeRequest, timeout?: number): Promise<CallZomeResponse>;
callZome<ReturnType>(request: AppCallZomeRequest, timeout?: number): Promise<ReturnType>;
```

## Parameters
Expand Down Expand Up @@ -65,7 +65,7 @@ _(Optional)_ A timeout to override the default.
</tbody></table>
**Returns:**

Promise&lt;[CallZomeResponse](./client.callzomeresponse.md)<!-- -->&gt;
Promise&lt;ReturnType&gt;

The zome call's response.

4 changes: 2 additions & 2 deletions docs/client.appwebsocket.createclonecell.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Clone an existing provisioned cell.
**Signature:**

```typescript
createCloneCell(args: AppCreateCloneCellRequest): Promise<CreateCloneCellResponse>;
createCloneCell(args: AppCreateCloneCellRequest): Promise<import("../admin/types.js").ClonedCell>;
```

## Parameters
Expand Down Expand Up @@ -49,7 +49,7 @@ Specify the cell to clone.
</tbody></table>
**Returns:**

Promise&lt;[CreateCloneCellResponse](./client.createclonecellresponse.md)<!-- -->&gt;
Promise&lt;import("../admin/types.js").[ClonedCell](./client.clonedcell.md)<!-- -->&gt;

The created clone cell.

4 changes: 2 additions & 2 deletions docs/client.appwebsocket.disableclonecell.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Disable an enabled clone cell.
**Signature:**

```typescript
disableCloneCell(args: AppDisableCloneCellRequest): Promise<DisableCloneCellResponse>;
disableCloneCell(args: AppDisableCloneCellRequest): Promise<void>;
```

## Parameters
Expand Down Expand Up @@ -49,5 +49,5 @@ Specify the clone cell to disable.
</tbody></table>
**Returns:**

Promise&lt;[DisableCloneCellResponse](./client.disableclonecellresponse.md)<!-- -->&gt;
Promise&lt;void&gt;

4 changes: 2 additions & 2 deletions docs/client.appwebsocket.enableclonecell.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Enable a disabled clone cell.
**Signature:**

```typescript
enableCloneCell(args: AppEnableCloneCellRequest): Promise<EnableCloneCellResponse>;
enableCloneCell(args: AppEnableCloneCellRequest): Promise<import("../admin/types.js").ClonedCell>;
```

## Parameters
Expand Down Expand Up @@ -49,7 +49,7 @@ Specify the clone cell to enable.
</tbody></table>
**Returns:**

Promise&lt;[EnableCloneCellResponse](./client.enableclonecellresponse.md)<!-- -->&gt;
Promise&lt;import("../admin/types.js").[ClonedCell](./client.clonedcell.md)<!-- -->&gt;

The enabled clone cell.

82 changes: 82 additions & 0 deletions docs/client.appwebsocket.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,40 @@ Description
</th></tr></thead>
<tbody><tr><td>
[abandonCountersigningSession(args)](./client.appwebsocket.abandoncountersigningsession.md)
</td><td>
</td><td>
Abandon an unresolved countersigning session.
If the current session has not been resolved automatically, it can be forcefully abandoned. A condition for this call to succeed is that at least one attempt has been made to resolve it automatically.
\# Returns
\[`AppResponse::CountersigningSessionAbandoned`<!-- -->\]
The session is marked for abandoning and the countersigning workflow was triggered. The session has not been abandoned yet.
Upon successful abandoning the system signal \[`SystemSignal::AbandonedCountersigning`<!-- -->\] will be emitted and the session removed from state, so that \[`AppRequest::GetCountersigningSessionState`<!-- -->\] would return `None`<!-- -->.
In the countersigning workflow it will first be attempted to resolve the session with incoming signatures of the countersigned entries, before force-abandoning the session. In a very rare event it could happen that in just the moment where the \[`AppRequest::AbandonCountersigningSession`<!-- -->\] is made, signatures for this session come in. If they are valid, the session will be resolved and published as usual. Should they be invalid, however, the flag to abandon the session is erased. In such cases this request can be retried until the session has been abandoned successfully.
\# Errors
\[`CountersigningError::WorkspaceDoesNotExist`<!-- -->\] likely indicates that an invalid cell id was passed in to the call.
\[`CountersigningError::SessionNotFound`<!-- -->\] when no ongoing session could be found for the provided cell id.
\[`CountersigningError::SessionNotUnresolved`<!-- -->\] when an attempt to resolve the session automatically has not been made.
</td></tr>
<tr><td>
[appInfo(timeout)](./client.appwebsocket.appinfo.md)
Expand Down Expand Up @@ -245,6 +279,20 @@ Enable a disabled clone cell.
Get a cell id by its role name or clone id.
</td></tr>
<tr><td>
[getCountersigningSessionState(args)](./client.appwebsocket.getcountersigningsessionstate.md)
</td><td>
</td><td>
Get the state of a countersigning session.
</td></tr>
<tr><td>
Expand Down Expand Up @@ -287,5 +335,39 @@ Register an event listener for signals.
Provide membrane proofs for the app.
</td></tr>
<tr><td>
[publishCountersigningSession(args)](./client.appwebsocket.publishcountersigningsession.md)
</td><td>
</td><td>
Publish an unresolved countersigning session.
If the current session has not been resolved automatically, it can be forcefully published. A condition for this call to succeed is that at least one attempt has been made to resolve it automatically.
\# Returns
\[`AppResponse::PublishCountersigningSessionTriggered`<!-- -->\]
The session is marked for publishing and the countersigning workflow was triggered. The session has not been published yet.
Upon successful publishing the system signal \[`SystemSignal::SuccessfulCountersigning`<!-- -->\] will be emitted and the session removed from state, so that \[`AppRequest::GetCountersigningSessionState`<!-- -->\] would return `None`<!-- -->.
In the countersigning workflow it will first be attempted to resolve the session with incoming signatures of the countersigned entries, before force-publishing the session. In a very rare event it could happen that in just the moment where the \[`AppRequest::PublishCountersigningSession`<!-- -->\] is made, signatures for this session come in. If they are valid, the session will be resolved and published as usual. Should they be invalid, however, the flag to publish the session is erased. In such cases this request can be retried until the session has been published successfully.
\# Errors
\[`CountersigningError::WorkspaceDoesNotExist`<!-- -->\] likely indicates that an invalid cell id was passed in to the call.
\[`CountersigningError::SessionNotFound`<!-- -->\] when no ongoing session could be found for the provided cell id.
\[`CountersigningError::SessionNotUnresolved`<!-- -->\] when an attempt to resolve the session automatically has not been made.
</td></tr>
</tbody></table>
149 changes: 149 additions & 0 deletions docs/client.md
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,16 @@ Description



</td></tr>
<tr><td>

[CountersigningSessionStateType](./client.countersigningsessionstatetype.md)


</td><td>



</td></tr>
<tr><td>

Expand All @@ -160,6 +170,28 @@ Description



</td></tr>
<tr><td>

[ResolutionRequiredReason](./client.resolutionrequiredreason.md)


</td><td>

The reason why a countersigning session can not be resolved automatically and requires manual resolution.


</td></tr>
<tr><td>

[SessionCompletionDecisionType](./client.sessioncompletiondecisiontype.md)


</td><td>

Decision about an incomplete countersigning session.


</td></tr>
</tbody></table>

Expand Down Expand Up @@ -979,6 +1011,40 @@ Description



</td></tr>
<tr><td>

[SessionResolutionOutcome](./client.sessionresolutionoutcome.md)


</td><td>

The outcome for a single agent who participated in a countersigning session.

\[NUM\_AUTHORITIES\_TO\_QUERY\] authorities are made to agent activity authorities for each agent, and the decisions are collected into \[SessionResolutionOutcome::decisions\].


</td></tr>
<tr><td>

[SessionResolutionSummary](./client.sessionresolutionsummary.md)


</td><td>

Summary of the workflow's attempts to resolve the outcome a failed countersigning session. This tracks the numbers of attempts and the outcome of the most recent attempt.


</td></tr>
<tr><td>

[SignedAction](./client.signedaction.md)


</td><td>



</td></tr>
<tr><td>

Expand Down Expand Up @@ -1166,6 +1232,27 @@ Description
</th></tr></thead>
<tbody><tr><td>

[AbandonCountersigningSessionStateRequest](./client.abandoncountersigningsessionstaterequest.md)


</td><td>

Cell id for which the countersigning session should be abandoned.


</td></tr>
<tr><td>

[AbandonCountersigningSessionStateResponse](./client.abandoncountersigningsessionstateresponse.md)


</td><td>



</td></tr>
<tr><td>

[Action](./client.action.md)


Expand Down Expand Up @@ -1645,6 +1732,16 @@ This type is meant to be opaque



</td></tr>
<tr><td>

[CountersigningSessionState](./client.countersigningsessionstate.md)


</td><td>



</td></tr>
<tr><td>

Expand Down Expand Up @@ -2065,6 +2162,27 @@ This type is meant to be opaque



</td></tr>
<tr><td>

[GetCountersigningSessionStateRequest](./client.getcountersigningsessionstaterequest.md)


</td><td>

Cell id for which the countersigning session state is requested.


</td></tr>
<tr><td>

[GetCountersigningSessionStateResponse](./client.getcountersigningsessionstateresponse.md)


</td><td>



</td></tr>
<tr><td>

Expand Down Expand Up @@ -2456,6 +2574,27 @@ An internal link type index within the DNA, from 0 to 255.



</td></tr>
<tr><td>

[PublishCountersigningSessionStateRequest](./client.publishcountersigningsessionstaterequest.md)


</td><td>

Cell id for which the countersigning session should be published.


</td></tr>
<tr><td>

[PublishCountersigningSessionStateResponse](./client.publishcountersigningsessionstateresponse.md)


</td><td>



</td></tr>
<tr><td>

Expand Down Expand Up @@ -2619,6 +2758,16 @@ If the key could not be deleted from all cells, the call [RevokeAgentKeyRequest]



</td></tr>
<tr><td>

[SessionCompletionDecision](./client.sessioncompletiondecision.md)


</td><td>



</td></tr>
<tr><td>

Expand Down
Loading

0 comments on commit 8d80739

Please sign in to comment.