diff options
| author | 2025-12-30 20:06:25 +0300 | |
|---|---|---|
| committer | 2025-12-30 20:06:25 +0300 | |
| commit | 2111f328c1dc619be568e325ce7138c8e6e3b0b2 (patch) | |
| tree | fcb65b69bb75b1146ec7c8e78f9e8ba4d37d4d22 | |
| parent | начальный коммит (diff) | |
| download | qchat-2111f328c1dc619be568e325ce7138c8e6e3b0b2.tar.gz qchat-2111f328c1dc619be568e325ce7138c8e6e3b0b2.tar.bz2 qchat-2111f328c1dc619be568e325ce7138c8e6e3b0b2.tar.xz qchat-2111f328c1dc619be568e325ce7138c8e6e3b0b2.zip | |
немного поправил отображение
Diffstat (limited to '')
| -rw-r--r-- | internal/chat/chan.go | 6 | ||||
| -rw-r--r-- | internal/server/client.go | 2 | ||||
| -rw-r--r-- | internal/server/display.go | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/internal/chat/chan.go b/internal/chat/chan.go index ae78bb6..bc2b70f 100644 --- a/internal/chat/chan.go +++ b/internal/chat/chan.go @@ -29,6 +29,12 @@ func (c *Channel) processEvent(ev any) { slog.Info("channel event", slog.String("channel", c.Name), slog.Any("event", ev)) for u := range c.Users { + if ev, ok := ev.(Message); ok { + if ev.User == u { + // Do not return user message to him + continue + } + } select { case u.Events <- ev: default: diff --git a/internal/server/client.go b/internal/server/client.go index dbea5a9..698f7fa 100644 --- a/internal/server/client.go +++ b/internal/server/client.go @@ -11,9 +11,9 @@ import ( func (s *Server) serveClient(ctx context.Context, rw io.ReadWriteCloser, user *chat.User) { t := term.NewTerminal(rw, "[] ") + // TODO resize terminal to user size go func() { - // defer s.bus.Unsubscribe(evCh) for { select { case <-ctx.Done(): diff --git a/internal/server/display.go b/internal/server/display.go index 90d481a..c3450ad 100644 --- a/internal/server/display.go +++ b/internal/server/display.go @@ -33,7 +33,7 @@ func displayMessage(t io.Writer, message chat.Message, user *chat.User) { msg = r.From.ReplaceAllString(msg, r.To) } - fmt.Fprintf(t, "%s%s%s\t[%s]%s: %s\n", + fmt.Fprintf(t, "%s%15s%s [%s]%s: %s\n", escapeCodes[Blue], message.User.NUsername(), escapeCodes[Green], |
