Archive Problems
- Dominant language
- Java
- Stars
- 80
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
# Archive Problems
## Context
After a long time, a lot of problems can get created.
Some problems get very similar patterns, but with different root causes, because the code base evolved, and the analysis made for a problem do not match the new code base, even if the symptoms of errors are the same.
Eg. "Cannot click BUY button because it is disabled" error was having the problem "No stock imported on products" but this regression does not appear nowadays, and a new problem "Product catalog microservice not started" now matches better with such errors nowadays for the same symptoms.
We want to keep the old problems for history purpose, but without seeing them reappearing in new executions.
Archiving is an alternative to deletion when problems become irrelevant.
## Expected
Add a new flag to problems: "Archived".
This is a simple boolean.
Everything still works as before (closing/re-opening/re-appearing...) for existing executions.
But the problem will not be appended to new executions.
* Users can always manually archive a problem by clicking the `ARCHIVE` button in the problem details screen. The icon of the button is `md-eye-off`, button type is `warning` (and margin-right 4px):

* Users can always manually unarchive a problem by clicking the `UNARCHIVE` button in the problem details screen. The icon of the button is `md-eye`:

When unarchiving a problem, it must be assigned to all errors in all executions where the patterns match.
* In the problem details screen, an archived problem has a status icon to explain this flag:

* An archived problem tag has a `md-eye-off` icon near it (with a tooltip: `Archived problem: it will not be automatically recognized in new executions`):

* In the problems list screen, add a new filter "Archived", as a drop-down list with three values:
** "" (default) to show all problems
** "Not archived" to show only unarchived problems
** "Archived" to show only archived problems

Contributor guide
No contributing guide indexed for this repository
Research direction
Start by tracing the problem details screen, problems list screen, and the new-execution problem matching flow. Verify how existing executions retain closing, reopening, and reappearing behavior, then implement the archive and unarchive paths across those entry points. Done means archived problems are excluded from new executions, unarchiving reassigns matching errors, and the specified controls, icons, tooltip, status indicator, and filter are present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- full-stack
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100