Skip to content

Add sound chime when players are matched from lobby#1018

Open
Copilot wants to merge 5 commits intomainfrom
copilot/fix-707
Open

Add sound chime when players are matched from lobby#1018
Copilot wants to merge 5 commits intomainfrom
copilot/fix-707

Conversation

Copy link
Contributor

Copilot AI commented Aug 25, 2025

Players who have waited a long time in the lobby may be distracted and not notice when a game begins. This PR adds an audio notification to alert players when they are successfully matched and transition from the lobby to their first game stage.

Implementation

Added a useEffect hook in the Stage.jsx component that:

  • Plays the existing westminster_quarters.mp3 chime when a player first enters any stage after being matched from the lobby
  • Uses a gameMatchedChimePlayed flag stored on the player object to ensure the chime only plays once per session
  • Includes proper error handling for audio playback failures
  • Logs chime events to the console for debugging

Technical Details

The implementation leverages the existing audio infrastructure used by the countdown feature, ensuring consistency in user experience. The chime plays automatically when the Stage component first mounts for a player who has just been assigned to a game, addressing the transition point identified in the issue discussion.

// Play chime when player first enters the game after being matched from lobby
useEffect(() => {
  if (!player.get("gameMatchedChimePlayed")) {
    const chime = new Audio("westminster_quarters.mp3");
    chime.play()
      .then(() => {
        console.log("Played game matched chime");
        player.set("gameMatchedChimePlayed", true);
      })
      .catch((error) => {
        console.error("Error playing game matched chime:", error);
        player.set("gameMatchedChimePlayed", true);
      });
  }
}, [player]);

The solution is minimal (17 lines of code) and follows the established patterns in the codebase for audio handling and player state management.

