Skip to content

Commit b436aae

Browse files
authored
fix #3011 (missing blockfile) when splitting durable sessions (#3125)
1 parent 373ced4 commit b436aae

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

pkg/blockcontroller/durableshellcontroller.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import (
77
"context"
88
"encoding/base64"
99
"fmt"
10+
"io/fs"
1011
"log"
1112
"sync"
1213
"time"
1314

1415
"github.com/google/uuid"
16+
"github.com/wavetermdev/waveterm/pkg/filestore"
1517
"github.com/wavetermdev/waveterm/pkg/jobcontroller"
1618
"github.com/wavetermdev/waveterm/pkg/remote"
1719
"github.com/wavetermdev/waveterm/pkg/remote/conncontroller"
@@ -163,6 +165,10 @@ func (dsc *DurableShellController) Start(ctx context.Context, blockMeta waveobj.
163165

164166
if jobId == "" {
165167
log.Printf("block %q starting new durable shell\n", dsc.BlockId)
168+
fsErr := filestore.WFS.MakeFile(ctx, dsc.BlockId, wavebase.BlockFile_Term, nil, wshrpc.FileOpts{MaxSize: DefaultTermMaxFileSize, Circular: true})
169+
if fsErr != nil && fsErr != fs.ErrExist {
170+
return fmt.Errorf("error creating block term file: %w", fsErr)
171+
}
166172
newJobId, err := dsc.startNewJob(ctx, blockMeta, dsc.ConnName, rtOpts)
167173
if err != nil {
168174
return fmt.Errorf("failed to start new job: %w", err)

0 commit comments

Comments
 (0)