Fixes as a result of an actual test
Some checks failed
rolling-release / build (push) Has been cancelled
rolling-release / rolling-release (push) Has been cancelled

This commit is contained in:
Dmitrii Okunev
2025-06-15 21:28:43 +01:00
parent 4723f27334
commit 77bc3bd38a
7 changed files with 22 additions and 13 deletions

View File

@@ -5,4 +5,4 @@ Website = "https://github.com/xaionaro/streamctl"
Name = "streampanel"
ID = "center.dx.streampanel"
Version = "0.1.0"
Build = 374
Build = 382

View File

@@ -30,6 +30,7 @@ func (s *ChatMessagesStorage) getMessagesSinceLocked(
}
if !s.IsSorted {
logger.Tracef(ctx, "not sorted, sorting")
s.sortAndDeduplicateAndTruncate(ctx)
}

View File

@@ -9,20 +9,20 @@ import (
)
func msgLess(ctx context.Context, a *api.ChatMessage, b *api.ChatMessage) bool {
if a.CreatedAt.Before(b.CreatedAt) {
return true
if a.CreatedAt != b.CreatedAt {
return a.CreatedAt.Before(b.CreatedAt)
}
if a.Platform < b.Platform {
return true
if a.Platform != b.Platform {
return a.Platform < b.Platform
}
if a.Username < b.Username {
return true
if a.Username != b.Username {
return a.Username < b.Username
}
if a.MessageID < b.MessageID {
return true
if a.MessageID != b.MessageID {
return a.MessageID < b.MessageID
}
if a.Message < b.Message {
return true
if a.Message != b.Message {
return a.Message < b.Message
}
if a != b {
logger.Errorf(ctx, "msgs A and B look equal, but are not: A:%#+v B:%#+v", a, b)

View File

@@ -196,6 +196,9 @@ func (ui *chatUI) onReceiveMessage(
defer ui.List.RefreshItem(prevLen)
defer ui.MessagesHistoryLocker.ManualUnlock(ctx)
ui.MessagesHistory = append(ui.MessagesHistory, msg)
if time.Since(msg.CreatedAt) > time.Hour {
return
}
notificationsEnabled := xsync.DoR1(ctx, &ui.Panel.configLocker, func() bool {
return ui.Panel.Config.Chat.NotificationsEnabled()
})

View File

@@ -27,10 +27,8 @@ func colorForPlatform(platID streamcontrol.PlatformName) fyne.ThemeColorName {
var brightColors = []fyne.ThemeColorName{
theme.ColorNameError,
theme.ColorNameForeground,
theme.ColorNameHyperlink,
theme.ColorNamePrimary,
theme.ColorNameSelection,
theme.ColorNameSuccess,
theme.ColorNameWarning,
}

View File

@@ -313,6 +313,10 @@ func (p *Panel) newDashboardWindow(
c := w.chat.List
w.chat.OnAdd = func(ctx context.Context, _ api.ChatMessage) {
screenHeight := w.Canvas().Size().Height
switch runtime.GOOS {
case "android":
screenHeight -= 110
}
demandedHeight := float32(w.chat.TotalListHeight) + c.Theme().Size(theme.SizeNamePadding)*float32(c.Length())
logger.Tracef(ctx, "demanded height: %v; screen height: %v", demandedHeight, screenHeight)
allowedHeight := math.Min(
@@ -328,6 +332,8 @@ func (p *Panel) newDashboardWindow(
c.ScrollToBottom()
c.Refresh()
c.ScrollToBottom()
c.Refresh()
}
w.chat.OnAdd(ctx, api.ChatMessage{})
layers = append(layers,

View File

@@ -251,6 +251,7 @@ func (p *Panel) Loop(ctx context.Context, opts ...LoopOption) (_err error) {
}
p.app = fyneapp.New()
p.app.Settings().SetTheme(theme.DarkTheme())
p.app.Driver().SetDisableScreenBlanking(true)
logger.Tracef(ctx, "SetDisableScreenBlanking(true)")
p.createMainWindow(ctx)