Skip to content

Mascot fixes - #34

Merged
karthikskailas merged 3 commits into
mainfrom
develop
Aug 1, 2026
Merged

Mascot fixes#34
karthikskailas merged 3 commits into
mainfrom
develop

Conversation

@gksoriginals

Copy link
Copy Markdown
Contributor
  1. Added fix for mascot freezing
  2. Fallback to sticker

@netlify

netlify Bot commented Aug 1, 2026

Copy link
Copy Markdown

Deploy Preview for tinkerspace-display ready!

Name Link
🔨 Latest commit 68abad1
🔍 Latest deploy log https://app.netlify.com/projects/tinkerspace-display/deploys/6a6db3bd2b27e000087cff4c
😎 Deploy Preview https://deploy-preview-34--tinkerspace-display.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@gksoriginals
gksoriginals requested a review from Copilot August 1, 2026 08:52
@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 0d629628-fccc-422f-bc76-889179b4c191

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a mascot “watchdog” + fail-safe path to prevent the mascot from getting stuck (freezing) and to fall back to a static sticker when animation/scheduling health checks fail.

Changes:

  • Introduces watchdog helper utilities for asset URL versioning and failure detection.
  • Adds a fail-safe mode in TinkerHubMascot that stops scheduling and renders a fallback sticker when assets fail to load or watchdog checks fail.
  • Adds CSS for the fallback layout and tests for the watchdog helpers + fail-safe lifecycle.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/styles/index.css Adds fallback container + sticker image styling for the fail-safe UI.
src/components/mascot/watchdog.js New helpers for asset URL cache-busting and watchdog failure classification.
src/components/mascot/watchdog.test.js Unit tests for watchdog helper behavior.
src/components/mascot/TinkerHubMascot.jsx Adds watchdog interval, animation heartbeat tracking, and fail-safe fallback rendering.
src/components/mascot/TinkerHubMascot.test.jsx Adds a regression test to ensure scheduling does not resume after fail-safe activation.

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

Comment on lines 78 to 82
const scheduleNext = useCallback((delay, trackPoseDeadline = true) => {
if (failSafeActiveRef.current) return;
window.clearTimeout(schedulerTimer.current);
if (trackPoseDeadline) poseEndsAt.current = Date.now() + delay;
schedulerTimer.current = window.setTimeout(() => { if (advanceRef.current) advanceRef.current(); }, delay);
Comment on lines +305 to +309
watchdogTimer.current = window.setInterval(() => {
if (document.hidden) {
lastAnimationHeartbeatAt.current = Date.now();
return;
}
@karthikskailas
karthikskailas merged commit 32dd9c1 into main Aug 1, 2026
6 checks passed
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.

3 participants