uttrflow / uttrflow/uttrflow-swift

AI suggestions cannot be turned off for an application until something has been learned there

Open
#544 0 comments 0 reactions 0 assignees View on GitHub
area:ai-suggestions enhancement P2
Dominant language
Swift
Stars
4
Forks
17
Avg merge
4h 27m
Merged PRs (30d)
286

Description

## What happens

The AI suggestions settings can only turn an application off once Uttrflow has already learned something there (or it is one of the four shipped editors).

- `SettingsPresenter.applicationGroup` lists `preferences.knownApplications(learnedIn: personalisation.applicationsWithSuggestions)` (`Sources/UttrflowUX/SettingsPresenter.swift:450-459`).
- `SuggestionPreferences.knownApplications` is the shipped editors, plus apps already turned off or on, plus apps with a chosen accept key, plus apps the corpus has lines from (`Sources/UttrflowPredict/SuggestionPreferences.swift:139-155`).
- Nothing on the screen adds an application.

Meanwhile, in any application not listed, suggestions run from the first keystroke, the model generates from on-screen text (`SuggestionCoordinator.generate`), and capture stores committed lines once consent is recorded automatically (`SuggestionCoordinator.swift:577-579`). The only in-place controls are ⎋⎋ (this field, until focus leaves) and ⌥⎋ (everything).

## Why it matters

People want suggestions off in some places before anything happens there: a banking or health site, a work chat, a password manager's non-secure fields, a game. Today they must first let the app be captured, then find it in Settings, then press Forget. There is also no per-site control inside a browser, where one browser is "one application" for every site.

## Acceptance criteria

- The Applications group has an "Add application…" control (running apps and an Applications-folder picker) that adds an app in the off state.
- Optionally, the menu bar or the ⎋ ladder offers "Turn off in ", which persists like the Settings switch.
- `Tests/UttrflowUXTests` cover the new row and change. Adding an app never records capture consent for it.

Contributor guide

Open the contributing guide

Research direction

Start with SettingsPresenter.applicationGroup in Sources/UttrflowUX/SettingsPresenter.swift and SuggestionPreferences.knownApplications in Sources/UttrflowPredict/SuggestionPreferences.swift to trace how applications are listed and persisted. Review SuggestionCoordinator.generate and its capture-consent path, then run Tests/UttrflowUXTests. Done means an application can be added in the off state, the new row and state change are covered, and adding it does not record capture consent.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
desktop, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.