Skip to content

Add passive gesture data gathering#2397

Open
Helium314 wants to merge 78 commits intomainfrom
passive_gathering
Open

Add passive gesture data gathering#2397
Helium314 wants to merge 78 commits intomainfrom
passive_gathering

Conversation

@Helium314
Copy link
Copy Markdown
Collaborator

@theeclecticdyslexic it's mostly working and done.
Passive gathering will be used whenever isPassiveGatheringUsed returns true, the same result also determines whether the indicator icon is shown. Indicator is a red icon at bottom left, which is a ring or a circle, depending on whether data is cached.
Cache is written when closing the keyboard or switching input fields (and maybe on some more occasions).
Gathering is stopped and cache is cleared when entering incognito mode, or disabling passive gathering via the toolbar key. Toolbar key is available only after having passive gathering enabled at least once. Long-press disables gathering for 5 min.

There are settings to decide in which apps passive gathering is enabled, and which words are excluded.
The review screen allows filtering, sorting, selecting, deleting and sharing data.

What's missing / could use improvement:

  • icon choice / color / placement
  • not properly working in combination with inline emoji search
  • I don't like the 3 switch layout in review screen
  • not sure what info to show when tapping on a word in review screen
  • info text about passive gathering is completely missing (planned contents in a todo in PassiveGatheringSettings
  • testing
  • some more todos

@Helium314
Copy link
Copy Markdown
Collaborator Author

@theeclecticdyslexic passive gathering should be mostly ok now. What's left:

  • the info text about passive gathering
  • testing
  • remove some logging
  • maybe update the passive gathering indicator
  • and some questions for you:
    • When the same word is suggested multiple times (from different dictionaries), only the first suggestion is kept. Is this ok?
    • When the user changes / adds / removes text with the cursor inside a word, all matching words are removed from passive cache. This might be a little much, but tracking such changes is quite complex and probably fragile. Are you ok with removing these words?
    • When the user does some input with a selection active, I'm not sure what to do. The selection could be a word, then we can just remove it. When selecting multiple words, this should work as well. But when parts of a word are selected, I'm not sure what should be done... Any ideas? Maybe it's possible to complete partially selected words, but it's not straightforward.
    • When updating the word exclusion list, gesture data with that target / first suggestion word are deleted. But the excluded words will remain in the gesture data if it's a suggestion. My current approach is removing the suggestions when sharing the data (including update of the gesture hash). Is this ok?

@Helium314 Helium314 marked this pull request as ready for review March 29, 2026 07:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant