Skip to content

feat(mac): Shortcuts and Siri actions - #57

Merged
502Proxy merged 6 commits into
mainfrom
feat/app-intents
Oct 28, 2026
Merged

502Proxy merged 6 commits into
mainfrom
feat/app-intents

Conversation

@502Proxy

Copy link
Copy Markdown
Owner

Closes #47

What changes and why?

Shortcuts and Siri actions. One commit per change:

  1. Use cases: NextLectureUseCase and DueCardsUseCase with German answer texts – shared later by widgets
  2. Development language German: developmentRegion = de and CFBundleDevelopmentRegion, so Siri/Shortcuts match the German phrases (the UI is German throughout)
  3. App Intents: NextLectureIntent, DueCardsIntent, OpenFlashcardsIntent (parameter ModuleEntity with an EntityStringQuery), StudyAppShortcuts with German phrases. Intents get their services via AppDependencyManager/@Dependency – no global singleton.
  4. Docs: FEATURES.md

The study timer action („Lerntimer starten“) needs the timer from #55; I add it in the follow-up after #55 is merged.

Tests

  • QuickInfoTests (next lecture skips archived/unlinked, texts for running/upcoming/none, due cards per module)
  • 166 tests pass locally (Linux subset); SwiftLint clean

Checklist

  • Linked issue, labels and milestone set
  • New logic has tests
  • Tried in the Shortcuts app and with Siri (German)
  • Release notes: collected in the 1.12 release PR

Generated by Claude Code

NextLectureUseCase finds the running or next lecture of an active
module and phrases it („Als Nächstes: Analysis I, heute um 10:15 in
HS 1.“); DueCardsUseCase counts due flashcards per module. Both are
plain use cases so Shortcuts, Siri and later widgets share them.

Refs #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
The interface is German throughout; declaring it lets Siri and the
Shortcuts app match the German App Shortcut phrases and lets system
components such as Sparkle pick German.

Refs #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
App Intents for „Nächste Vorlesung“, „Fällige Karteikarten“ and
„Karteikarten lernen“ (with a module entity), plus App Shortcuts with
German phrases. Intents get StudyAppIntentServices through
AppDependencyManager; the module list for Siri is refreshed on launch.

Refs #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
Refs #47

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
@502Proxy 502Proxy added this to the 1.12 milestone Oct 28, 2026 — with Claude
@502Proxy 502Proxy added enhancement New feature or improvement area: mac Menu bar, widgets, Shortcuts, Spotlight labels Oct 28, 2026 — with Claude
@502Proxy
502Proxy merged commit 311de99 into main Oct 28, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: mac Menu bar, widgets, Shortcuts, Spotlight enhancement New feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(mac): Shortcuts and Siri actions

2 participants