Skip to content

[Bug]: Tags Can Be Parented to Each Other and Freeze the Program [#875 Regression] #1074

@CyanVoxel

Description

@CyanVoxel

Checklist

  • I am using an up-to-date version.
  • I have read the documentation.
  • I have searched existing issues.

TagStudio Version

Alpha 9.5.3+ (main branch)

Operating System & Version

macoS 15.5

Description

Tags can erroneously be parented to each other, and that causes a regression of #875 where the program freezes when trying to recursively trace the ancestor hierarchy (for notably when attempting to view tags in the preview panel.

Image

Expected Behavior

  • Tag A should not be shown in the "Add Parent Tags" list of Tag B if Tag A has Tag B as a parent
  • Cyclical parent tag relationships should not be allowed in the database
  • The program should not allow a scenario in which it locks up like this

Steps to Reproduce

  1. Have two tags, Tag A and Tag B
  2. Edit Tag A to have Tag B as a parent, and then edit Tag B to have Tag A as a parent
  3. Add one of the tags to a file to preview, or click on a file that already has one of the tags present to preview and observe the freeze

To undo these changes, you can relaunch TagStudio and edit the tags from the "Manage Tags" menu in order to undo the relationship.

Logs

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Priority: CriticalAn issue that requires immediate attentionTagStudio: LibraryRelating to the TagStudio library systemTagStudio: TagsRelating to the TagStudio tag systemType: BugSomething isn't working as intendedType: UI/UXUser interface and/or user experience

    Type

    Projects

    Status

    🛠 Ready for Development

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions