Skip to content

[Feature]: Group Side Menu by Directory Structure #3722

Description

@wodka

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I am describing a concrete problem or use case, not just a vague idea.

Area

apps/desktop

Problem or use case

I am working on 80+ different repositories, some of them with the same directory name. ie I have 5 "api" repositories.

Differentiating them is right now basically impossible - by best guess is right now if I remember the previous conversation and know it by this.

Further it would be great to navigate in a way that I have already as a structure to differentiate the different repos.

Proposed solution

With a new option to add grouping above the current chat grouping, it would be possible to differentiate the different routes.

ie having the following:

  • /home/user/workspace/group-a/api
  • /home/user/workspace/group-a/ui
  • /home/user/workspace/group-b/part/api

would first look for all paths and find the common root of /home/user/workspace and then show a tree like:

+ group-a
| + api
| | chat 1
| | chat 2
| + ui
| | chat 3
| | chat 4
+ group-b/part
| + api
| | chat 5
| | chat 6

ideally to combine multiple levels into the description of there is only one repo

Why this matters

Having a lot of repositories to work on right now is hard to find the right one to continue.

When having to work on a lot I always have a directory structure where those repositories are checked out on that specific machine. It would therefor be great to simply tap into this structure.

Smallest useful scope

Having a manual 2nd group level that can be assigned to any of the current groups

Alternatives considered

I don't know a reasonable workaround

Risks or tradeoffs

As this is only relevant when there are a lot of repositories it should be gated behind a setting - ie multilevel groups is disabled per default, then manual as a second option and directory based as a third.

Examples or references

No response

Contribution

  • I would be open to helping implement this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementRequested improvement or new capability.needs-triageIssue needs maintainer review and initial categorization.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions