Skip to content

linting#25

Merged
djdiptayan1 merged 11 commits intoSRM-IST-KTR:stagingfrom
djdiptayan1:staging
Apr 3, 2026
Merged

linting#25
djdiptayan1 merged 11 commits intoSRM-IST-KTR:stagingfrom
djdiptayan1:staging

Conversation

@djdiptayan1
Copy link
Copy Markdown
Member

@djdiptayan1 djdiptayan1 commented Apr 3, 2026

Summary by CodeRabbit

  • New Features

    • Added a "Reset Phase" control in the admin dashboard to recompute the current phase timer.
  • Bug Fixes / Reliability

    • Improved timer behavior for paused/running states with fallbacks when pause/resume timestamps are missing.
    • Debounced duplicate engine control requests to prevent rapid repeated actions.
    • Disabled control buttons while an action is in progress to avoid concurrent requests.
  • Chores

    • Added project linting configuration and new linting scripts to the development workflow.

djdiptayan1 and others added 10 commits April 3, 2026 01:49
- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.
feat: Enhance metadata and layout for improved SEO and user experience
feat: Update favicon and enhance layout metadata for improved brandin…
- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.
Copilot AI review requested due to automatic review settings April 3, 2026 11:57
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 3, 2026

@djdiptayan1 is attempting to deploy a commit to the githubcommunitysrm's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 3, 2026

Walkthrough

Adds ESLint configs and scripts; extends backend flow control with debounce, RECALCULATE action, and timer recalculation; persists lastControlAction/lastControlActionAt in schema; updates admin UI to lock control actions and add a "Reset Phase" (RECALCULATE) flow; refines paused-timer fallbacks in room clock/stage pages.

Changes

Cohort / File(s) Summary
ESLint configs & package
backend/eslint.config.cjs, hackclock/eslint.config.mjs, backend/package.json
Add/modify ESLint flat configs (JS/TS/React/Next rules and naming conventions); add eslint, @eslint/js, globals devDependencies and lint / lint:fix scripts.
Flow controller logic
backend/controllers/flowController.js
Add NEXT_PHASE debounce, RECALCULATE action, improved PAUSE/RESUME timing handling, update phase timing when durations change, and persist last control action/timestamp.
Schema changes
backend/models/dataSchema.js
Add lastControlAction (enum) and lastControlActionAt (Date) to HackathonSchema for control/audit tracking.
Admin dashboard controls
hackclock/app/(admin)/dashboard/page.tsx
Add controlActionInFlight locking, lockKey gating, RECALCULATE confirm flow, new "Reset Phase" button, and disable controls while action in flight.
Room UI timer fallbacks
hackclock/app/room/[id]/clock/page.tsx, hackclock/app/room/[id]/stage/page.tsx
When PAUSED and pausedRemainingMs missing/<=0, compute fallback timeLeft from current phase.durationMinutes; preserve existing behavior when pausedRemainingMs > 0. Minor SWR/formatting tweaks.

Sequence Diagram(s)

sequenceDiagram
    participant AdminUI as "Admin UI\n(Dashboard)"
    participant API as "Server API\n(/engine/control)"
    participant Controller as "flowController"
    participant DB as "Database\n(Hackathon record)"
    participant RoomUI as "Room UI\n(clock/stage)"

    AdminUI->>API: POST engine control (action e.g. RECALCULATE/PAUSE/NEXT_PHASE)
    API->>Controller: forward action + roomId
    Controller->>DB: read room record
    alt rapid duplicate NEXT_PHASE
        Controller-->>API: 429 (ignored - debounce)
    else valid control action
        Controller->>Controller: compute new timers (phaseEndTime / pausedRemainingMs) using current phase duration
        Controller->>DB: update room (status, phaseEndTime, pausedRemainingMs, lastControlAction, lastControlActionAt)
        Controller-->>API: 200 OK (action accepted)
        API-->>AdminUI: response
        Controller->>RoomUI: (via broadcast/socket) emit updated room state
        RoomUI-->>RoomUI: update timers / UI using paused fallback logic
    end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Poem

