on main help sign in
fix: sidebar files jumping
cb6642bKujtim Hoxha
internal/tui/components/chat/sidebar/sidebar.go+7−1
@@ -400,6 +400,9 @@ func (m *sidebarCmp) filesBlockCompact(maxWidth int) string {
400
400
401 fileList := []string{section, ""}
401 fileList := []string{section, ""}
402 sort.Slice(files, func(i, j int) bool {
402 sort.Slice(files, func(i, j int) bool {
403+ if files[i].History.latestVersion.CreatedAt == files[j].History.latestVersion.CreatedAt {
404+ return files[i].FilePath < files[j].FilePath
405+ }
403 return files[i].History.latestVersion.CreatedAt > files[j].History.latestVersion.CreatedAt
406 return files[i].History.latestVersion.CreatedAt > files[j].History.latestVersion.CreatedAt
404 })
407 })
405
408
@@ -626,8 +629,11 @@ func (m *sidebarCmp) filesBlock() string {
626 }
629 }
627
630
628 fileList := []string{section, ""}
631 fileList := []string{section, ""}
629− // order files by the latest version's created time
632+ // order files by the latest version's created time, then by path for stability
630 sort.Slice(files, func(i, j int) bool {
633 sort.Slice(files, func(i, j int) bool {
634+ if files[i].History.latestVersion.CreatedAt == files[j].History.latestVersion.CreatedAt {
635+ return files[i].FilePath < files[j].FilePath
636+ }
631 return files[i].History.latestVersion.CreatedAt > files[j].History.latestVersion.CreatedAt
637 return files[i].History.latestVersion.CreatedAt > files[j].History.latestVersion.CreatedAt
632 })
638 })
633
639