From b2c888a12a5ffdd68c92456a63e0fb1952b578dd Mon Sep 17 00:00:00 2001 From: sreevignesh2731 Date: Wed, 10 Jun 2026 22:04:54 +0530 Subject: [PATCH 1/4] docs: remove features section from README Co-Authored-By: Claude Fable 5 --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index f348f19..3c1439b 100644 --- a/README.md +++ b/README.md @@ -123,11 +123,3 @@ Code submissions can be made in: - C++ - Java - Python - -## Features - -- User authentication (signup / login with JWT) -- Create and join coding contests -- Real-time updates: correct answers and contest end events are broadcast instantly to all participants -- Automatic winner determination based on number of problems solved -- Monaco editor for code input From 99038225aee07feb029446b665889c183a07a424 Mon Sep 17 00:00:00 2001 From: sreevignesh2731 Date: Thu, 23 Jul 2026 20:25:09 +0530 Subject: [PATCH 2/4] ci: add SafeDep PMG dependency install workflow Co-Authored-By: Claude Fable 5 --- .github/workflows/safedep.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 .github/workflows/safedep.yml diff --git a/.github/workflows/safedep.yml b/.github/workflows/safedep.yml new file mode 100644 index 0000000..e6e8fd0 --- /dev/null +++ b/.github/workflows/safedep.yml @@ -0,0 +1,32 @@ +name: Install Dependencies +on: + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + install-deps: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + # Start PMG in server mode + - uses: safedep/pmg@v1 + with: + server-mode: true + api-key: ${{ secrets.SAFEDEP_API_KEY }} + tenant-id: ${{ secrets.SAFEDEP_TENANT_ID }} + + # Your usual language setup and install + - uses: actions/setup-node@v6 + with: + node-version: "24" + + - run: npm ci + + # Enforce the result and flush events + - name: Stop proxy + if: always() + run: pmg proxy stop --fail-on-violation \ No newline at end of file From 1a229eb043966389c66fed302f1904cf4709f3bf Mon Sep 17 00:00:00 2001 From: sreevignesh2731 Date: Thu, 23 Jul 2026 20:27:23 +0530 Subject: [PATCH 3/4] ci: use Bun for install step instead of npm This is a Bun monorepo (bun.lock, no package-lock.json), so npm ci failed. Switch to setup-bun + bun install --frozen-lockfile. Co-Authored-By: Claude Fable 5 --- .github/workflows/safedep.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/safedep.yml b/.github/workflows/safedep.yml index e6e8fd0..3ae3335 100644 --- a/.github/workflows/safedep.yml +++ b/.github/workflows/safedep.yml @@ -20,11 +20,11 @@ jobs: tenant-id: ${{ secrets.SAFEDEP_TENANT_ID }} # Your usual language setup and install - - uses: actions/setup-node@v6 + - uses: oven-sh/setup-bun@v2 with: - node-version: "24" + bun-version: latest - - run: npm ci + - run: bun install --frozen-lockfile # Enforce the result and flush events - name: Stop proxy From a914046003f20509deb8b4559ea5c4d467bae903 Mon Sep 17 00:00:00 2001 From: sreevignesh2731 Date: Thu, 23 Jul 2026 20:29:26 +0530 Subject: [PATCH 4/4] ci: sync bun.lock and pin Bun to 1.3.5 The committed lockfile was out of sync with package.json, failing the frozen install. Regenerate bun.lock and pin the CI Bun version to 1.3.5 so the lockfile format matches and the frozen install stays reproducible. Co-Authored-By: Claude Fable 5 --- .github/workflows/safedep.yml | 2 +- bun.lock | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/safedep.yml b/.github/workflows/safedep.yml index 3ae3335..742e7a8 100644 --- a/.github/workflows/safedep.yml +++ b/.github/workflows/safedep.yml @@ -22,7 +22,7 @@ jobs: # Your usual language setup and install - uses: oven-sh/setup-bun@v2 with: - bun-version: latest + bun-version: "1.3.5" - run: bun install --frozen-lockfile diff --git a/bun.lock b/bun.lock index 87a76f0..5b1b2cc 100644 --- a/bun.lock +++ b/bun.lock @@ -1956,7 +1956,7 @@ "ajv-formats/ajv": ["ajv@8.17.1", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g=="], - "backend/@types/bun": ["@types/bun@1.3.11", "", { "dependencies": { "bun-types": "1.3.11" } }, "sha512-5vPne5QvtpjGpsGYXiFyycfpDF2ECyPcTSsFBMa0fraoxiQyMJ3SmuQIGhzPg2WJuWxVBoxWJ2kClYTcw/4fAg=="], + "backend/@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], "c12/dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], @@ -2014,13 +2014,13 @@ "sharp/semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="], - "worker/@types/bun": ["@types/bun@1.3.11", "", { "dependencies": { "bun-types": "1.3.11" } }, "sha512-5vPne5QvtpjGpsGYXiFyycfpDF2ECyPcTSsFBMa0fraoxiQyMJ3SmuQIGhzPg2WJuWxVBoxWJ2kClYTcw/4fAg=="], + "worker/@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], "wrap-ansi/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], "wrap-ansi/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "wss/@types/bun": ["@types/bun@1.3.11", "", { "dependencies": { "bun-types": "1.3.11" } }, "sha512-5vPne5QvtpjGpsGYXiFyycfpDF2ECyPcTSsFBMa0fraoxiQyMJ3SmuQIGhzPg2WJuWxVBoxWJ2kClYTcw/4fAg=="], + "wss/@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], "yargs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], @@ -2108,7 +2108,7 @@ "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], - "backend/@types/bun/bun-types": ["bun-types@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-1KGPpoxQWl9f6wcZh57LvrPIInQMn2TQ7jsgxqpRzg+l0QPOFvJVH7HmvHo/AiPgwXy+/Thf6Ov3EdVn1vOabg=="], + "backend/@types/bun/bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], "cliui/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], @@ -2118,13 +2118,13 @@ "shadcn/fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="], - "worker/@types/bun/bun-types": ["bun-types@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-1KGPpoxQWl9f6wcZh57LvrPIInQMn2TQ7jsgxqpRzg+l0QPOFvJVH7HmvHo/AiPgwXy+/Thf6Ov3EdVn1vOabg=="], + "worker/@types/bun/bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], "wrap-ansi/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], "wrap-ansi/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], - "wss/@types/bun/bun-types": ["bun-types@1.3.11", "", { "dependencies": { "@types/node": "*" } }, "sha512-1KGPpoxQWl9f6wcZh57LvrPIInQMn2TQ7jsgxqpRzg+l0QPOFvJVH7HmvHo/AiPgwXy+/Thf6Ov3EdVn1vOabg=="], + "wss/@types/bun/bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], "yargs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],