🐇 I hopped through timers, rules, and code,
I nudged the phase and cleared the road,
A RECALCULATE, a gentle tap,
Buttons locked — no duplicated zap,
Now clocks reset, and rabbity cheers abound!

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'linting' is vague and overly generic, failing to clearly describe the substantive changes made in the pull request. Consider a more specific title such as 'Add ESLint configuration and implement linting setup' that clearly conveys the main changes to reviewers.
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hacktime Ready Ready Preview, Comment Apr 3, 2026 3:34pm
hacktime-backend Ready Ready Preview, Comment Apr 3, 2026 3:34pm

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
backend/eslint.config.cjs (1)

20-20: Consider adding varsIgnorePattern for consistency.

The argsIgnorePattern: '^_' ignores unused parameters prefixed with _, but unused variables with the same prefix will still trigger warnings. For consistent behavior:

Proposed fix
-            'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
+            'no-unused-vars': ['warn', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }],
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@backend/eslint.config.cjs` at line 20, The 'no-unused-vars' rule currently
sets argsIgnorePattern: '^_' but doesn't ignore standalone variables with a
leading underscore; update the 'no-unused-vars' rule configuration (the entry
with 'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }]) to also include
varsIgnorePattern: '^_' so variables prefixed with '_' are treated consistently
with parameters and won't emit warnings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@backend/eslint.config.cjs`:
- Around line 21-29: The eslint config currently conflicts: the camelcase rule
enforces camelCase while the no-restricted-syntax rule enforces PascalCase for
functions (causing warnings for existing functions like deployFlow,
buildArchivePayload, syncArchiveByRoomId, getRoomUsers, emitRoomUsers). Fix by
removing or changing the no-restricted-syntax entry that mandates PascalCase for
functions (the rule targeting
FunctionDeclaration/FunctionExpression/ArrowFunctionExpression names); instead,
restrict PascalCase only to class/constructor names or delete the PascalCase
function check so camelcase remains authoritative. Ensure the change references
the rules named camelcase and no-restricted-syntax and that constructor/class
naming remains unaffected.

In `@hackclock/eslint.config.mjs`:
- Around line 23-26: The rule object with selector: 'function' and format:
['PascalCase'] is too strict; change it to allow camelCase as well or
remove/restrict it. Update the rule for selector 'function' to use format:
['PascalCase', 'camelCase'] (or delete the selector entry or scope it to React
components only) so normal functions like minDelay are not flagged; ensure you
edit the rule where selector: 'function' and format: ['PascalCase'] is defined.

---

Nitpick comments:
In `@backend/eslint.config.cjs`:
- Line 20: The 'no-unused-vars' rule currently sets argsIgnorePattern: '^_' but
doesn't ignore standalone variables with a leading underscore; update the
'no-unused-vars' rule configuration (the entry with 'no-unused-vars': ['warn', {
argsIgnorePattern: '^_' }]) to also include varsIgnorePattern: '^_' so variables
prefixed with '_' are treated consistently with parameters and won't emit
warnings.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0c556e73-c17b-400d-8cf5-fc3ca46cbd99

📥 Commits

Reviewing files that changed from the base of the PR and between 5e22918 and 678e00b.

⛔ Files ignored due to path filters (1)
  • backend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (3)
  • backend/eslint.config.cjs
  • backend/package.json
  • hackclock/eslint.config.mjs

Comment on lines +21 to +29
camelcase: [
'warn',
{
properties: 'never',
ignoreDestructuring: true,
ignoreImports: true,
allow: ['^_$'],
},
],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Conflicting rules: camelcase vs no-restricted-syntax for functions.

There's a direct conflict between these rules:

  • camelcase (lines 21-29) enforces camelCase for identifiers
  • no-restricted-syntax (lines 39-53) requires PascalCase for all functions

These rules will fight each other on function names. Additionally, PascalCase for regular functions is unconventional in JavaScript—it's typically reserved for classes and constructor functions.

