Skip to content

feat: port FillerWordFilter and ContributionMilestoneService from macOS - #8

Draft
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1750809000-backend-core-services-port
Draft

feat: port FillerWordFilter and ContributionMilestoneService from macOS#8
devin-ai-integration[bot] wants to merge 1 commit into
mainfrom
devin/1750809000-backend-core-services-port

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 25, 2026

Copy link
Copy Markdown

Summary

Ports two backend services from the macOS MuesliNativeApp into the Windows codebase:

FillerWordFilter

Removes verbal disfluencies from ASR output before custom word matching and post-processing:

  • Phase 1: case-insensitive removal of multi-word filler phrases ("you know,", "i mean,", "sort of", "kind of")
  • Phase 2: single filler word removal (uh, um, er, hmm, like,, etc.)
  • Collapses whitespace and re-capitalizes sentence starts after removal

Wired into both pipelines (dictation + meeting) after DictionaryCorrectionService.Apply() and before PostProcessIfEnabledAsync(), gated behind FillerWordFilterEnabled.

ContributionMilestoneService

Tracks usage milestones and prompts users to support the project:

  • Dictation words: every 1,000 words
  • Meetings: every 25 meetings
  • Shows dialog with "Star on GitHub" / "Buy me a coffee" actions
  • Milestone state persisted via MuesliSettings; prompts dismissed per-launch

Settings additions

FillerWordFilterEnabled, GitHubStarClicked, BuyMeCoffeeClicked,
NextDictationWordMilestone, NextMeetingMilestone

All serialized to windows-settings.json and loaded on startup.

Link to Devin session: https://app.devin.ai/sessions/58270d7c1a3e4de8806e2b3f995f3e0b
Requested by: @pHequals7


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

Add two new backend services ported from the macOS MuesliNativeApp:

1. FillerWordFilter: Removes verbal disfluencies (uh, um, er, hmm,
   etc.) and filler phrases (you know, i mean, sort of, kind of) from
   transcribed text. Applied after dictionary correction and before
   post-processing in both dictation and meeting pipelines. Gated behind
   a new FillerWordFilterEnabled setting toggle.

2. ContributionMilestoneService: Tracks usage milestones (every 1,000
   dictated words, every 25 meetings) and shows prompts encouraging
   users to star the GitHub repo or buy a coffee. Milestone state is
   persisted across sessions; prompts are dismissed per-launch.

Settings additions: FillerWordFilterEnabled, GitHubStarClicked,
BuyMeCoffeeClicked, NextDictationWordMilestone, NextMeetingMilestone.
@pHequals7 pHequals7 self-assigned this Jun 25, 2026
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

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