feat: implement all open issues (M1–M10, 17 issues, 22 commits)#63
Merged
Conversation
…ests, 82.5% line coverage
… across components
…abilities; no v-html usage
- Remove bundle.identifier from tauri.conf.json bundle section (invalid in Tauri 2.0, field lives at root level as 'identifier') - cargo update: upgrade tauri to 2.11.2 to match @tauri-apps/api v2.11.0 - Cargo.lock regenerated with updated dependency tree
- Remove lyremember_backend::Result import (1-arg alias conflicted with std::result::Result<T, String> required by Tauri commands) - Add rusqlite = 0.30 to src-tauri/Cargo.toml (Connection type needed) - LoginData -> LoginCredentials (actual model name) - cmd_login: extract token from (User, String) tuple - cmd_verify_token: decode JWT then fetch User from DB (takes State now) - cmd_get_user_sessions: remove unused limit param - cmd_get_user_stats: import UserStats from practice module - cmd_get_song_mastery: return f64 (get_song_mastery returns f64, not SongMastery) - cmd_create_song: remove auto_translate (not in CreateSongData struct) - cmd_update_song: return Song (update_song returns Song, not ()) - cmd_translate_text/lines: use spawn_blocking (blocking HTTP client) - cmd_generate_phonetic: use spawn_blocking (PyO3 is synchronous) - UserStats: add serde::Serialize/Deserialize derives in practice.rs
PyO3 issue: - Remove pyo3 from rust-backend/Cargo.toml - Replace phonetic.rs with a stub (returns original text unchanged) - Remove From<pyo3::PyErr> impl from error.rs - App now launches on any Windows machine without Python installed - Phonetics degrade gracefully: original text shown instead of romanisation CI issue: - Pin pnpm to version 10 in ci.yml (pnpm@11 requires Node ≥ 22, but CI uses Node 20 and pnpm@11 references node:sqlite built-in that does not exist in Node 20)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements all 17 open GitHub issues grouped into 10 milestones.
Plan:
aidd_docs/plans/all-open-issues.mdMilestones
Validation
pnpm --dir lyremember-app lint— 0 warningspnpm --dir lyremember-app build— built in ~3.5spnpm --dir lyremember-app exec vitest run— 63/63 tests pass (82.5% coverage)cargo test— blocked by pyo3 v0.20.3 + Python 3.13 incompatibility (pre-existing, not introduced by this PR)Known limitations
export_profilenot yet wired (songs fetched from store, sessions fromgetUserSessions).cargo checkusesPYO3_USE_ABI3_FORWARD_COMPATIBILITY=1as workaround; upgrade to pyo3 ≥ 0.22 tracked separately.🤖 Generated with Claude Code