feat: add flashcard game feature#966
Open
HarshithaKollipara wants to merge 11 commits into
Open
Conversation
Replace nested quantifier regex /^(https?:\/\/\S+\s*)+$/ with /^https?:\/\/\S+(\s+https?:\/\/\S+)*\s*$/ in validateQuestionText() to eliminate exponential backtracking (CWE-1333 / ReDoS). Introduced in: 3b8c5d4 (Feat: Crowd Question submission)
…charanashala#923) Co-authored-by: Nandan Prabhudesai <nandanprabhudesai@gmail.com>
* feat: add crowdsourced question pipeline module * chore: normalize file permissions for crowdsourced module * Potential fix for pull request finding 'CodeQL / Inefficient regular expression' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* chore: add fetch single course enrollment data and watch hours query inside cohort repository - tempRes() * add query to fetch item wise watch hour data of enrolled users in a cours * feat: add feedback submission data of a course * feat: add query to fetch enrollment wise feedback submissions * Cap GuruSetu watch-time in feedback export query --------- Co-authored-by: Abiram-k <abiramk0107@gmail.com>
* ci: strengthen PR merge testing pipeline - fix(linter.yml): change target branch from 'main' to 'combined-updates'; split into lint-backend and lint-frontend jobs with path conditions - feat(jest-test.yml): add pull-requests:write permission and post vitest coverage summary as PR comment via davelosert/vitest-coverage-report-action - feat(pr-checks.yml): new workflow - TypeScript tsc --noEmit type-check for backend (Node 23) and frontend (Node 20) on every PR to combined-updates - feat(codeql.yml): new workflow - CodeQL security scan (javascript-typescript) on PRs and pushes to combined-updates - feat(pr-smoke-e2e.yml): new workflow - smoke.spec.ts against staging on PRs; skips if STAGING_FRONTEND_URL secret absent; uploads report as artifact - feat(commit-msg): add husky commit-msg hook running commitlint - feat(package.json): add commitlint packages and config-conventional preset - fix(.gitignore): add root .firebase/ to ignored paths * fix(pr-smoke-e2e): remove secrets context from job if condition secrets context is not available in job-level if expressions; use vars.STAGING_FRONTEND_URL (repository variable) instead * fix(codeql): upgrade CodeQL actions v3 to v4 * chore(codeql): remove custom CodeQL workflow in favour of GitHub default setup * fix(backend): resolve pre-existing TypeScript errors caught by pr-checks - fix(cohortsRepository): close missing } on resetHpforCohort body; add resetHpForStudent stub method (was called by service but not implemented) - fix(ICohortsRepository): declare resetHpForStudent in interface - fix(cohortsService): remove stray tempRes() debug call from listCohorts; declare local variables (courseVersionName, instructorEnrollments, enrolledVersionIds, enrolledCohortIds) that were used but never declared - fix(ISettings): add optional crowdsourcedQuestionSubmissionEnabled field used by StudentQuestionService * Update .github/workflows/pr-smoke-e2e.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(vite.config.ts): add coverage reporters json-summary, json, html for vitest coverage report action Agent-Logs-Url: https://github.com/vicharanashala/vibe/sessions/ff1c6382-230a-4b77-827d-22dd0be5b748 Co-authored-by: MeenakshiArunsankar <45432051+MeenakshiArunsankar@users.noreply.github.com> * Update .github/workflows/jest-test.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
…ping or encoding (vicharanashala#945) Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: Add quick fix to clamp progress to 100 percentage * Port stashed changes to new branch * Progress summary quiz scores updated and progress percent greater than 100 fixed * Potential fix for pull request finding 'CodeQL / Incomplete string escaping or encoding' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: handle 404 (already stopped) gracefully in stopItem - Skip retries in useStopItem when server returns 404 - Treat 404 as idempotent success at all stopItem call sites (quiz.tsx, video.tsx, article.tsx, hooks.ts) - Fix duplicate const progress declaration in CourseCard.tsx --------- Co-authored-by: Rishav <rishavkumar.nit@gmail.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: Add quick fix to clamp progress to 100 percentage * Port stashed changes to new branch * Progress summary quiz scores updated and progress percent greater than 100 fixed * Potential fix for pull request finding 'CodeQL / Incomplete string escaping or encoding' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: handle 404 (already stopped) gracefully in stopItem - Skip retries in useStopItem when server returns 404 - Treat 404 as idempotent success at all stopItem call sites (quiz.tsx, video.tsx, article.tsx, hooks.ts) - Fix duplicate const progress declaration in CourseCard.tsx * fix: skip previous item check in stop API when linear progression is disabled --------- Co-authored-by: Rishav <rishavkumar.nit@gmail.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: Add quick fix to clamp progress to 100 percentage * Port stashed changes to new branch * Progress summary quiz scores updated and progress percent greater than 100 fixed * Potential fix for pull request finding 'CodeQL / Incomplete string escaping or encoding' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix: handle 404 (already stopped) gracefully in stopItem - Skip retries in useStopItem when server returns 404 - Treat 404 as idempotent success at all stopItem call sites (quiz.tsx, video.tsx, article.tsx, hooks.ts) - Fix duplicate const progress declaration in CourseCard.tsx * fix: skip previous item check in stop API when linear progression is disabled * fix: track actual play seconds and expire idle watch sessions - Add duration and isExpired fields to IWatchTime interface - Frontend tracks real play seconds (not wall-clock) via playedSecondsRef - Idle timer (5 min): auto-expires paused sessions with isExpired=true and resets for next play - watchedSeconds and isExpired sent on every stopItem call - stopItemTracking stores duration and isExpired on the watch record - isValidWatchTime: expired sessions return false; prefer duration over wall-clock diff - Analytics aggregations prefer duration field, fall back to endTime-startTime for old records - Expired sessions excluded from all watch hour totals - Re-watches now tracked: startItem always creates a new watch record * fix: avoid unsafe currentCourse assertion in stop guard --------- Co-authored-by: Rishav <rishavkumar.nit@gmail.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
75927d6 to
d3b3e7f
Compare
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.
No description provided.