JetBrains-Research / JetBrains-Research/TestSpark
Reducing of `CustomProgressIndicator` interface to a view of textual content of a UI indicator
- Dominant language
- Kotlin
- Stars
- 88
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
# Description
**The current issue is dependent on this issue: #257.**
The current `CustomProgressIndicator` allows state-changing methods, such as `stop`, `cancel`, etc. It is discouraged to call these methods within an implementation and check the cancellation via the `isCanceled` method.
The `CustomProgressIndicator` interface should be reduced to a mere view of the textual content of the underlying UI indicator. The `LLMWithFeedbackCycle` component must be called within the coroutine and checked for cancellation via `ensureActive` (or methods alike).
# Definition of Done
* [ ] Reduce the `CustomProgressIndicator` interface (rename it) + delete part of the code in `LLMWithFeedbackCycle`, which uses the state-related indicator functions, e.g., `isCanceled` method (i.e. the indicator should just be a view for the UI).
* [ ] Inside `FeedbackCycleExecutionResult`, delete the `CANCELLED` state.
* [ ] Shrink the `CustomProgressIndicator` interface to only setters of textual content of the underlying UI indicator.
Contributor guide
Research direction
Resolve the dependency on issue #257, then inspect usages of CustomProgressIndicator, LLMWithFeedbackCycle, and FeedbackCycleExecutionResult. Done means the indicator exposes only textual-content setters, state-related calls and the CANCELLED result are removed, and cancellation is handled through coroutine activity checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100