Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Download tar.gz
TypeScript 5.7+ makes Uint8Array generic over its buffer type.
Pass .buffer as ArrayBuffer to pushManager.subscribe() to fix
the type incompatibility with BufferSource.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The fixed-position feedback banners had no safe area padding, causing the
Continue button to be obscured by the home indicator on modern phones.
Added viewport-fit=cover and safe-area-inset-bottom padding to both banners.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When a new exercise appears, automatically plays TTS audio if the
exercise has promptAudio enabled or is a speak exercise. This matches
the Duolingo-style experience where pronunciation is heard immediately.
Implements issue 3mgztgjxd3c22
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>