diff --git a/cli/cli.go b/cli/cli.go index efd9295..4279bb1 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -3,9 +3,9 @@ package main import ( "bytes" "fmt" + "github.com/chzyer/readline" rpc "github.com/ricochet-im/ricochet-go/rpc" "google.golang.org/grpc" - "gopkg.in/readline.v1" "log" "os" ) diff --git a/cli/conversation.go b/cli/conversation.go index 56e335f..6391990 100644 --- a/cli/conversation.go +++ b/cli/conversation.go @@ -48,10 +48,6 @@ func (c *Conversation) SendMessage(text string) error { if err := c.validateMessage(msg); err != nil { log.Printf("Conversation sent message does not validate: %v", err) } - c.messages = append(c.messages, msg) - c.trimBacklog() - c.printMessage(msg) - return nil } @@ -224,7 +220,7 @@ func (c *Conversation) printMessage(msg *ricochet.Message) { } // XXX shell escaping - fmt.Fprintf(Ui.Input.Stdout(), "\r%s | %s %s %s\n", + fmt.Fprintf(Ui.Input.Stdout(), "%s | %s %s %s\n", ts, c.Contact.Data.Nickname, direction, diff --git a/cli/ui.go b/cli/ui.go index 6b94a4d..855e87c 100644 --- a/cli/ui.go +++ b/cli/ui.go @@ -3,9 +3,9 @@ package main import ( "errors" "fmt" + "github.com/chzyer/readline" "github.com/ricochet-im/ricochet-go/rpc" "golang.org/x/net/context" - "gopkg.in/readline.v1" "strconv" "strings" ) @@ -163,17 +163,17 @@ func (ui *UI) SetCurrentContact(contact *Contact) { ui.CurrentContact = contact if ui.CurrentContact != nil { - config := *ui.Input.Config + config := ui.Input.Config.Clone() config.Prompt = fmt.Sprintf("\x1b[90m00:00\x1b[39m | %s \x1b[34m<<\x1b[39m ", contact.Data.Nickname) config.UniqueEditLine = true - ui.Input.SetConfig(&config) + ui.Input.SetConfig(config) fmt.Printf("--- %s (%s) ---\n", contact.Data.Nickname, strings.ToLower(contact.Data.Status.String())) contact.Conversation.PrintContext() contact.Conversation.MarkAsRead() } else { - config := *ui.Input.Config + config := ui.Input.Config.Clone() config.Prompt = "> " config.UniqueEditLine = false - ui.Input.SetConfig(&config) + ui.Input.SetConfig(config) } }