uttrflow / uttrflow/uttrflow-swift
Test right-to-left, Hindi and input-method typing in one app and report a compatibility row
- Dominant language
- Swift
- Stars
- 4
- Forks
- 17
- Avg merge
- 3h 32m
- Merged PRs (30d)
- 277
Description
## What this is
One row for the compatibility matrix (#599), measured in any native text editor window, with a right-to-left, Devanagari or composing input source. Uttrflow's dictation, clipboard paste and AI suggestions all depend on how other apps publish text, and the only way to know what a given app does is to try it. No code changes are needed, just one app you already use.
Test with an Arabic or Hebrew input source (where is the AI suggestion ghost drawn relative to the caret? #616), a Devanagari layout, and one composing input method (`uttrflow-dev probe ime` while composing). Also press ⌃⌘Space to insert an emoji from the picker and note whether a ghost is drawn over the picker. Report the keyboard layout for each run, and whether paste works on a Dvorak layout if you use one (#600).
Please say in a comment which app you are taking, so two people do not test the same one. Another app of the same class is a separate row, and welcome on this issue too.
## Where to start
- **Read first:** `CONTRIBUTING.md` for building, and the compatibility matrix issue (MATRIX) for the table you are filling.
- **Build the tool:** `swift build -c release --product uttrflow-dev`.
- **Grant Accessibility:** System Settings › Privacy & Security › Accessibility, add `.build/release/uttrflow-dev`. Accessibility is granted per binary, so the app's own grant does not cover it.
- **Test data:** use invented text only, such as `the quick brown fox` or `support@example.com`. No real names, addresses or messages.
## What to run, in one field of one app
1. Click into the field before each countdown ends.
2. `uttrflow-dev probe surface --seconds 30`: note whether a focused field, value, caret rectangle and text style are reported.
3. `uttrflow-dev insert --via accessibility "one two three four five six seven"`: did it land, get refused, report success and change nothing, or land a moment later?
4. `uttrflow-dev insert --via paste "one two three four five six seven"`: did it land? What did the tool print about confirmation?
5. `uttrflow-dev insert "one two three four five six seven"` (the full route): did the words appear once, twice, or not at all?
6. If you use AI suggestions: accept one suggestion and describe exactly what arrived and where the ghost was drawn.
7. `uttrflow-dev probe ime` while composing with an input method, if you use one.
## What to report
Paste this filled in as a comment, or open a PR adding the row to `Docs/compatibility.md`:
```
App / version:
macOS version / Mac:
Keyboard layout / input source:
Field tested:
Focused field published:
Accessibility write:
Paste:
Paste confirmation:
Full route result:
Caret rectangle:
Value and selection readable:
Marked text published:
Typed completion:
Notes:
```
**Size:** about an hour for one app. One app per comment is plenty, and partial rows are welcome; leave a cell blank rather than guessing.
`make verify` only matters if you open a PR against the doc.
Contributor guide
Research direction
Read CONTRIBUTING.md and the compatibility matrix issue first, then build with `swift build -c release --product uttrflow-dev` and grant Accessibility to the binary. Test one app using the listed probe and insert commands, then report the completed fields in a comment or add a row to Docs/compatibility.md; run `make verify` only for a documentation PR.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, swift
- Domain
- accessibility, documentation, testing
- Issue type
- Documentation
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 90/100