The Record control should use the Stash icon, not record.circle.fill #60
Labels
No labels
area/agent
area/capture
area/editor
area/geo
area/security
area/sync
area/transcription
area/ui
area/vault
area/voice-memos
blocked
milestone/M1
milestone/M2
milestone/M3
milestone/M4
needs-decision
needs-hardware
p0
p1
p2
type/bug
type/enhancement
type/feature
type/idea
type/infrastructure
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Stash/stash-ios#60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The Record control that goes in Control Center, on the lock screen and on the Action Button currently draws SF Symbol
record.circle.fill. It should draw the Stash icon instead, so the control is recognisably Stash at a glance rather than a generic record button among other apps' record buttons.Where it is
StashWidgets/StartRecordingControl.swift:29What makes this more than a one-line change
There is no Stash symbol asset in the repo today.
Stash/Assets.xcassetsholdsAppIcon.appiconset,AccentColor.colorsetand nothing else — no.symbolset, no SVG. The app icon artwork is not usable here: controls render their icon as a template, monochrome, tinted by the system and masked to the control's shape. A full-colour app icon will come out as a silhouette or not render at all.So this needs a single-colour, template-rendered glyph derived from the Stash mark, produced as an SF Symbol (
.symbolset, an SVG on Apple's symbol template) rather than a bitmap. Rendering it at control size is the test — Control Center draws small, and detail that survives on the home screen may not survive here.The widget target has no asset catalog.
project.ymlgivesStashWidgetstwo source paths,StashWidgetsandStash/Activity. Whatever catalog the symbol lands in has to be compiled into the extension, not just the app — the control renders inside the extension and cannot reach the app's bundle. Either add the catalog to the widget target's sources or put the symbol in a path both targets already compile.Once it exists, the call site becomes:
Acceptance
Not in scope
The Live Activity's own symbols (
RecordingLiveActivity.swift) and the in-app record button. Those read correctly as state indicators rather than as app identity, and changing them is a separate call.Decided: the glyph is the moustache alone. Wes, 2026-08-11 — "if we just used the mustache glyph for this, it would be sufficient."
That settles the design half of this and shrinks the issue. The app icon (
Stash/Assets.xcassets/AppIcon.appiconset/icon-1024.png) is a white moustache above a white waveform on purple. The moustache is already a flat, closed, single-colour silhouette, which is exactly what a template-rendered symbol has to be — so this is a trace, not a design exercise.The waveform is dropped, deliberately. Its bars are thin at 1024px and Control Center draws far smaller; they would break up or disappear. The moustache alone carries the identity and it is the half that survives the size.
Revised work:
StashMark.symbolseton Apple's SF Symbol template, single weight is fine to start.StashWidgetstarget — the original constraint stands, the extension cannot reach the app bundle. Seeproject.yml;StashWidgetssources areStashWidgetsandStash/Activitytoday.Label("Record", image: "StashMark")atStartRecordingControl.swift:29.The acceptance criteria in the description are unchanged, and the legibility one is now the only real risk: the moustache's tapering tips are its thinnest feature, and that is what to check at the smallest Control Center size.