518
519
async computeUncommittedChangeset(session: ProtocolURI): Promise<ProtocolURI> {
521
>
if (!this._hasSubscription(session, uncommittedUri)) {
522
return uncommittedUri;
523
}
525
>
// Defer until the working directory is known. Computing now would bail
526
>
// in the git path (there is no SDK edit-tracker fallback for the
527
>
// uncommitted slot); `onWorkingDirectoryAvailable` re-runs the refresh
528
>
// once materialization / restore populates the directory.
529
>
if (!this._hasWorkingDirectory(session)) {
530
this._pendingMaterialization.add(session);
531
return uncommittedUri;
532
}
534
>
const statusBeforeCompute = this._stateManager.getChangesetState(uncommittedUri)?.status;
535
>
if (statusBeforeCompute !== ChangesetStatus.Computing) {
536
this._stateManager.dispatchServerAction(uncommittedUri, {
537
type: ActionType.ChangesetStatusChanged,