From the context snippets, all existing controller functions (deployFlow, buildArchivePayload, syncArchiveByRoomId, getRoomUsers, emitRoomUsers) use camelCase and will trigger warnings.

Proposed fix: Remove PascalCase function requirement
-            'no-restricted-syntax': [
-                'warn',
-                {
-                    selector: "FunctionDeclaration[id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
-                    message: 'Function names must be PascalCase like NewFont.',
-                },
-                {
-                    selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
-                    message: 'Function names must be PascalCase like NewFont.',
-                },
-                {
-                    selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
-                    message: 'Function names must be PascalCase like NewFont.',
-                },
-            ],

Also applies to: 39-53

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@backend/eslint.config.cjs` around lines 21 - 29, The eslint config currently
conflicts: the camelcase rule enforces camelCase while the no-restricted-syntax
rule enforces PascalCase for functions (causing warnings for existing functions
like deployFlow, buildArchivePayload, syncArchiveByRoomId, getRoomUsers,
emitRoomUsers). Fix by removing or changing the no-restricted-syntax entry that
mandates PascalCase for functions (the rule targeting
FunctionDeclaration/FunctionExpression/ArrowFunctionExpression names); instead,
restrict PascalCase only to class/constructor names or delete the PascalCase
function check so camelcase remains authoritative. Ensure the change references
the rules named camelcase and no-restricted-syntax and that constructor/class
naming remains unaffected.

Comment on lines +23 to +26
{
selector: 'function',
format: ['PascalCase'],
},
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

PascalCase for all functions is unconventional and will flag existing code.

The selector 'function' with format: ['PascalCase'] requires ALL functions to use PascalCase. Standard JavaScript/TypeScript convention is camelCase for regular functions and PascalCase only for React components and classes.

This will trigger warnings on existing utility functions like minDelay in hackclock/lib/min-delay.ts and likely many others. Consider either:

  1. Removing this rule and relying on natural convention
  2. Restricting it to React component files only
  3. Adding camelCase as an allowed format
Proposed fix to allow both conventions
         {
           selector: 'function',
-          format: ['PascalCase'],
+          format: ['camelCase', 'PascalCase'],
         },
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{
selector: 'function',
format: ['PascalCase'],
},
{
selector: 'function',
format: ['camelCase', 'PascalCase'],
},
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hackclock/eslint.config.mjs` around lines 23 - 26, The rule object with
selector: 'function' and format: ['PascalCase'] is too strict; change it to
allow camelCase as well or remove/restrict it. Update the rule for selector
'function' to use format: ['PascalCase', 'camelCase'] (or delete the selector
entry or scope it to React components only) so normal functions like minDelay
are not flagged; ensure you edit the rule where selector: 'function' and format:
['PascalCase'] is defined.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds/adjusts linting rules for the Next.js frontend and introduces ESLint tooling/configuration for the backend.

Changes:

  • Added additional ESLint rules to hackclock (TypeScript naming conventions and a few React/Next warnings).
  • Added ESLint dependencies and lint/lint:fix scripts to the backend.
  • Introduced a new flat ESLint config for the backend (eslint.config.cjs).

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.

