Conversation
…iggering in F3 letterLauncher
…ponents (CustomIconButton and CustomTooltip) inside the component function. This causes these component types to be re-created on every render, leading to flickering tooltips and potential performance issues.
…et to 100 and fuel validation set to proper 80%
IssueId #0000 fix: Discovery redirect issue fix, letterLauncher timer set to 100 and fuel validation set to proper 80%
…ue fix and add lesson issue fix from A1
IssueId #0000 fix : LetterLauncher and Memory challnge create api issue fix and add lesson issue fix from A1
Issue #0000 fix: not able to complete M1 p2
Issue #0000 fix: M2 - P2 and P4 as well showing only 5 contents.
IssueId #0000 fix: On completion M1 S1 rendering some other mechanics.
IssueId #253602 fix : fixed the addLesson milestone issue
Feat: In AddLesson api subMilestone added for A1,A2,A3
…ving to P7 instead of P6.
IssueId #253617 fix : F3- After completing Apply1 user is directly moving to P7 instead of P6.
Issue #0000 fix: native language symbol issue fixes
Removing the unwanted word in telugu
feat: add Kannada Gunithas to Alphabet Chart and improve demo data validation
TaskId #0000 task : 3.0.2 requested changes
fix: sync AlphabetChartPreview demo order with AlphabetChart for te/kn
Task #255450 - Kannada M1 to M3 Content
IssueId #0000 Fix:Jira issue Fix 54,60,61
Issue #0000 fix: Duplicate Audio Trigger for First Letter in F3 Levels
IssueId #0000 fix : Apply level issue fix for F1,F2 and F3 pass
TaskId #255626,#255625,#255624 fix : Jira issues (ALL-52,43,39) fix
Issue #ALL-66 fix: In lab2 guest login is been taken to start level B
WalkthroughThis change removes the local Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/all-dev-rig.yml (1)
40-75:⚠️ Potential issue | 🔴 CriticalRemove AWS credentials from React build-time env immediately.
Line 74 and Line 75 inject AWS keys as
REACT_APP_*; those values are embedded into the client bundle and become publicly accessible.Suggested immediate patch
- REACT_APP_AWS_ACCESS_KEY_ID: ${{ secrets.REACT_APP_AWS_ACCESS_KEY_ID }} - REACT_APP_AWS_SECRET_ACCESS_KEY: ${{ secrets.REACT_APP_AWS_SECRET_ACCESS_KEY }}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/all-dev-rig.yml around lines 40 - 75, The workflow is exporting AWS credentials into the client build via REACT_APP_AWS_ACCESS_KEY_ID and REACT_APP_AWS_SECRET_ACCESS_KEY which will embed them in the frontend bundle; remove these two REACT_APP_* entries from the env block so they are not injected at build-time, and instead move credential usage to a secure server-side runtime (or use a backend proxy/separate deployment-secret that supplies temporary credentials), updating any code that expects process.env.REACT_APP_AWS_* to read from a server endpoint or server-side env rather than from the client bundle.
🧹 Nitpick comments (1)
.gitignore (1)
114-115: Remove duplicate env ignore entries.
Line 114andLine 115are redundant becauseLine 15(*.env*) already ignores both, andLine 12already ignores.env. Keeping duplicates makes.gitignoreharder to maintain.Suggested cleanup
build -.env.local -.env🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.gitignore around lines 114 - 115, Remove the duplicate .env entries by deleting the explicit ".env.local" and ".env" lines because the existing ignore patterns ("*.env*" and ".env") already cover them; locate the entries named ".env.local" and ".env" in the .gitignore and remove those two lines so the file only keeps the broader "*.env*" and ".env" patterns for maintainability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@package.json`:
- Around line 111-125: The package.json is missing the TypeScript compiler
package; add "typescript" to package.json (preferably under devDependencies)
alongside the existing "@babel/preset-typescript" entry so the project can
perform actual TypeScript compilation and type-checking, then run your package
manager install to update lockfile; ensure the new dependency is reflected where
the other dev tools (e.g., "eslint", "husky", "@babel/preset-typescript") are
declared so editors/CI pick up TypeScript support.
---
Outside diff comments:
In @.github/workflows/all-dev-rig.yml:
- Around line 40-75: The workflow is exporting AWS credentials into the client
build via REACT_APP_AWS_ACCESS_KEY_ID and REACT_APP_AWS_SECRET_ACCESS_KEY which
will embed them in the frontend bundle; remove these two REACT_APP_* entries
from the env block so they are not injected at build-time, and instead move
credential usage to a secure server-side runtime (or use a backend
proxy/separate deployment-secret that supplies temporary credentials), updating
any code that expects process.env.REACT_APP_AWS_* to read from a server endpoint
or server-side env rather than from the client bundle.
---
Nitpick comments:
In @.gitignore:
- Around line 114-115: Remove the duplicate .env entries by deleting the
explicit ".env.local" and ".env" lines because the existing ignore patterns
("*.env*" and ".env") already cover them; locate the entries named ".env.local"
and ".env" in the .gitignore and remove those two lines so the file only keeps
the broader "*.env*" and ".env" patterns for maintainability.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 36f1c5f5-3ff4-4a9b-9a3d-ac7f8f7d550b
⛔ Files ignored due to path filters (294)
package-lock.jsonis excluded by!**/package-lock.jsonpublic/audio/audio-preview/Alphabet Chart/Chart Icon/en/ChartNarration.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/Chart Icon/kn/ChartNarration.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/Chart Icon/te/ChartNarration.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/alphabetNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/alphabetNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/alphabetNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/syllableNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/syllableNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/en/syllableNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/alphabetNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/alphabetNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/alphabetNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/syllableNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/syllableNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/kn/syllableNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/alphabetNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/alphabetNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/alphabetNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/syllableNarration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/syllableNarration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/Alphabet Chart/te/syllableNarration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/introduction/en/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/introduction/hi/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/introduction/kn/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/introduction/mr/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/introduction/te/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-hunt/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/all_ready.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/amazing.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/correct_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_meter.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_requirement.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/fuel_rilo.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/game_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/great_job.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_destination.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_narrator.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/intro_rocket.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_controls.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_intro.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/practice_question.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/ready_to_start.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/rilo_appears.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/en/wrong_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/all_ready.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/amazing.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/correct_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_meter.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_requirement.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/fuel_rilo.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/game_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/great_job.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_destination.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_narrator.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/intro_rocket.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_controls.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_intro.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/practice_question.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/ready_to_start.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/rilo_appears.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/hi/wrong_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/all_ready.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/amazing.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/correct_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_meter.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_requirement.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/fuel_rilo.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/game_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/great_job.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_destination.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_narrator.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/intro_rocket.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_controls.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_intro.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/practice_question.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/ready_to_start.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/rilo_appears.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/kn/wrong_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/all_ready.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/amazing.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/correct_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_meter.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_requirement.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/fuel_rilo.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/game_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/great_job.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_destination.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_narrator.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/intro_rocket.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_controls.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_intro.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/practice_question.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/ready_to_start.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/rilo_appears.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/mr/wrong_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/all_ready.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/amazing.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/correct_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_meter.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_requirement.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/fuel_rilo.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/game_explanation.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/great_job.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_destination.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_narrator.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/intro_rocket.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_controls.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_intro.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/practice_question.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/ready_to_start.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/rilo_appears.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/letter-launcher-story/te/wrong_feedback.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/memory-challenge/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-letter-games/quick-sight/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/fill-in-blanks/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/introduction/en/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/introduction/hi/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/introduction/kn/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/introduction/mr/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/introduction/te/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/sentence-builder/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-sentence-games/true-or-false/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/introduction/en/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/introduction/hi/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/introduction/kn/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/introduction/mr/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/introduction/te/introduction.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/picture-words/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/en/bread.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/en/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/en/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/en/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/en/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/hi/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/hi/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/hi/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/hi/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/bread.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/kn/ಪಕ್ಷಿ.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/bread.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/mr/सफरचंद.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/bread.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/narration1.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/narration2.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/narration3.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/narration4.wavis excluded by!**/*.wavpublic/audio/audio-preview/combined-word-games/sound-match/te/పక్షి.wavis excluded by!**/*.wav
📒 Files selected for processing (6)
.env.github/workflows/all-dev-rig.yml.gitignoreconfig-overrides.jspackage.jsonpostcss.config.js
💤 Files with no reviewable changes (1)
- .env
| "@babel/preset-typescript": "^7.28.5", | ||
| "@mui/styles": "^5.15.10", | ||
| "autoprefixer": "^10.4.23", | ||
| "customize-cra": "^1.0.0", | ||
| "eslint": "^7.32.0", | ||
| "eslint-config-prettier": "^8.3.0", | ||
| "eslint-plugin-prettier": "^3.4.0", | ||
| "husky": "^9.0.11", | ||
| "lint-staged": "^11.0.0", | ||
| "postcss": "^8.5.6", | ||
| "prettier": "^2.3.2", | ||
| "react": "^18.2.0" | ||
| "react": "^18.2.0", | ||
| "react-app-rewired": "^2.2.1", | ||
| "tailwindcss": "^3.4.17", | ||
| "tailwindcss-animate": "^1.0.7" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== typescript dependency presence =="
jq -r '.dependencies.typescript // "MISSING in dependencies"' package.json
jq -r '.devDependencies.typescript // "MISSING in devDependencies"' package.json
echo
echo "== tsconfig files =="
fd -HI 'tsconfig*.json' || true
echo
echo "== TypeScript source files =="
fd -e ts -e tsx || true
echo
echo "== Babel preset usage check =="
rg -n "@babel/preset-typescript|preset-typescript|babel.config|\\.babelrc" || trueRepository: Sunbird-ALL/all-learner-ai-app
Length of output: 15589
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Root-level tsconfig.json =="
if [ -f tsconfig.json ]; then
cat -n tsconfig.json | head -30
else
echo "NOT FOUND at root"
fi
echo
echo "== Check if react-scripts (CRA core) is in dependencies =="
jq -r '.dependencies."react-scripts" // .devDependencies."react-scripts" // "NOT FOUND"' package.json
echo
echo "== Check build/start scripts =="
jq -r '.scripts.start, .scripts.build' package.jsonRepository: Sunbird-ALL/all-learner-ai-app
Length of output: 347
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== TypeScript availability via react-scripts =="
if [ -d "node_modules/typescript" ]; then
echo "✓ typescript found in node_modules"
cat node_modules/typescript/package.json | jq -r '.version'
else
echo "✗ typescript NOT found"
fi
echo
echo "== Check if react-scripts lists typescript as dependency =="
if [ -f "node_modules/react-scripts/package.json" ]; then
jq -r '.peerDependencies.typescript // .dependencies.typescript // "NOT LISTED"' node_modules/react-scripts/package.json
else
echo "react-scripts package.json not found"
fi
echo
echo "== Check if there's a config override file for react-app-rewired =="
find . -maxdepth 2 -name "config-overrides.js" -o -name ".babelrc*" -o -name "babel.config.*" 2>/dev/null || echo "No override files found"Repository: Sunbird-ALL/all-learner-ai-app
Length of output: 333
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== config-overrides.js content =="
head -50 config-overrides.js
echo
echo "== Look for typescript in pnpm store =="
find node_modules/.pnpm -maxdepth 1 -name "*typescript*" -type d 2>/dev/null | head -5 || echo "Not found in pnpm store"
echo
echo "== Check pnpm-lock.yaml for typescript =="
if [ -f "pnpm-lock.yaml" ]; then
rg "typescript:" pnpm-lock.yaml | head -10 || echo "typescript not in lock file"
else
echo "pnpm-lock.yaml not found"
fiRepository: Sunbird-ALL/all-learner-ai-app
Length of output: 928
Add typescript dependency to enable TypeScript compilation and type checking.
The project contains 150+ .ts/.tsx source files but is missing the typescript package. While @babel/preset-typescript strips type annotations and config-overrides.js adds extension resolution, neither provides actual TypeScript compilation, type-checking, or IDE support. The typescript package is required for the build to properly handle these files.
Suggested fix
"devDependencies": {
+ "typescript": "^5.6.0",
"@babel/preset-typescript": "^7.28.5",
"autoprefixer": "^10.4.23",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@package.json` around lines 111 - 125, The package.json is missing the
TypeScript compiler package; add "typescript" to package.json (preferably under
devDependencies) alongside the existing "@babel/preset-typescript" entry so the
project can perform actual TypeScript compilation and type-checking, then run
your package manager install to update lockfile; ensure the new dependency is
reflected where the other dev tools (e.g., "eslint", "husky",
"@babel/preset-typescript") are declared so editors/CI pick up TypeScript
support.




Summary by CodeRabbit
New Features
Chores