diff --git a/1000-hours/package.json b/1000-hours/package.json index 3d57ac53..c060bd96 100644 --- a/1000-hours/package.json +++ b/1000-hours/package.json @@ -8,7 +8,7 @@ "markdown-it-sub": "^2.0.0", "markdown-it-sup": "^2.0.0", "mermaid": "^10.9.1", - "sass": "^1.77.5", + "sass": "^1.77.6", "vitepress": "^1.2.3", "vitepress-plugin-mermaid": "^2.0.16", "vue": "^3.4.29" diff --git a/enjoy/package.json b/enjoy/package.json index 3d136115..33d15ce7 100644 --- a/enjoy/package.json +++ b/enjoy/package.json @@ -52,17 +52,17 @@ "@types/intl-tel-input": "^18.1.4", "@types/lodash": "^4.17.5", "@types/mark.js": "^8.11.12", - "@types/node": "^20.14.2", + "@types/node": "^20.14.6", "@types/rails__actioncable": "^6.1.10", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/validator": "^13.12.0", "@types/wavesurfer.js": "^6.0.12", - "@typescript-eslint/eslint-plugin": "^7.13.0", - "@typescript-eslint/parser": "^7.13.0", + "@typescript-eslint/eslint-plugin": "^7.13.1", + "@typescript-eslint/parser": "^7.13.1", "@vitejs/plugin-react": "^4.3.1", "autoprefixer": "^10.4.19", - "electron": "^31.0.1", + "electron": "^31.0.2", "electron-playwright-helpers": "^1.7.1", "eslint": "^9.5.0", "eslint-import-resolver-typescript": "^3.6.1", @@ -79,41 +79,41 @@ "typescript": "^5.4.5", "vite": "^5.3.1", "vite-plugin-static-copy": "^1.0.5", - "zx": "^8.1.2" + "zx": "^8.1.3" }, "dependencies": { "@andrkrn/ffprobe-static": "^5.2.0", "@electron-forge/publisher-s3": "^7.4.0", "@hookform/resolvers": "^3.6.0", - "@langchain/community": "^0.2.11", - "@langchain/google-genai": "^0.0.17", + "@langchain/community": "^0.2.12", + "@langchain/google-genai": "^0.0.20", "@mozilla/readability": "^0.5.0", - "@radix-ui/react-accordion": "^1.1.2", - "@radix-ui/react-alert-dialog": "^1.0.5", - "@radix-ui/react-aspect-ratio": "^1.0.3", - "@radix-ui/react-avatar": "^1.0.4", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-hover-card": "^1.0.7", + "@radix-ui/react-accordion": "^1.2.0", + "@radix-ui/react-alert-dialog": "^1.1.0", + "@radix-ui/react-aspect-ratio": "^1.1.0", + "@radix-ui/react-avatar": "^1.1.0", + "@radix-ui/react-dropdown-menu": "^2.1.0", + "@radix-ui/react-hover-card": "^1.1.0", "@radix-ui/react-icons": "^1.3.0", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-menubar": "^1.0.4", - "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-progress": "^1.0.3", - "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-scroll-area": "^1.0.5", - "@radix-ui/react-select": "^2.0.0", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slider": "^1.1.2", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-switch": "^1.0.3", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-toast": "^1.1.5", - "@radix-ui/react-toggle": "^1.0.3", - "@radix-ui/react-tooltip": "^1.0.7", - "@rails/actioncable": "7.1.3", + "@radix-ui/react-label": "^2.1.0", + "@radix-ui/react-menubar": "^1.1.0", + "@radix-ui/react-popover": "^1.1.0", + "@radix-ui/react-progress": "^1.1.0", + "@radix-ui/react-radio-group": "^1.2.0", + "@radix-ui/react-scroll-area": "^1.1.0", + "@radix-ui/react-select": "^2.1.0", + "@radix-ui/react-separator": "^1.1.0", + "@radix-ui/react-slider": "^1.2.0", + "@radix-ui/react-slot": "^1.1.0", + "@radix-ui/react-switch": "^1.1.0", + "@radix-ui/react-tabs": "^1.1.0", + "@radix-ui/react-toast": "^1.2.0", + "@radix-ui/react-toggle": "^1.1.0", + "@radix-ui/react-tooltip": "^1.1.0", + "@rails/actioncable": "7.1.3-4", "@sentry/electron": "^5.1.0", "@uidotdev/usehooks": "^2.4.1", - "@vidstack/react": "^1.11.22", + "@vidstack/react": "^1.11.23", "ahoy.js": "^0.4.4", "autosize": "^6.0.1", "axios": "^1.7.2", @@ -142,7 +142,7 @@ "html-to-text": "^9.0.5", "https-proxy-agent": "^7.0.4", "i18next": "^23.11.5", - "intl-tel-input": "^23.0.12", + "intl-tel-input": "^23.1.0", "js-md5": "^0.8.3", "langchain": "^0.2.5", "lodash": "^4.17.21", @@ -150,7 +150,7 @@ "mark.js": "^8.11.1", "microsoft-cognitiveservices-speech-sdk": "^1.38.0", "next-themes": "^0.3.0", - "openai": "^4.51.0", + "openai": "^4.52.0", "pitchfinder": "^2.3.2", "postcss": "^8.4.38", "proxy-agent": "^6.4.0", @@ -174,6 +174,6 @@ "update-electron-app": "^3.0.0", "wavesurfer.js": "^7.7.15", "zod": "^3.23.8", - "zod-to-json-schema": "^3.23.0" + "zod-to-json-schema": "^3.23.1" } } diff --git a/enjoy/src/main/db/handlers/recordings-handler.ts b/enjoy/src/main/db/handlers/recordings-handler.ts index e5e792e9..e3d2e985 100644 --- a/enjoy/src/main/db/handlers/recordings-handler.ts +++ b/enjoy/src/main/db/handlers/recordings-handler.ts @@ -174,7 +174,7 @@ class RecordingsHandler { throw new Error(t("models.recording.notFound")); } - const assessment = await recording.assess(language) + const assessment = await recording.assess(language); return assessment.toJSON(); } @@ -307,6 +307,20 @@ class RecordingsHandler { targetId, targetType, }, + include: [ + { + model: PronunciationAssessment, + attributes: [ + [ + Sequelize.fn( + "MAX", + Sequelize.col("pronunciation_score") + ), + "pronunciationScore", + ], + ], + }, + ], attributes: [ "targetId", "targetType", diff --git a/enjoy/src/renderer/app.tsx b/enjoy/src/renderer/app.tsx index fa7e668d..5b0788a0 100644 --- a/enjoy/src/renderer/app.tsx +++ b/enjoy/src/renderer/app.tsx @@ -39,7 +39,7 @@ function App() { - + diff --git a/enjoy/src/renderer/components/medias/media-current-recording.tsx b/enjoy/src/renderer/components/medias/media-current-recording.tsx index 9872430c..917ea7d8 100644 --- a/enjoy/src/renderer/components/medias/media-current-recording.tsx +++ b/enjoy/src/renderer/components/medias/media-current-recording.tsx @@ -28,6 +28,7 @@ import { SheetContent, SheetHeader, SheetClose, + SheetTitle, } from "@renderer/components/ui"; import { GitCompareIcon, @@ -500,6 +501,34 @@ export const MediaCurrentRecording = () => { setIsRecording={setIsRecording} /> + + - -