Import update locks a Feature's Theme to the parent's Theme at time of import, preventing subsequent Theme changes from propagating

XMLWordPrintable

      Issue Summary

      When a Feature is associated with a parent that has a Theme assigned, any update made to that Feature via import will "lock" the Theme data on the Feature record. After this lock occurs:

      1. If the parent's Theme is subsequently changed, the updated Theme will appear correctly in the UI (grid display).
      2. However, the Feature's underlying data will retain the old (locked) Theme value.
      3. This stale Theme data then surfaces in API responses and affects grid filter results, causing inconsistencies between what users see in the UI and what is returned programmatically.

      As a consequence:

      1. API consumers receive outdated Theme information for affected Features.
      2. Grid filters return incorrect results, as they operate on the locked (stale) Theme value rather than the current parent Theme.

      Steps to Reproduce

      1. Create an Epic with a theme
      2. Create a feature under this epic
      3. Do an import to update the feature description, or primary program
      4. Now update the theme associated with the Epic
      5. Open the Feature and see how on the UI the new theme is reflected
      6. Run an API call to this Feature, and see how the themeId returned is the old one

      Expected Results

      When the parent theme is changed, the feature will reflect it.

      Actual Results

      When an import is made, the theme will not change behind the scenes when the parent theme changes.

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

              Assignee:
              Grzegorz Kurek
              Reporter:
              Diego Larangeira
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: