diff --git a/src/renderer/src/components/sidebar/__goldens__/sidebar-list/scenario-name-order.txt b/src/renderer/src/components/sidebar/__goldens__/sidebar-list/scenario-name-order.txt new file mode 100644 index 00000000000..069aac84a12 --- /dev/null +++ b/src/renderer/src/components/sidebar/__goldens__/sidebar-list/scenario-name-order.txt @@ -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 diff --git a/src/renderer/src/components/sidebar/sidebar-list-golden-name-order.test-fixture.ts b/src/renderer/src/components/sidebar/sidebar-list-golden-name-order.test-fixture.ts new file mode 100644 index 00000000000..9c8ba113cad --- /dev/null +++ b/src/renderer/src/components/sidebar/sidebar-list-golden-name-order.test-fixture.ts @@ -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 { + 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: {} + } +} diff --git a/src/renderer/src/components/sidebar/sidebar-list-goldens.test.tsx b/src/renderer/src/components/sidebar/sidebar-list-goldens.test.tsx index 9f17ef207f8..3cac6d7301b 100644 --- a/src/renderer/src/components/sidebar/sidebar-list-goldens.test.tsx +++ b/src/renderer/src/components/sidebar/sidebar-list-goldens.test.tsx @@ -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() + 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',