File Description
hackclock/eslint.config.mjs Adds extra lint rules (TypeScript naming convention + some React/Next warnings).
backend/package.json Adds backend lint scripts and ESLint-related devDependencies.
backend/package-lock.json Locks newly added ESLint dependency tree.
backend/eslint.config.cjs Adds backend ESLint flat config and naming-related rules.
Files not reviewed (1)
  • backend/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

},
{
selector: 'function',
format: ['PascalCase'],
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The naming-convention rule enforces PascalCase for all functions. This will immediately warn on existing camelCase utility functions in this app (e.g., hackclock/lib/min-delay.ts:1 minDelay). Consider allowing both camelCase and PascalCase for selector: 'function', or narrowing the rule so only React components are expected to be PascalCase.

Suggested change
format: ['PascalCase'],
format: ['camelCase', 'PascalCase'],

Copilot uses AI. Check for mistakes.
Comment on lines +39 to +53
'no-restricted-syntax': [
'warn',
{
selector: "FunctionDeclaration[id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
],
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

id-match currently allows both camelCase and PascalCase declarations, but later no-restricted-syntax enforces PascalCase for function identifiers. This combination is contradictory and will produce widespread warnings across the backend (most functions are currently camelCase). Align these rules (e.g., enforce camelCase, or allow both) and remove the redundant rule to avoid noisy lint output.

Suggested change
'no-restricted-syntax': [
'warn',
{
selector: "FunctionDeclaration[id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
],

Copilot uses AI. Check for mistakes.
Comment on lines +42 to +51
selector: "FunctionDeclaration[id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
Copy link

Copilot AI Apr 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These selectors enforce PascalCase for function declarations/expressions, but the backend codebase primarily uses camelCase (e.g., backend/server.js:26 getRoomUsers, backend/lib/connectDB.js:18 connectDB). This will make npm run lint very noisy. Consider switching the regex to camelCase (or allowing both), and update the message ("NewFont") to something backend-relevant.

Suggested change
selector: "FunctionDeclaration[id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
},
{
selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^[A-Z][a-zA-Z0-9]*$/]",
message: 'Function names must be PascalCase like NewFont.',
selector: "FunctionDeclaration[id.name!=/^_?[a-z][a-zA-Z0-9]*$/]",
message: 'Function names must be camelCase like connectDB.',
},
{
selector: "VariableDeclarator[init.type='ArrowFunctionExpression'][id.type='Identifier'][id.name!=/^_?[a-z][a-zA-Z0-9]*$/]",
message: 'Function names must be camelCase like connectDB.',
},
{
selector: "VariableDeclarator[init.type='FunctionExpression'][id.type='Identifier'][id.name!=/^_?[a-z][a-zA-Z0-9]*$/]",
message: 'Function names must be camelCase like connectDB.',

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
hackclock/app/(admin)/dashboard/page.tsx (1)

156-173: Remove unused lockKey variable.

The lockKey is constructed but never used — the check on line 159 only tests truthiness of controlActionInFlight, making lockKey dead code. Either remove it or use it for more granular locking if that was the intent.

🧹 Proposed fix
 const engineControlExecution = async (roomId: string, action: 'PAUSE' | 'RESUME' | 'NEXT_PHASE' | 'STOP' | 'RECALCULATE') => {
   if (!userEmail) return;
-  const lockKey = `${roomId}:${action}`;
   if (controlActionInFlight) return;

-  setControlActionInFlight(lockKey);
+  setControlActionInFlight(action);
   try {
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hackclock/app/`(admin)/dashboard/page.tsx around lines 156 - 173, The
variable lockKey created in engineControlExecution is unused; remove its
declaration and instead treat controlActionInFlight as a boolean flag: delete
the line declaring lockKey, keep the guard if (controlActionInFlight) return,
change setControlActionInFlight(lockKey) to setControlActionInFlight(true) and
keep the finally block setControlActionInFlight(null) (or
setControlActionInFlight(false) if the state is boolean) so the in-flight
locking works correctly; reference: function engineControlExecution and
variables lockKey and controlActionInFlight.
backend/controllers/flowController.js (1)

240-248: Consider adding validation for unknown actions.

If an unrecognized action value is passed, no branch matches and the request silently returns 200 with the unchanged room. This could mask client-side bugs or API misuse.

🛡️ Proposed fix to reject unknown actions
   if (['PAUSE', 'RESUME', 'NEXT_PHASE', 'STOP', 'ANNOUNCE', 'RECALCULATE'].includes(action)) {
     room.lastControlAction = action;
     room.lastControlActionAt = new Date();
+  } else {
+    return res.status(400).json({ error: `Unknown action: ${action}` });
   }

   await room.save();
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@backend/controllers/flowController.js` around lines 240 - 248, Add explicit
validation for the incoming action: define the allowed actions array (the same
list used in the conditional) and before mutating room fields or calling
syncArchiveByRoomId/buildArchivePayload, check if action is in that array; if
not, respond with res.status(400).json({ error: 'Invalid action' }) (or a
descriptive message) and return early. Update the branch that sets
room.lastControlAction and room.lastControlActionAt to run only after this
validation to ensure unknown actions do not silently return 200.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@backend/controllers/flowController.js`:
- Around line 240-248: Add explicit validation for the incoming action: define
the allowed actions array (the same list used in the conditional) and before
mutating room fields or calling syncArchiveByRoomId/buildArchivePayload, check
if action is in that array; if not, respond with res.status(400).json({ error:
'Invalid action' }) (or a descriptive message) and return early. Update the
branch that sets room.lastControlAction and room.lastControlActionAt to run only
after this validation to ensure unknown actions do not silently return 200.

In `@hackclock/app/`(admin)/dashboard/page.tsx:
- Around line 156-173: The variable lockKey created in engineControlExecution is
unused; remove its declaration and instead treat controlActionInFlight as a
boolean flag: delete the line declaring lockKey, keep the guard if
(controlActionInFlight) return, change setControlActionInFlight(lockKey) to
setControlActionInFlight(true) and keep the finally block
setControlActionInFlight(null) (or setControlActionInFlight(false) if the state
is boolean) so the in-flight locking works correctly; reference: function
engineControlExecution and variables lockKey and controlActionInFlight.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3d662f30-a656-40d4-8d7b-183f209ad607

📥 Commits

Reviewing files that changed from the base of the PR and between 678e00b and 77427a3.

📒 Files selected for processing (5)
  • backend/controllers/flowController.js
  • backend/models/dataSchema.js
  • hackclock/app/(admin)/dashboard/page.tsx
  • hackclock/app/room/[id]/clock/page.tsx
  • hackclock/app/room/[id]/stage/page.tsx

@djdiptayan1 djdiptayan1 merged commit f5ce8c8 into SRM-IST-KTR:staging Apr 3, 2026
3 checks passed
djdiptayan1 added a commit that referenced this pull request Apr 3, 2026
* Update issue templates

* linting (#25)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* assets (#27)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.
djdiptayan1 added a commit that referenced this pull request Apr 3, 2026
* Update issue templates

* linting (#25)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* assets (#27)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.

* assets (#28)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.

* docs: update README with brand logos and enhanced project description
djdiptayan1 added a commit that referenced this pull request Apr 3, 2026
* critical bug fixes (#26)

* Update issue templates

* linting (#25)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* assets (#27)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.

* icons (#29)

* Update issue templates

* linting (#25)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* assets (#27)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.

* assets (#28)

* feat: Enhance metadata and layout for improved SEO and user experience

- Added metadata for the Clock page to improve search engine visibility.
- Updated layout and metadata for the main application to reflect new branding and features.
- Introduced a new Login layout with specific metadata for better indexing.
- Enhanced the Login page with dynamic tab selection based on URL parameters.
- Created a sitemap and robots.txt for better search engine crawling.
- Added a new Room layout with appropriate metadata.
- Improved the Stage page layout and metadata for clarity and SEO.
- Added Open Graph and Twitter card images for better social media sharing.
- Included new SVG and JPG images for Open Graph representation.

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* style: Update layout and styling for improved responsiveness and user experience

* feat: Update favicon and enhance layout metadata for improved branding and SEO

* chore: add ESLint configuration and scripts for linting

- Updated package.json to include linting scripts: "lint" and "lint:fix".
- Added ESLint and related dependencies to devDependencies.
- Configured ESLint rules in eslint.config.mjs to enforce coding standards, including naming conventions and warnings for specific patterns.

* feat: enhance flow control with recalculation and debounce logic

* Add new icons and manifest for PWA support

- Added android-chrome-192x192.png and android-chrome-512x512.png for app icons.
- Included apple-touch-icon.png for iOS support.
- Added favicon-16x16.png and favicon-32x32.png for browser tab icons.
- Updated favicon.ico for improved branding.
- Revamped logo.svg with a new design.

* docs: update README with brand logos and enhanced project description

---------

Co-authored-by: GitHub Community SRM - Bot <technical@githubsrmist.in>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants