iVis-at-Bilkent / software-artifact-analyzer

SAA: A tool to visually analyze varying software artifacts including source code files, pull requests, issues, and commits, as well as their links and their relationships with developers in a software project to improve the software development process
0 stars 0 forks source link

Visual cue / badge problems #148

Closed ugurdogrusoz closed 1 month ago

ugurdogrusoz commented 1 month ago

This is a continuation of https://github.com/iVis-at-Bilkent/software-artifact-analyzer/issues/140.

LaraMerdol commented 1 month ago

Subtask-1 is fixed. The issue was related to the z-index of the badges. It is now fixed to stay behind the context menu but still ensure the visibility of the tooltip.

Screen Shot 2024-07-19 at 00 42 03
LaraMerdol commented 1 month ago

Sub task 2: Now, the Anomaly badge is always positioned on the right, slightly below, to avoid overlapping with the theoretical property badges. Screen Recording 2024-07-19 at 10 32 15

LaraMerdol commented 1 month ago

Subtask3: One reason we treat anomaly badges differently is that if we did not change the size of anomaly badges, they would not be scaled according to the size of the node. Then, for some cases if the theoretical property is too high or too low, it will not be aesthetic. I have changed it so that it does not give weird changes now. Furthermore, the default behavior for issue type badges is not valid because issue badges provide badge images, and we can automatically adjust their size. Anomaly badges also change size according to the number of anomalies they have. In normal cases, they are displayed as spans, not images. Screen Recording 2024-07-19 at 10 37 26

ugurdogrusoz commented 1 month ago

@LaraMerdol I can't properly test this since I keep getting DB errors on graph theoretic property operations. Typical scenario to reproduce:

image
LaraMerdol commented 1 month ago

Subtask-1: Z-index also changed for the issue badges Screen Shot 2024-07-19 at 22 29 33

LaraMerdol commented 1 month ago

@LaraMerdol I can't properly test this since I keep getting DB errors on graph theoretic property operations. Typical scenario to reproduce:

  • Sample Data
  • Check Anamolies
  • Any graph-theoretic property calculation I think it goes into some kind of an infinite loop or takes too long to finish, often resulting with a DB error.

This behavior is not visible on local deployment, but I have also encountered it when repeating the above steps and having multiple issue nodes on the canvas in the server.

LaraMerdol commented 1 month ago

Subtask-3: The reason for the issue was that, in some cases, the addIssueBadges and addAnomalyCues function was called more than once. The function execution has been modified. The reason for the loading in some cases when generating anomaly badges is that one query is run for each issue, so it is normal to see this if the graph has too many issues. However, now the detection of anomalies and creation of anomaly badges after theoretical properties take a similar time and do not create DB errors in my computer. Screen Recording 2024-07-19 at 22 54 02

ugurdogrusoz commented 1 month ago

Looks good except:

LaraMerdol commented 1 month ago

Looks good except:

  • Calculate a graph theoretic value
  • Show anomaly badges
  • Remove highlights
  • Now calculate a graph theoretic value again and anomaly badges reappear for no reason

Reason for the issue is that I forgot to remove the class after removing highlights. Now it is fixed.

ugurdogrusoz commented 1 month ago

This is fine now but the following scenario fails:

LaraMerdol commented 1 month ago

Now both scenarios work. The previous mistake was that we were adding the anomalyBadgeDisplay class to the issue nodes, and then removing it when the theoretical property badges were removed. As a result, anomaly badges also disappeared when we changed the theoretical properties. Now we are adding anomalyBadgeDisplay when anomalies are added, and removing it only when the highlight is removed. Screen Recording 2024-07-23 at 14 33 20