JetBrains-Research / JetBrains-Research/TestSpark

Reducing of `CustomProgressIndicator` interface to a view of textual content of a UI indicator

Open
#258 0 comments 0 reactions 0 assignees View on GitHub
new feature refactoring
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.