mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-03-10 13:09:14 +01:00
get contentheigh updates working
This commit is contained in:
parent
4c7d3f2079
commit
a7faf2040f
@ -1667,12 +1667,15 @@ func ScreenWebShareCommand(ctx context.Context, pk *scpacket.FeCommandPacketType
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("cannot create viewkey: %v", err)
|
||||
}
|
||||
viewKey := base64.RawURLEncoding.EncodeToString(viewKeyBytes)
|
||||
webShareOpts := sstore.ScreenWebShareOpts{ShareName: shareName, ViewKey: viewKey}
|
||||
screen, err := sstore.GetScreenById(ctx, ids.ScreenId)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("cannot get screen: %v", err)
|
||||
}
|
||||
if shareName == "" {
|
||||
shareName = screen.Name
|
||||
}
|
||||
viewKey := base64.RawURLEncoding.EncodeToString(viewKeyBytes)
|
||||
webShareOpts := sstore.ScreenWebShareOpts{ShareName: shareName, ViewKey: viewKey}
|
||||
err = sstore.CanScreenWebShare(screen)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -2226,7 +2229,7 @@ func LineSetHeightCommand(ctx context.Context, pk *scpacket.FeCommandPacketType)
|
||||
if heightVal > 10000 {
|
||||
return nil, fmt.Errorf("/line:setheight invalid height val (too large): %d", heightVal)
|
||||
}
|
||||
err = sstore.UpdateLineHeight(ctx, lineId, heightVal)
|
||||
err = sstore.UpdateLineHeight(ctx, ids.ScreenId, lineId, heightVal)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("/line:setheight error updating height: %v", err)
|
||||
}
|
||||
|
@ -257,12 +257,16 @@ func makeWebShareUpdate(ctx context.Context, update *sstore.ScreenUpdateType) (*
|
||||
case sstore.UpdateType_LineDel:
|
||||
break
|
||||
|
||||
case sstore.UpdateType_LineRenderer:
|
||||
case sstore.UpdateType_LineRenderer, sstore.UpdateType_LineContentHeight:
|
||||
line, err := sstore.GetLineById(ctx, update.ScreenId, update.LineId)
|
||||
if err != nil || line == nil {
|
||||
return nil, fmt.Errorf("error getting line: %v", defaultError(err, "not found"))
|
||||
}
|
||||
if update.UpdateType == sstore.UpdateType_LineRenderer {
|
||||
rtn.SVal = line.Renderer
|
||||
} else if update.UpdateType == sstore.UpdateType_LineContentHeight {
|
||||
rtn.IVal = line.ContentHeight
|
||||
}
|
||||
|
||||
case sstore.UpdateType_CmdStatus:
|
||||
_, cmd, err := sstore.GetLineCmdByLineId(ctx, update.ScreenId, update.LineId)
|
||||
|
@ -1887,10 +1887,13 @@ func UpdateLineStar(ctx context.Context, lineId string, starVal int) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func UpdateLineHeight(ctx context.Context, lineId string, heightVal int) error {
|
||||
func UpdateLineHeight(ctx context.Context, screenId string, lineId string, heightVal int) error {
|
||||
txErr := WithTx(ctx, func(tx *TxWrap) error {
|
||||
query := `UPDATE line SET contentheight = ? WHERE lineid = ?`
|
||||
tx.Exec(query, heightVal, lineId)
|
||||
if isWebShare(tx, screenId) {
|
||||
insertScreenLineUpdate(tx, screenId, lineId, UpdateType_LineContentHeight)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
if txErr != nil {
|
||||
|
@ -88,6 +88,7 @@ const (
|
||||
UpdateType_LineNew = "line:new"
|
||||
UpdateType_LineDel = "line:del"
|
||||
UpdateType_LineRenderer = "line:renderer"
|
||||
UpdateType_LineContentHeight = "line:contentheight"
|
||||
UpdateType_CmdStatus = "cmd:status"
|
||||
UpdateType_CmdTermOpts = "cmd:termopts"
|
||||
UpdateType_CmdDoneInfo = "cmd:doneinfo"
|
||||
|
Loading…
Reference in New Issue
Block a user