Fixes #707.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • o1.ingest.sentry.io
    • Triggering command: node /home/REDACTED/work/deliberation-empirica/deliberation-empirica/client/node_modules/.bin/vite build (dns block)
    • Triggering command: node /home/REDACTED/work/deliberation-empirica/deliberation-empirica/client/node_modules/.bin/vite (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits August 25, 2025 19:20
Co-authored-by: JamesPHoughton <4304478+JamesPHoughton@users.noreply.github.com>
Co-authored-by: JamesPHoughton <4304478+JamesPHoughton@users.noreply.github.com>
Copilot AI changed the title [WIP] sounds chime when players matched from lobby Add sound chime when players are matched from lobby Aug 25, 2025
Copilot AI requested a review from JamesPHoughton August 25, 2025 19:29
@github-actions
Copy link

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/App.jsx
  171:7  error  Unknown property 'test-player-id' found  react/no-unknown-property

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/ConditionalRender.jsx
  39:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/HairCheck.jsx
  116:6  warning  React Hook useEffect has missing dependencies: 'onFailure', 'onVideoSuccess', and 'player'. Either include them or remove the dependency array. If 'onVideoSuccess' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/IdleProvider.jsx
   56:6   warning  React Hook useEffect has a missing dependency: 'resetTimer'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  120:57  error    ''' can be escaped with '&apos;', '&lsquo;', '&#39;', '&rsquo;'                                                react/no-unescaped-entities

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/Markdown.jsx
  17:6  error  Unnecessary escape character: !  no-useless-escape

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/SharedNotepad.jsx
  26:6  warning  React Hook useEffect has missing dependencies: 'defaultText', 'game', and 'record'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/TextChat.jsx
   71:6  warning  React Hook useEffect has a missing dependency: 'msgs.length'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  182:7  warning  Unexpected alert                                                                                                no-alert
  219:7  error    A control must be associated with a text label                                                                  jsx-a11y/control-has-associated-label

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/KitchenTimer.jsx
  9:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Prompt.jsx
  19:3  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Qualtrics.jsx
  54:10  error  'state' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/TrainingVideo.jsx
  61:6  warning  React Hook useEffect has missing dependencies: 'timer?.elapsed' and 'url'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Consent.jsx
  129:6  warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Countdown.jsx
  8:21  error  Use default import syntax to import 'ReactCountdown'  import/no-named-default

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/PreIdChecks.jsx
  16:6  warning  React Hook useEffect has a missing dependency: 'setChecksPassed'. Either include it or remove the dependency array. If 'setChecksPassed' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/setup/LoopbackCheck.jsx
  132:34  error    Return values from promise executor functions cannot be read                                               no-promise-executor-return
  162:6   warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/e2e/01_Normal_Paths_Omnibus.js
  174:34  error  'actualOrder' is already declared in the upper scope on line 155 column 13  no-shadow
  201:31  error  'newOrder' is already declared in the upper scope on line 190 column 13     no-shadow

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/support/sharedSteps.js
  8:9  error  'log' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/getTreatments.js
    8:33  error  Missing file extension for "./preFlight/validateTreatmentFile"  import/extensions
  326:30  error  Unexpected 'await' inside a loop                                no-await-in-loop

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/index.js
  42:43  error  'p' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/postFlight/exportScienceData.js
  4:17  error  'warn' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/dispatch.js
  477:9  error  Unexpected use of continue statement  no-continue

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/preFlightChecks.js
  20:5  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validateDlConfig.test.js
  2:32  error  Missing file extension for "./validateDlConfig"                                                                            import/extensions
  3:1   error  'vscode' import should occur before import of './validateDlConfig'                                                         import/order
  6:25  error  Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the '=>'  arrow-body-style

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validatePromptFile.test.js
  6:8  error  Missing file extension for "./validatePromptFile"  import/extensions

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/providers/dailyco.js
   37:23  error  Expected to return a value at the end of async function 'createRoom'     consistent-return
  157:23  error  Expected to return a value at the end of async function 'stopRecording'  consistent-return
  229:7   error  Unexpected if as the only statement in an else block                     no-lonely-if

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/utils/logging.js
  1:17  error  'warn' is defined but never used  no-unused-vars
  1:29  error  'log' is defined but never used   no-unused-vars

✖ 37 problems (28 errors, 9 warnings)
  3 errors and 0 warnings potentially fixable with the '--fix' option.

1 similar comment
@github-actions
Copy link

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/App.jsx
  171:7  error  Unknown property 'test-player-id' found  react/no-unknown-property

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/ConditionalRender.jsx
  39:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/HairCheck.jsx
  116:6  warning  React Hook useEffect has missing dependencies: 'onFailure', 'onVideoSuccess', and 'player'. Either include them or remove the dependency array. If 'onVideoSuccess' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/IdleProvider.jsx
   56:6   warning  React Hook useEffect has a missing dependency: 'resetTimer'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  120:57  error    ''' can be escaped with '&apos;', '&lsquo;', '&#39;', '&rsquo;'                                                react/no-unescaped-entities

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/Markdown.jsx
  17:6  error  Unnecessary escape character: !  no-useless-escape

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/SharedNotepad.jsx
  26:6  warning  React Hook useEffect has missing dependencies: 'defaultText', 'game', and 'record'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/TextChat.jsx
   71:6  warning  React Hook useEffect has a missing dependency: 'msgs.length'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  182:7  warning  Unexpected alert                                                                                                no-alert
  219:7  error    A control must be associated with a text label                                                                  jsx-a11y/control-has-associated-label

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/KitchenTimer.jsx
  9:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Prompt.jsx
  19:3  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Qualtrics.jsx
  54:10  error  'state' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/TrainingVideo.jsx
  61:6  warning  React Hook useEffect has missing dependencies: 'timer?.elapsed' and 'url'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Consent.jsx
  129:6  warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Countdown.jsx
  8:21  error  Use default import syntax to import 'ReactCountdown'  import/no-named-default

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/PreIdChecks.jsx
  16:6  warning  React Hook useEffect has a missing dependency: 'setChecksPassed'. Either include it or remove the dependency array. If 'setChecksPassed' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/setup/LoopbackCheck.jsx
  132:34  error    Return values from promise executor functions cannot be read                                               no-promise-executor-return
  162:6   warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/e2e/01_Normal_Paths_Omnibus.js
  174:34  error  'actualOrder' is already declared in the upper scope on line 155 column 13  no-shadow
  201:31  error  'newOrder' is already declared in the upper scope on line 190 column 13     no-shadow

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/support/sharedSteps.js
  8:9  error  'log' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/getTreatments.js
    8:33  error  Missing file extension for "./preFlight/validateTreatmentFile"  import/extensions
  326:30  error  Unexpected 'await' inside a loop                                no-await-in-loop

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/index.js
  42:43  error  'p' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/postFlight/exportScienceData.js
  4:17  error  'warn' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/dispatch.js
  477:9  error  Unexpected use of continue statement  no-continue

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/preFlightChecks.js
  20:5  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validateDlConfig.test.js
  2:32  error  Missing file extension for "./validateDlConfig"                                                                            import/extensions
  3:1   error  'vscode' import should occur before import of './validateDlConfig'                                                         import/order
  6:25  error  Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the '=>'  arrow-body-style

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validatePromptFile.test.js
  6:8  error  Missing file extension for "./validatePromptFile"  import/extensions

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/providers/dailyco.js
   37:23  error  Expected to return a value at the end of async function 'createRoom'     consistent-return
  157:23  error  Expected to return a value at the end of async function 'stopRecording'  consistent-return
  229:7   error  Unexpected if as the only statement in an else block                     no-lonely-if

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/utils/logging.js
  1:17  error  'warn' is defined but never used  no-unused-vars
  1:29  error  'log' is defined but never used   no-unused-vars

✖ 37 problems (28 errors, 9 warnings)
  3 errors and 0 warnings potentially fixable with the '--fix' option.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't want to remove this. Why did it get flagged for deletion? Is it not used elsewhere?

@cypress
Copy link

cypress bot commented Aug 26, 2025

Deliberation    Run #1709

Run Properties:  status check failed Failed #1709  •  git commit 4c7dc780fa: Merge branch 'main' into copilot/fix-707
Project Deliberation
Branch Review copilot/fix-707
Run status status check failed Failed #1709
Run duration 07m 15s
Commit git commit 4c7dc780fa: Merge branch 'main' into copilot/fix-707
Committer James Houghton
View all properties for this run ↗︎

Test results
Tests that failed  Failures 1
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 1
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 15
View all changes introduced in this branch ↗︎

Tests for review

Failed  e2e/08_Invalid_configs.js • 1 failed test • CI RUN

View Output

Test Artifacts
Returning Player > throws error when github repo is invalid Test Replay Screenshots

@github-actions
Copy link

github-actions bot commented Sep 5, 2025

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/App.jsx
  171:7  error  Unknown property 'test-player-id' found  react/no-unknown-property

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/ConditionalRender.jsx
  39:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/HairCheck.jsx
  116:6  warning  React Hook useEffect has missing dependencies: 'onFailure', 'onVideoSuccess', and 'player'. Either include them or remove the dependency array. If 'onVideoSuccess' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/IdleProvider.jsx
   56:6   warning  React Hook useEffect has a missing dependency: 'resetTimer'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  120:57  error    ''' can be escaped with '&apos;', '&lsquo;', '&#39;', '&rsquo;'                                                react/no-unescaped-entities

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/Markdown.jsx
  17:6  error  Unnecessary escape character: !  no-useless-escape

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/SharedNotepad.jsx
  26:6  warning  React Hook useEffect has missing dependencies: 'defaultText', 'game', and 'record'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/TextChat.jsx
   71:6  warning  React Hook useEffect has a missing dependency: 'msgs.length'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  182:7  warning  Unexpected alert                                                                                                no-alert
  219:7  error    A control must be associated with a text label                                                                  jsx-a11y/control-has-associated-label

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/KitchenTimer.jsx
  9:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Prompt.jsx
  19:3  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Qualtrics.jsx
  54:10  error  'state' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/TrainingVideo.jsx
  61:6  warning  React Hook useEffect has missing dependencies: 'timer?.elapsed' and 'url'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Consent.jsx
  129:6  warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Countdown.jsx
  8:21  error  Use default import syntax to import 'ReactCountdown'  import/no-named-default

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/PreIdChecks.jsx
  16:6  warning  React Hook useEffect has a missing dependency: 'setChecksPassed'. Either include it or remove the dependency array. If 'setChecksPassed' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/setup/LoopbackCheck.jsx
  132:34  error    Return values from promise executor functions cannot be read                                               no-promise-executor-return
  162:6   warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/e2e/01_Normal_Paths_Omnibus.js
  174:34  error  'actualOrder' is already declared in the upper scope on line 155 column 13  no-shadow
  201:31  error  'newOrder' is already declared in the upper scope on line 190 column 13     no-shadow

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/support/sharedSteps.js
  8:9  error  'log' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/getTreatments.js
    8:33  error  Missing file extension for "./preFlight/validateTreatmentFile"  import/extensions
  326:30  error  Unexpected 'await' inside a loop                                no-await-in-loop

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/index.js
  42:43  error  'p' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/postFlight/exportScienceData.js
  4:17  error  'warn' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/dispatch.js
  477:9  error  Unexpected use of continue statement  no-continue

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/preFlightChecks.js
  20:5  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validateDlConfig.test.js
  2:32  error  Missing file extension for "./validateDlConfig"                                                                            import/extensions
  3:1   error  'vscode' import should occur before import of './validateDlConfig'                                                         import/order
  6:25  error  Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the '=>'  arrow-body-style

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validatePromptFile.test.js
  6:8  error  Missing file extension for "./validatePromptFile"  import/extensions

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/providers/dailyco.js
   37:23  error  Expected to return a value at the end of async function 'createRoom'     consistent-return
  157:23  error  Expected to return a value at the end of async function 'stopRecording'  consistent-return
  229:7   error  Unexpected if as the only statement in an else block                     no-lonely-if

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/utils/logging.js
  1:17  error  'warn' is defined but never used  no-unused-vars
  1:29  error  'log' is defined but never used   no-unused-vars

✖ 37 problems (28 errors, 9 warnings)
  3 errors and 0 warnings potentially fixable with the '--fix' option.

@github-actions
Copy link

github-actions bot commented Sep 5, 2025

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/App.jsx
  171:7  error  Unknown property 'test-player-id' found  react/no-unknown-property

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/ConditionalRender.jsx
  39:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/HairCheck.jsx
  116:6  warning  React Hook useEffect has missing dependencies: 'onFailure', 'onVideoSuccess', and 'player'. Either include them or remove the dependency array. If 'onVideoSuccess' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/IdleProvider.jsx
   56:6   warning  React Hook useEffect has a missing dependency: 'resetTimer'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  120:57  error    ''' can be escaped with '&apos;', '&lsquo;', '&#39;', '&rsquo;'                                                react/no-unescaped-entities

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/Markdown.jsx
  17:6  error  Unnecessary escape character: !  no-useless-escape

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/SharedNotepad.jsx
  26:6  warning  React Hook useEffect has missing dependencies: 'defaultText', 'game', and 'record'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/components/TextChat.jsx
   71:6  warning  React Hook useEffect has a missing dependency: 'msgs.length'. Either include it or remove the dependency array  react-hooks/exhaustive-deps
  182:7  warning  Unexpected alert                                                                                                no-alert
  219:7  error    A control must be associated with a text label                                                                  jsx-a11y/control-has-associated-label

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/KitchenTimer.jsx
  9:10  error  'tickTock' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Prompt.jsx
  19:3  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/Qualtrics.jsx
  54:10  error  'state' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/elements/TrainingVideo.jsx
  61:6  warning  React Hook useEffect has missing dependencies: 'timer?.elapsed' and 'url'. Either include them or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Consent.jsx
  129:6  warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/Countdown.jsx
  8:21  error  Use default import syntax to import 'ReactCountdown'  import/no-named-default

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/PreIdChecks.jsx
  16:6  warning  React Hook useEffect has a missing dependency: 'setChecksPassed'. Either include it or remove the dependency array. If 'setChecksPassed' changes too often, find the parent component that defines it and wrap that definition in useCallback  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/client/src/intro-exit/setup/LoopbackCheck.jsx
  132:34  error    Return values from promise executor functions cannot be read                                               no-promise-executor-return
  162:6   warning  React Hook useEffect has a missing dependency: 'player'. Either include it or remove the dependency array  react-hooks/exhaustive-deps

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/e2e/01_Normal_Paths_Omnibus.js
  174:34  error  'actualOrder' is already declared in the upper scope on line 155 column 13  no-shadow
  201:31  error  'newOrder' is already declared in the upper scope on line 190 column 13     no-shadow

/home/runner/work/deliberation-empirica/deliberation-empirica/cypress/support/sharedSteps.js
  8:9  error  'log' is assigned a value but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/getTreatments.js
    8:33  error  Missing file extension for "./preFlight/validateTreatmentFile"  import/extensions
  326:30  error  Unexpected 'await' inside a loop                                no-await-in-loop

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/index.js
  42:43  error  'p' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/postFlight/exportScienceData.js
  4:17  error  'warn' is defined but never used  no-unused-vars

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/dispatch.js
  477:9  error  Unexpected use of continue statement  no-continue

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/preFlightChecks.js
  20:5  error  iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations  no-restricted-syntax

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validateDlConfig.test.js
  2:32  error  Missing file extension for "./validateDlConfig"                                                                            import/extensions
  3:1   error  'vscode' import should occur before import of './validateDlConfig'                                                         import/order
  6:25  error  Unexpected block statement surrounding arrow body; parenthesize the returned value and move it immediately after the '=>'  arrow-body-style

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/preFlight/validatePromptFile.test.js
  6:8  error  Missing file extension for "./validatePromptFile"  import/extensions

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/providers/dailyco.js
   37:23  error  Expected to return a value at the end of async function 'createRoom'     consistent-return
  157:23  error  Expected to return a value at the end of async function 'stopRecording'  consistent-return
  229:7   error  Unexpected if as the only statement in an else block                     no-lonely-if

/home/runner/work/deliberation-empirica/deliberation-empirica/server/src/utils/logging.js
  1:17  error  'warn' is defined but never used  no-unused-vars
  1:29  error  'log' is defined but never used   no-unused-vars

✖ 37 problems (28 errors, 9 warnings)
  3 errors and 0 warnings potentially fixable with the '--fix' option.

@JamesPHoughton JamesPHoughton marked this pull request as ready for review September 5, 2025 19:04
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.

sounds chime when players matched from lobby

2 participants