uttrflow / uttrflow/uttrflow-swift

The main window has no Clipboard page and no Suggestions page: two of the three things the app does are not in the sidebar

Open
#131 1 comment 0 reactions 0 assignees View on GitHub
area:ai-suggestions area:clipboard enhancement help wanted P2
Dominant language
Swift
Stars
4
Forks
17
Avg merge
3h 32m
Merged PRs (30d)
277

Description

> Needs a design pass before code. `Design/` has 94 artboards and not one for either page
> proposed here, and `MainTab` is documented as "the sidebar's pages, in the approved
> design's order" (`Sources/UttrflowUX/Destination.swift:19`) — so the order is a decision
> somebody made, not an accident to be edited past. Read this as the gap being recorded,
> not as a licence to reshuffle the sidebar.

### The gap

The app ships three things a person turns on and uses — the clipboard, dictation, and
tab-to-complete. The main window has a page for one of them.

`SidebarPresenter.order` (`Sources/UttrflowUX/SidebarPresentation.swift:132`) is eleven flat
rows:

```
Home · Dictation · History · Dictionary · Corrections · Insights · Snippets · Style ·
Diagnostics · Settings · Account
```

Six of those — Dictation, History, Dictionary, Corrections, Insights, Style — are dictation's
own concerns. `MainTab` (`Sources/UttrflowUX/Destination.swift:20`) has no `clipboard` case
and no `suggestions` case, and grepping either word against `Destination.swift` and
`SidebarPresentation.swift` returns nothing.

So:

- **The clipboard has no page at all.** It exists only as the ⇧⌘V panel. Everything a person
might want to do deliberately rather than in a hurry — look through what was captured,
manage folders, review what has been masked, understand the retention window — has nowhere
to happen. The README calls the app "a native macOS clipboard manager"; the window that
opens at launch has no clipboard in it.
- **Tab-to-complete has no page.** It exists as one Settings tab
(`SettingsTab.suggestions`) and the inline panel. There is nowhere to see what it has
learned, per application, or to judge whether it is working — which matters more than
usual, because when the model is not loaded the feature is silently indistinguishable from
a feature with nothing to say (#124).

### Why it is worth recording rather than leaving

Two of the three things the app does are reachable only by knowing a keyboard shortcut or by
opening Settings. A person who opens the app and reads the sidebar top to bottom will
conclude it is a dictation app with some extra pages, which is not what it is.

The flat eleven-row list is also at the limit of what reads as a list rather than a menu, so
"add two more rows" is probably the wrong answer. Grouping the existing rows under what they
belong to is likely the real shape of this.

### What a change here would have to settle

- Whether the sidebar gains sections, and if so what the dictation-owned rows collapse into.
- What a Clipboard page contains that the ⇧⌘V panel does not, and whether it duplicates the
panel's behaviour or deliberately differs from it.
- What a Suggestions page contains beyond what the Settings tab already shows, and whether
the Settings tab then goes away or stays.
- Artboards in `Design/` for both, light and dark, in the same set as the existing pages.

### Sequencing

The Suggestions page should not ship before #124. A page whose whole job is to show what the
feature has learned is worse than nothing while the model is silently absent.

Contributor guide

Open the contributing guide

Research direction

Start by reading Sources/UttrflowUX/Destination.swift:19-20 and Sources/UttrflowUX/SidebarPresentation.swift:132, then review the existing artboards in Design/. Define the sidebar structure and the distinct contents of Clipboard and Suggestions, add matching light and dark artboards, and defer Suggestions until #124 is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
design, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.