pinchord-5 Emit Invalid Strokes
Pinchord · pinchord.git · Tickets · Changelog
A Pinchord Ticket (Completed):
Ticket · History
- August 8, 2026 Add all the things (title: Emit Invalid Strokes)
Changes
@@ -0,0 +1,39 @@+---+title: Emit Invalid Strokes+permalink: pinchord/emit-invalid-strokes/+ticket: closed+---++*A [[pinchord-tickets|Pinchord Ticket]]:*++*Closed June 9, 2026, In [[pinchord-v28]]*++Any [[Steno Glossary#Stroke|stroke]] that contains a [[Steno Glossary#Chord|chord]] that is not in the [[Steno Glossary#Dictionary|dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#Undo Stack|undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo.++Currently, this means that you have to react to whether a stroke actually translated to anything before you can undo it, even if you realized in the middle of the stroke that it was invalid.++## Implementation++This must be solved independently for Plover and Javelin, and will be shipped at the same time to keep parity.++### Javelin++There is no way for a "fail" a javelin orthospelling++The reason this exists is that _all_ Pinchord strokes are consumed by the Javelin orthospelling dictionary, thanks to this:+```yaml+starters:+- {stroke: '', definition: '{}', mask: ''}+```++This means that an invalid stroke will still translate to `{}`.++To solve this, I think the best way would probably be to map all keys to _something_, so that _something_ always gets emitted.++Probably the chord that is invalid, and the rest can translate properly?++### Plover++I haven't looked at how to solve this with Plover, but Plover does have an easy way to fail lookup in a Python dictionary by raising an error.++If the solution is fully in the Javelin orthospelling dictionary then the same logic should work for the python dictionary object as well. - October 20, 2026 Change formatting
Changes
@@ -6,7 +6,7 @@ *A [[pinchord-tickets|Pinchord Ticket]]:* -*Closed June 9, 2026, In [[pinchord-v28]]*+*Closed June 9, 2026, In [[pinchord-v28|v28]]* Any [[Steno Glossary#Stroke|stroke]] that contains a [[Steno Glossary#Chord|chord]] that is not in the [[Steno Glossary#Dictionary|dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#Undo Stack|undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo. - October 21, 2026 Update the rest of the ticket pages to use numbers (renamed from pinchord-emit-invalid-strokes.md, status: none → closed, type: none → bug, resolution: none → completed)
Changes
@@ -1,12 +1,13 @@ --- title: Emit Invalid Strokes-permalink: pinchord/emit-invalid-strokes/-ticket: closed+status: closed+type: bug+resolution: completed+redirect_from:+ - pinchord/emit-invalid-strokes/ --- -*A [[pinchord-tickets|Pinchord Ticket]]:*--*Closed June 9, 2026, In [[pinchord-v28|v28]]*+*Closed June 9, 2026, In [[pinchord@1|v28]]* Any [[Steno Glossary#Stroke|stroke]] that contains a [[Steno Glossary#Chord|chord]] that is not in the [[Steno Glossary#Dictionary|dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#Undo Stack|undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo. - October 23, 2026 Remove trailing slashes
Changes
@@ -4,7 +4,7 @@ type: bug resolution: completed redirect_from:- - pinchord/emit-invalid-strokes/+ - pinchord/emit-invalid-strokes --- *Closed June 9, 2026, In [[pinchord@1|v28]]* - October 24, 2026 Rename tickets to <project>-<number> <title> (renamed from pinchord@5.md, title: Emit Invalid Strokes → none)
Changes
@@ -1,5 +1,4 @@ ----title: Emit Invalid Strokes status: closed type: bug resolution: completed@@ -7,7 +6,7 @@ - pinchord/emit-invalid-strokes --- -*Closed June 9, 2026, In [[pinchord@1|v28]]*+*Closed June 9, 2026, In [[pinchord-1 v28]]* Any [[Steno Glossary#Stroke|stroke]] that contains a [[Steno Glossary#Chord|chord]] that is not in the [[Steno Glossary#Dictionary|dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#Undo Stack|undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo. - October 24, 2026 Replace ticket status, category and resolution with ticket (status: closed → none, resolution: completed → none)
Changes
@@ -1,7 +1,6 @@ ----status: closed+ticket: completed type: bug-resolution: completed redirect_from: - pinchord/emit-invalid-strokes --- - October 24, 2026 Edited
Changes
@@ -7,7 +7,7 @@ *Closed June 9, 2026, In [[pinchord-1 v28]]* -Any [[Steno Glossary#Stroke|stroke]] that contains a [[Steno Glossary#Chord|chord]] that is not in the [[Steno Glossary#Dictionary|dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#Undo Stack|undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo.+Any [[Steno Glossary#stroke]] that contains a [[Steno Glossary#chord]] that is not in the [[Steno Glossary#dictionary]] will [[Steno Glossary#Translation|translate]] to `{}`, which is not added to the [[Steno Glossary#undo stack]]. This means that undoing after some strokes will actually delete the stroke _before_ the one you meant to undo. Currently, this means that you have to react to whether a stroke actually translated to anything before you can undo it, even if you realized in the middle of the stroke that it was invalid.