test(sidebar): golden for accented, mixed-case and numbered sidebar names (#29966)

Records the post-#29946 text order for workspace rows (Name, Recent and
project-name sort), project group names and folder workspace names, ungrouped
and grouped by project, so a future ordering change shows up as a golden diff.
This commit is contained in:
Jinwoo Hong
2026-10-16 21:25:08 -07:00
committed by GitHub
parent a4532faa30
commit 442491be11
3 changed files with 322 additions and 0 deletions
@@ -0,0 +1,219 @@
=== groupBy=none sort=name projectOrder=manual ===
visible: r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra
HEADER key=all label="All" count=23 tone="text-foreground" icon=List hostCounts={local:20 ssh:gpu-vm:3} hostIds={local:[r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-eclair::/w/Eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-eclair::/w/w2,r-eclair::/w/w10,r-eclair::/w/zebra] ssh:gpu-vm:[r-angstrom::/w/angstrom,r-ssh::/w/eclair,r-ssh::/w/w2]} ids=[r-angstrom::/w/angstrom,r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-eclair::/w/Eclair,r-ssh::/w/eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-ssh::/w/w2,r-eclair::/w/w2,r-eclair::/w/w10,r-eclair::/w/zebra]
ITEM rowKey=all:|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:|r-angstrom::/w/ångström depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:|r-eclair::/w/Eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:|r-eclair::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/W2 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:|r-eclair::/w/w2 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/w10 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/zebra depth=0 groupDepth=0 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=0
renderedKeys: 34
placeholders: -
selectionOrder: |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström |r-eclair::/w/Eclair ssh:gpu-vm|r-ssh::/w/eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 ssh:gpu-vm|r-ssh::/w/w2 |r-eclair::/w/w2 |r-eclair::/w/w10 |r-eclair::/w/zebra local|folder:fw-angstrom local|folder:fw-angstrom-accent local|folder:fw-Eclair local|folder:fw-eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra
cmd1-9 mounted: 1=r-angstrom::/w/angstrom 2=r-angstrom::/w/angstrom@ssh:gpu-vm 3=r-angstrom::/w/ångström 4=r-eclair::/w/Eclair 5=r-ssh::/w/eclair@ssh:gpu-vm 6=r-eclair::/w/eclair 7=r-eclair::/w/éclair 8=r-eclair::/w/éclair 9=r-eclair::/w/W2
cmd1-9 unmounted: 1=r-angstrom::/w/angstrom 2=r-angstrom::/w/angstrom@ssh:gpu-vm 3=r-angstrom::/w/ångström 4=r-eclair::/w/Eclair 5=r-ssh::/w/eclair@ssh:gpu-vm 6=r-eclair::/w/eclair 7=r-eclair::/w/éclair 8=r-eclair::/w/éclair 9=r-eclair::/w/W2
cmd ids unmounted: r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra folder:fw-angstrom folder:fw-angstrom-accent folder:fw-Eclair folder:fw-eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra
=== groupBy=none sort=name projectOrder=recent === same as groupBy=none sort=name projectOrder=manual
=== groupBy=none sort=recent projectOrder=manual ===
visible: r-eclair::/w/w10 r-eclair::/w/zebra r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2
HEADER key=all label="All" count=23 tone="text-foreground" icon=List hostCounts={local:20 ssh:gpu-vm:3} hostIds={local:[r-eclair::/w/w10,r-eclair::/w/zebra,r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-eclair::/w/Eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-eclair::/w/w2] ssh:gpu-vm:[r-angstrom::/w/angstrom,r-ssh::/w/eclair,r-ssh::/w/w2]} ids=[r-eclair::/w/w10,r-eclair::/w/zebra,r-angstrom::/w/angstrom,r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-eclair::/w/Eclair,r-ssh::/w/eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-ssh::/w/w2,r-eclair::/w/w2]
ITEM rowKey=all:|r-eclair::/w/w10 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/zebra depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:|r-angstrom::/w/ångström depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:|r-eclair::/w/Eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:|r-eclair::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/W2 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:|r-eclair::/w/w2 depth=0 groupDepth=0 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=0
renderedKeys: 34
placeholders: -
selectionOrder: |r-eclair::/w/w10 |r-eclair::/w/zebra |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström |r-eclair::/w/Eclair ssh:gpu-vm|r-ssh::/w/eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 ssh:gpu-vm|r-ssh::/w/w2 |r-eclair::/w/w2 local|folder:fw-angstrom local|folder:fw-angstrom-accent local|folder:fw-Eclair local|folder:fw-eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra
cmd1-9 mounted: 1=r-eclair::/w/w10 2=r-eclair::/w/zebra 3=r-angstrom::/w/angstrom 4=r-angstrom::/w/angstrom@ssh:gpu-vm 5=r-angstrom::/w/ångström 6=r-eclair::/w/Eclair 7=r-ssh::/w/eclair@ssh:gpu-vm 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd1-9 unmounted: 1=r-eclair::/w/w10 2=r-eclair::/w/zebra 3=r-angstrom::/w/angstrom 4=r-angstrom::/w/angstrom@ssh:gpu-vm 5=r-angstrom::/w/ångström 6=r-eclair::/w/Eclair 7=r-ssh::/w/eclair@ssh:gpu-vm 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd ids unmounted: r-eclair::/w/w10 r-eclair::/w/zebra r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2 folder:fw-angstrom folder:fw-angstrom-accent folder:fw-Eclair folder:fw-eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra
=== groupBy=none sort=recent projectOrder=recent === same as groupBy=none sort=recent projectOrder=manual
=== groupBy=none sort=repo projectOrder=manual ===
visible: r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-ssh::/w/eclair r-ssh::/w/w2 r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra
HEADER key=all label="All" count=23 tone="text-foreground" icon=List hostCounts={local:20 ssh:gpu-vm:3} hostIds={local:[r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-eclair::/w/Eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-eclair::/w/w2,r-eclair::/w/w10,r-eclair::/w/zebra] ssh:gpu-vm:[r-angstrom::/w/angstrom,r-ssh::/w/eclair,r-ssh::/w/w2]} ids=[r-angstrom::/w/angstrom,r-angstrom::/w/angstrom,r-angstrom::/w/ångström,r-ssh::/w/eclair,r-ssh::/w/w2,r-eclair::/w/Eclair,r-eclair::/w/eclair,r-eclair::/w/éclair,r-eclair::/w/éclair,r-eclair::/w/W2,r-eclair::/w/w2,r-eclair::/w/w10,r-eclair::/w/zebra]
ITEM rowKey=all:|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:|r-angstrom::/w/ångström depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=all:|r-eclair::/w/Eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/éclair depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/W2 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/w2 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/w10 depth=0 groupDepth=0 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
ITEM rowKey=all:|r-eclair::/w/zebra depth=0 groupDepth=0 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=0
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=0
renderedKeys: 34
placeholders: -
selectionOrder: |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström ssh:gpu-vm|r-ssh::/w/eclair ssh:gpu-vm|r-ssh::/w/w2 |r-eclair::/w/Eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 |r-eclair::/w/w2 |r-eclair::/w/w10 |r-eclair::/w/zebra local|folder:fw-angstrom local|folder:fw-angstrom-accent local|folder:fw-Eclair local|folder:fw-eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra
cmd1-9 mounted: 1=r-angstrom::/w/angstrom 2=r-angstrom::/w/angstrom@ssh:gpu-vm 3=r-angstrom::/w/ångström 4=r-ssh::/w/eclair@ssh:gpu-vm 5=r-ssh::/w/w2@ssh:gpu-vm 6=r-eclair::/w/Eclair 7=r-eclair::/w/eclair 8=r-eclair::/w/éclair 9=r-eclair::/w/éclair
cmd1-9 unmounted: 1=r-angstrom::/w/angstrom 2=r-angstrom::/w/angstrom@ssh:gpu-vm 3=r-angstrom::/w/ångström 4=r-ssh::/w/eclair@ssh:gpu-vm 5=r-ssh::/w/w2@ssh:gpu-vm 6=r-eclair::/w/Eclair 7=r-eclair::/w/eclair 8=r-eclair::/w/éclair 9=r-eclair::/w/éclair
cmd ids unmounted: r-angstrom::/w/angstrom r-angstrom::/w/ångström r-ssh::/w/eclair r-ssh::/w/w2 r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra folder:fw-angstrom folder:fw-angstrom-accent folder:fw-Eclair folder:fw-eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra
=== groupBy=none sort=repo projectOrder=recent === same as groupBy=none sort=repo projectOrder=manual
=== groupBy=repo sort=name projectOrder=manual ===
visible: r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra
HEADER key=project-group:pg-angstrom label="angstrom" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom projectGroupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=1
HEADER key=project-group:pg-angstrom-accent label="ångström" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom-accent projectGroupDepth=0
HEADER key=project:repo:r-angstrom label="ångström" count=3 tone="text-foreground" icon=FolderTree repo=r-angstrom projectGroupDepth=1
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/ångström depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
HEADER key=project-group:pg-eclair label="eclair" count=2 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair projectGroupDepth=0
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=1
HEADER key=project-group:pg-eclair-accent label="Éclair" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair-accent projectGroupDepth=0
HEADER key=project:repo:r-eclair label="Éclair" count=8 tone="text-foreground" icon=FolderTree repo=r-eclair projectGroupDepth=1
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/Eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/W2 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w2 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w10 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/zebra depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
HEADER key=project-group:pg-zebra label="zebra" count=7 tone="text-foreground" icon=FolderTree projectGroup=pg-zebra projectGroupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=1
HEADER key=project:repo:r-ssh label="eclair" count=2 tone="text-foreground" icon=FolderTree repo=r-ssh projectGroupDepth=0
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 lastChild=true children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
renderedKeys: 41
placeholders: -
selectionOrder: local|folder:fw-eclair |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström local|folder:fw-angstrom local|folder:fw-angstrom-accent |r-eclair::/w/Eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 |r-eclair::/w/w2 |r-eclair::/w/w10 |r-eclair::/w/zebra local|folder:fw-Eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra ssh:gpu-vm|r-ssh::/w/eclair ssh:gpu-vm|r-ssh::/w/w2
cmd1-9 mounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/Eclair 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd1-9 unmounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/Eclair 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd ids unmounted: folder:fw-eclair r-angstrom::/w/angstrom r-angstrom::/w/ångström folder:fw-angstrom folder:fw-angstrom-accent r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra folder:fw-Eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra r-ssh::/w/eclair r-ssh::/w/w2
=== groupBy=repo sort=name projectOrder=recent === same as groupBy=repo sort=name projectOrder=manual
=== groupBy=repo sort=recent projectOrder=manual ===
visible: r-eclair::/w/w10 r-eclair::/w/zebra r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-eclair::/w/Eclair r-ssh::/w/eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-ssh::/w/w2 r-eclair::/w/w2
HEADER key=project-group:pg-angstrom label="angstrom" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom projectGroupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=1
HEADER key=project-group:pg-angstrom-accent label="ångström" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom-accent projectGroupDepth=0
HEADER key=project:repo:r-angstrom label="ångström" count=3 tone="text-foreground" icon=FolderTree repo=r-angstrom projectGroupDepth=1
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/ångström depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
HEADER key=project-group:pg-eclair label="eclair" count=2 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair projectGroupDepth=0
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=1
HEADER key=project-group:pg-eclair-accent label="Éclair" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair-accent projectGroupDepth=0
HEADER key=project:repo:r-eclair label="Éclair" count=8 tone="text-foreground" icon=FolderTree repo=r-eclair projectGroupDepth=1
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w10 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/zebra depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/Eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/W2 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w2 depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
HEADER key=project-group:pg-zebra label="zebra" count=7 tone="text-foreground" icon=FolderTree projectGroup=pg-zebra projectGroupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=1
HEADER key=project:repo:r-ssh label="eclair" count=2 tone="text-foreground" icon=FolderTree repo=r-ssh projectGroupDepth=0
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 lastChild=true children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
renderedKeys: 41
placeholders: -
selectionOrder: local|folder:fw-eclair |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström local|folder:fw-angstrom local|folder:fw-angstrom-accent |r-eclair::/w/w10 |r-eclair::/w/zebra |r-eclair::/w/Eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 |r-eclair::/w/w2 local|folder:fw-Eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra ssh:gpu-vm|r-ssh::/w/eclair ssh:gpu-vm|r-ssh::/w/w2
cmd1-9 mounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/w10 8=r-eclair::/w/zebra 9=r-eclair::/w/Eclair
cmd1-9 unmounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/w10 8=r-eclair::/w/zebra 9=r-eclair::/w/Eclair
cmd ids unmounted: folder:fw-eclair r-angstrom::/w/angstrom r-angstrom::/w/ångström folder:fw-angstrom folder:fw-angstrom-accent r-eclair::/w/w10 r-eclair::/w/zebra r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 folder:fw-Eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra r-ssh::/w/eclair r-ssh::/w/w2
=== groupBy=repo sort=recent projectOrder=recent === same as groupBy=repo sort=recent projectOrder=manual
=== groupBy=repo sort=repo projectOrder=manual ===
visible: r-angstrom::/w/angstrom r-angstrom::/w/angstrom r-angstrom::/w/ångström r-ssh::/w/eclair r-ssh::/w/w2 r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra
HEADER key=project-group:pg-angstrom label="angstrom" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom projectGroupDepth=0
FOLDER key=folder-workspace:fw-eclair projectGroup=pg-angstrom depth=0 groupDepth=1
HEADER key=project-group:pg-angstrom-accent label="ångström" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-angstrom-accent projectGroupDepth=0
HEADER key=project:repo:r-angstrom label="ångström" count=3 tone="text-foreground" icon=FolderTree repo=r-angstrom projectGroupDepth=1
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:ssh:gpu-vm|r-angstrom::/w/angstrom depth=0 groupDepth=1 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
ITEM rowKey=project:repo:r-angstrom:|r-angstrom::/w/ångström depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-angstrom path=project-group:pg-angstrom-accent>project:repo:r-angstrom
HEADER key=project-group:pg-eclair label="eclair" count=2 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair projectGroupDepth=0
FOLDER key=folder-workspace:fw-angstrom projectGroup=pg-eclair depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-angstrom-accent projectGroup=pg-eclair depth=0 groupDepth=1
HEADER key=project-group:pg-eclair-accent label="Éclair" count=1 tone="text-foreground" icon=FolderTree projectGroup=pg-eclair-accent projectGroupDepth=0
HEADER key=project:repo:r-eclair label="Éclair" count=8 tone="text-foreground" icon=FolderTree repo=r-eclair projectGroupDepth=1
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/Eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/eclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/éclair depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/W2 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w2 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/w10 depth=0 groupDepth=1 children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
ITEM rowKey=project:repo:r-eclair:|r-eclair::/w/zebra depth=0 groupDepth=1 lastChild=true children=0 hostLabel="Local Linux" placement=natural owning=project:repo:r-eclair path=project-group:pg-eclair-accent>project:repo:r-eclair
HEADER key=project-group:pg-zebra label="zebra" count=7 tone="text-foreground" icon=FolderTree projectGroup=pg-zebra projectGroupDepth=0
FOLDER key=folder-workspace:fw-Eclair projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-eclair-accent projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-W2 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-a projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w2-b projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-w10 projectGroup=pg-zebra depth=0 groupDepth=1
FOLDER key=folder-workspace:fw-zebra projectGroup=pg-zebra depth=0 groupDepth=1
HEADER key=project:repo:r-ssh label="eclair" count=2 tone="text-foreground" icon=FolderTree repo=r-ssh projectGroupDepth=0
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/eclair depth=0 groupDepth=0 children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
ITEM rowKey=project:repo:r-ssh:ssh:gpu-vm|r-ssh::/w/w2 depth=0 groupDepth=0 lastChild=true children=0 hostLabel="GPU VM" placement=natural owning=project:repo:r-ssh
renderedKeys: 41
placeholders: -
selectionOrder: local|folder:fw-eclair |r-angstrom::/w/angstrom ssh:gpu-vm|r-angstrom::/w/angstrom |r-angstrom::/w/ångström local|folder:fw-angstrom local|folder:fw-angstrom-accent |r-eclair::/w/Eclair |r-eclair::/w/eclair |r-eclair::/w/éclair |r-eclair::/w/éclair |r-eclair::/w/W2 |r-eclair::/w/w2 |r-eclair::/w/w10 |r-eclair::/w/zebra local|folder:fw-Eclair local|folder:fw-eclair-accent local|folder:fw-W2 local|folder:fw-w2-a local|folder:fw-w2-b local|folder:fw-w10 local|folder:fw-zebra ssh:gpu-vm|r-ssh::/w/eclair ssh:gpu-vm|r-ssh::/w/w2
cmd1-9 mounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/Eclair 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd1-9 unmounted: 1=folder:fw-eclair@local 2=r-angstrom::/w/angstrom 3=r-angstrom::/w/angstrom@ssh:gpu-vm 4=r-angstrom::/w/ångström 5=folder:fw-angstrom@local 6=folder:fw-angstrom-accent@local 7=r-eclair::/w/Eclair 8=r-eclair::/w/eclair 9=r-eclair::/w/éclair
cmd ids unmounted: folder:fw-eclair r-angstrom::/w/angstrom r-angstrom::/w/ångström folder:fw-angstrom folder:fw-angstrom-accent r-eclair::/w/Eclair r-eclair::/w/eclair r-eclair::/w/éclair r-eclair::/w/éclair r-eclair::/w/W2 r-eclair::/w/w2 r-eclair::/w/w10 r-eclair::/w/zebra folder:fw-Eclair folder:fw-eclair-accent folder:fw-W2 folder:fw-w2-a folder:fw-w2-b folder:fw-w10 folder:fw-zebra r-ssh::/w/eclair r-ssh::/w/w2
=== groupBy=repo sort=repo projectOrder=recent === same as groupBy=repo sort=repo projectOrder=manual
@@ -0,0 +1,74 @@
import type { Worktree } from '../../../../shared/worktree/types'
import type { AppState } from '@/store/types'
import { GOLDEN_NOW, folder, group, repo, wt } from './sidebar-list-golden-factories.test-fixture'
// Same visible text as "éclair", spelled as "e" plus a combining accent (NFD).
const ECLAIR_NFD = `e${String.fromCodePoint(0x301)}clair`
const eclairRepo = repo('r-eclair', 'Éclair', { projectGroupId: 'pg-eclair-accent' })
const angstromRepo = repo('r-angstrom', 'ångström', { projectGroupId: 'pg-angstrom-accent' })
// An SSH project whose name folds equal to the local "Éclair" project.
const sshRepo = repo('r-ssh', 'eclair', { connectionId: 'gpu-vm' })
const recentTie = { lastActivityAt: GOLDEN_NOW - 1_000 }
const onSsh = { hostId: 'ssh:gpu-vm' } as const
const eclairWorktrees = [
wt(eclairRepo, 'éclair'),
wt(eclairRepo, 'Eclair'),
wt(eclairRepo, 'eclair'),
wt(eclairRepo, ECLAIR_NFD),
wt(eclairRepo, 'zebra', recentTie),
wt(eclairRepo, 'w10', recentTie),
wt(eclairRepo, 'w2'),
wt(eclairRepo, 'W2')
]
const angstromSame = wt(angstromRepo, 'angstrom', { lastActivityAt: GOLDEN_NOW - 5_000 })
// The same workspace id published by two hosts.
const angstromSameOnSsh: Worktree = { ...angstromSame, ...onSsh }
const angstromWorktrees = [wt(angstromRepo, 'ångström'), angstromSame, angstromSameOnSsh]
// Labels identical to local ones, on another host.
const sshWorktrees = [wt(sshRepo, 'eclair', onSsh), wt(sshRepo, 'w2', onSsh)]
function folderGroup(id: string, name: string) {
return group(id, name, { parentPath: `/folders/${id}`, createdFrom: 'folder-scan' })
}
/** Accented, mixed-case and numbered names everywhere the sidebar orders text. */
export function goldenNameOrderState(): Partial<AppState> {
return {
repos: [eclairRepo, angstromRepo, sshRepo],
worktreesByRepo: {
[eclairRepo.id]: eclairWorktrees,
[angstromRepo.id]: angstromWorktrees,
[sshRepo.id]: sshWorktrees
},
worktreeLineageById: {},
projects: [],
projectHostSetups: [],
// Equal tabOrder everywhere, so group names decide the order.
projectGroups: [
folderGroup('pg-zebra', 'zebra'),
group('pg-eclair-accent', 'Éclair'),
group('pg-angstrom-accent', 'ångström'),
folderGroup('pg-eclair', 'eclair'),
folderGroup('pg-angstrom', 'angstrom')
],
// Equal sortOrder everywhere, so folder names decide the order.
folderWorkspaces: [
folder('fw-zebra', 'pg-zebra', { name: 'zebra' }),
folder('fw-w10', 'pg-zebra', { name: 'w10' }),
folder('fw-w2-b', 'pg-zebra', { name: 'w2' }),
folder('fw-w2-a', 'pg-zebra', { name: 'w2' }),
folder('fw-W2', 'pg-zebra', { name: 'W2' }),
folder('fw-eclair-accent', 'pg-zebra', { name: 'éclair' }),
folder('fw-Eclair', 'pg-zebra', { name: 'Eclair' }),
folder('fw-angstrom', 'pg-eclair', { name: 'angstrom' }),
folder('fw-angstrom-accent', 'pg-eclair', { name: 'Ångström' }),
folder('fw-eclair', 'pg-angstrom', { name: 'eclair' })
],
prCache: {},
detectedWorktreesByRepo: {},
pendingWorktreeCreations: {}
}
}
@@ -45,6 +45,7 @@ import {
goldenLiveTerminalState,
type GoldenView
} from './sidebar-list-golden-store.test-fixture'
import { goldenNameOrderState } from './sidebar-list-golden-name-order.test-fixture'
import {
serializeOccurrencePlan,
serializeShortcutTargets,
@@ -304,6 +305,34 @@ describe('sidebar row model goldens', () => {
})
}
it('orders accented, mixed-case and numbered names across sorts and grouping', async () => {
const sections: string[] = []
const seen = new Map<string, string>()
for (const groupBy of ['none', 'repo'] as const) {
for (const sortBy of ['name', 'recent', 'repo'] as const) {
for (const projectOrderBy of PROJECT_ORDER_BYS) {
const view: GoldenView = {
groupBy,
sortBy,
projectOrderBy,
pinnedInGroups: false,
collapsedGroups: new Set()
}
appendCapture(
sections,
seen,
`groupBy=${groupBy} sort=${sortBy} projectOrder=${projectOrderBy}`,
captureGolden(buildGoldenStoreState(view, goldenNameOrderState()))
)
useAppStore.setState(initialState, true)
}
}
}
await expect(`${sections.join('\n')}\n`).toMatchFileSnapshot(
'./__goldens__/sidebar-list/scenario-name-order.txt'
)
})
it('orders rows missing from the frozen sort order last', async () => {
const state = buildGoldenStoreState({
groupBy: 'none',