Repository navigation
v0.5.2
Important
Upgrade notes. v0.5.2 adds no numbered database migration. Existing
databases remain on schema 032, and fresh installations continue using
baseline/032_v0.5.0.sql. An upgrade from v0.5.1 can start normally. When
upgrading directly from a release older than v0.5.0, run the complete
Sync work metadata workflow after startup so existing works receive the
current multilingual metadata projection.
Kikoto v0.5.2 improves media compatibility, translated-work circle
projections, responsive browsing, initial load performance, and release
validation.
Library And Work Detail
- Library, Favorites, Circles, and Voice Actors keep their existing results
visible during refreshes and show a non-blocking status indicator instead of
shifting the browse layout. - Mobile library search can be hidden and reopened without losing its query or
browse scope. Selection controls remain anchored inside the usable viewport,
support keyboard navigation, and do not resize or scroll-lock fixed mobile
surfaces. - Catalog-only work cards now receive a stable empty source-tag collection,
keeping source badges predictable when no media location is available.
Sources And Remote Fetch
- Circle catalog discovery now projects translated editions to the circle that
owns the canonical origin work while retaining the source party and provider
provenance. Translation-only parties are filtered from ordinary catalog
actions, and custom circle workflows use the same visibility boundary.
Metadata And Scans
- Translation classification uses persisted edition metadata and origin maker
relationships rather than a hard-coded provider party. Origin circles can
therefore receive translated catalog works without creating a second work
identity.
Playback
- Local and cached media is inspected with FFprobe. Browser-compatible formats
stream directly with range support; other supported audio and video files are
converted by FFmpeg in real time to an MP3 or fragmented H.264/AAC stream,
without creating a playback derivative under/cache. - The player reports browser audio and video capabilities when selecting a
stream and retries local or cached playback through realtime conversion when
native playback cannot open the source. Converted streams are bounded and do
not provide random range seeking. - Tracked remote and remote-preview media is proxied through the configured
source policy without exposing the upstream URL. Range and conditional
request headers are forwarded, while remote playback remains separate from
both FFmpeg conversion and the optional remote-source cache workflow. - The production image includes
ffmpegandffprobe; other deployments must
provide both binaries on the backend processPATH.
Operations And Reliability
- The application icon is now consistent across the web app, PWA assets,
Android resources, and project documentation. - Canonical validation now includes cross-platform Go formatting and pinned
Go lint checks. Android dependency verification also covers IDE-resolved
source and sample artifacts, while CI formatting and player E2E checks are
robust to Windows line endings and stream query parameters. - Locale resources, the command palette, and workflow launch dialog are loaded
on demand so the initial frontend bundle contains less inactive code. - Frontend class-name helpers now apply Tailwind conflict merging only at
component override boundaries, reducing unnecessary styling work while
preserving caller overrides.
Known Issue
- Android 10 APK builds remain affected by the upstream Capacitor keyboard
insets issue. Browser use on Android 10 is not affected.