mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-02-22 02:41:23 +01:00
fix default workspace creation bug. fix no workspace message
This commit is contained in:
parent
055d00d78a
commit
f2baa59af6
@ -14,6 +14,15 @@
|
||||
border-radius: 8px;
|
||||
transition: width 0.2s ease;
|
||||
margin-bottom: 0.5em;
|
||||
|
||||
.center-message {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
color: @text-secondary;
|
||||
}
|
||||
}
|
||||
.collapsed + .session-view {
|
||||
max-width: calc(100% - 6.7em);
|
||||
|
@ -25,7 +25,11 @@ class WorkspaceView extends React.Component<{}, {}> {
|
||||
let model = GlobalModel;
|
||||
let session = model.getActiveSession();
|
||||
if (session == null) {
|
||||
return <div className="session-view">(no active session)</div>;
|
||||
return (
|
||||
<div className="session-view">
|
||||
<div className="center-message"><div>(no active workspace)</div></div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
let activeScreen = session.getActiveScreen();
|
||||
let cmdInputHeight = model.inputModel.cmdInputHeight.get();
|
||||
|
@ -825,7 +825,7 @@ func main() {
|
||||
log.Printf("[error] ensuring local remote: %v\n", err)
|
||||
return
|
||||
}
|
||||
_, err = sstore.EnsureDefaultSession(context.Background())
|
||||
err = sstore.EnsureOneSession(context.Background())
|
||||
if err != nil {
|
||||
log.Printf("[error] ensuring default session: %v\n", err)
|
||||
return
|
||||
|
@ -507,6 +507,15 @@ func GetSessionById(ctx context.Context, id string) (*SessionType, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// counts non-archived sessions
|
||||
func GetSessionCount(ctx context.Context) (int, error) {
|
||||
return WithTxRtn(ctx, func(tx *TxWrap) (int, error) {
|
||||
query := `SELECT COALESCE(count(*), 0) FROM session WHERE NOT archived`
|
||||
numSessions := tx.GetInt(query)
|
||||
return numSessions, nil
|
||||
})
|
||||
}
|
||||
|
||||
func GetSessionByName(ctx context.Context, name string) (*SessionType, error) {
|
||||
var session *SessionType
|
||||
txErr := WithTx(ctx, func(tx *TxWrap) error {
|
||||
|
@ -1197,19 +1197,19 @@ func EnsureLocalRemote(ctx context.Context) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func EnsureDefaultSession(ctx context.Context) (*SessionType, error) {
|
||||
session, err := GetSessionByName(ctx, DefaultSessionName)
|
||||
func EnsureOneSession(ctx context.Context) error {
|
||||
numSessions, err := GetSessionCount(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
if session != nil {
|
||||
return session, nil
|
||||
if numSessions > 0 {
|
||||
return nil
|
||||
}
|
||||
_, err = InsertSessionWithName(ctx, DefaultSessionName, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return err
|
||||
}
|
||||
return GetSessionByName(ctx, DefaultSessionName)
|
||||
return nil
|
||||
}
|
||||
|
||||
func createClientData(tx *TxWrap) error {
|
||||
|
Loading…
Reference in New Issue
Block a user