Skip to content

fix(mascot): swap to yellow mascot via @remotion/player#1200

Merged
senamakel merged 4 commits intotinyhumansai:mainfrom
senamakel:fix/mascot
May 5, 2026
Merged

fix(mascot): swap to yellow mascot via @remotion/player#1200
senamakel merged 4 commits intotinyhumansai:mainfrom
senamakel:fix/mascot

Conversation

@senamakel
Copy link
Copy Markdown
Member

@senamakel senamakel commented May 5, 2026

Summary

  • Swap the dark Ghosty on the Human page for the yellow mascot, rendered via @remotion/player.
  • Reuse the Remotion-authored mascot sources (Idle / Thinking / Talking) as the source of truth for the SVG + animation logic.
  • Map the existing MascotFace lifecycle (thinking/speaking/listening/etc.) onto the right Remotion composition per state.
  • Make the mascot loop seamlessly: snap every periodic oscillator (bob, head-dot drift, sway, lipsync, blink, wave) to a whole number of cycles within durationInFrames, and add an optional thinking out-ramp so frame 0 == frame N.

Problem

The previous Ghosty mascot is real-time-clock based and visually distinct from the yellow mascot maintained in remotion/. We want the yellow mascot in the desktop app, but porting the SVG + animation system into the app's real-time renderer would duplicate logic and drift over time. Additionally, the yellow mascot's sine-driven oscillators didn't divide the composition duration cleanly, so playing it on a loop produced visible pops at the wrap.

Solution

  • Add @remotion/player (+ remotion, @remotion/zod-types, zod) to app/.
  • Copy the Remotion mascot sources into app/src/features/human/Mascot/yellow/ and rewrite their relative imports.
  • New YellowMascot.tsx wraps <Player>, picks a composition based on face, and explicitly calls playerRef.play() on mount / variant change since autoPlay is unreliable across browsers and strict-mode mounts.
  • Make MascotCharacter loop-clean: helper functions snap each oscillator's frequency to the nearest value that fits an integer cycle count in durationInFrames. The thinking variant gets in/out ramps (thinkInStartSec/thinkInEndSec/thinkOutStartSec/thinkOutEndSec) so it returns to idle at the loop boundary.
  • HumanPage.tsx now renders <YellowMascot face={face} /> instead of <Ghosty face viseme />. Visemes are intentionally dropped — the yellow mascot has its own talking lipsync.
  • Ghosty and viseme exports are kept so existing tests still pass and the legacy renderer remains available.

Submission Checklist

  • N/A: visual / integration change with no behavioral logic to assert in unit tests; the yellow mascot's animation timings are deterministic from useVideoConfig() and verified visually
  • N/A: presentational swap with no computational paths added (no Vitest/cargo coverage targets to grow)
  • N/A: behaviour-only change — no new feature rows for the coverage matrix
  • N/A: no new feature IDs introduced
  • N/A: @remotion/player runs entirely client-side, no backend or network dependency added
  • N/A: does not touch release-cut surfaces in the manual smoke checklist
  • N/A: no linked issue

Impact

  • Desktop: Human page now renders the yellow mascot. Bundle grows by @remotion/player + remotion (~few hundred KB pre-gzip). Mascot updates in remotion/ propagate to the app via the copied files.
  • No backend, mobile, or CLI impact.

Related

  • Closes:
  • Follow-up PR(s)/TODOs: consolidate the duplicated mascot sources between remotion/ and app/src/features/human/Mascot/yellow/ into a shared internal package.

Summary by CodeRabbit

  • New Features

    • Replaced the previous mascot with an animated yellow mascot supporting idle, talking, and thinking poses, plus loop-aligned thinking timing.
    • Added animated loading spinner and pulsing recording face for richer visual feedback.
    • Mascot now plays as an embedded animated player with responsive sizing and automatic playback.
  • Chores

    • Added Remotion runtime and Zod type/runtime packages to support new animations.

senamakel added 3 commits May 4, 2026 20:13
The Player loops back to frame 0, so any oscillator whose period doesn't
divide durationInFrames evenly produced a visible pop. Snap each periodic
animation (bob, head-dot drift, sway, lipsync, blink, wave) to the closest
frequency that completes a whole number of cycles in the composition's
duration so the first and last frames match exactly.
@senamakel senamakel requested a review from a team May 5, 2026 03:21
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4df371a0-8b50-46a9-870a-c7c33936ddd2

📥 Commits

Reviewing files that changed from the base of the PR and between 957a771 and d19cf21.

📒 Files selected for processing (2)
  • app/src/features/human/Mascot/YellowMascot.tsx
  • app/src/features/human/Mascot/yellow/MascotThinking.tsx
🚧 Files skipped from review as they are similar to previous changes (2)
  • app/src/features/human/Mascot/yellow/MascotThinking.tsx
  • app/src/features/human/Mascot/YellowMascot.tsx

📝 Walkthrough

Walkthrough

Adds a Remotion-based yellow mascot system: SVG mascot core with multiple variants (Idle, Talking, Thinking), Remotion Player wrapper, configurable thinking timing, new face overlays, package dependency additions, and HumanPage integration replacing Ghosty.

Changes

Yellow Mascot System

Layer / File(s) Summary
Dependencies
app/package.json
Added remotion, @remotion/player, @remotion/zod-types at 4.0.454, and pinned zod to 4.3.6.
Public Exports / Integration
app/src/features/human/Mascot/index.ts, app/src/features/human/HumanPage.tsx
Exported YellowMascot/props from mascot barrel; swapped GhostyYellowMascot in HumanPage and removed viseme prop usage while keeping useHumanMascot call.
Player Wrapper & Variant Selection
app/src/features/human/Mascot/YellowMascot.tsx
New YellowMascot component selecting between Idle/Talking/Thinking variants based on face/arm, constructs inputProps, renders a looping Remotion Player, and imperatively starts playback on variant change.
Core Animation Component & Schema
app/src/features/human/Mascot/yellow/MascotCharacter.tsx
New mascotSchema (Zod) and MascotCharacter SVG component with frame-driven animations: bob, blink/sleep, lip-sync, arm/greeting, thinking pose, Zzz letters, idPrefix namespacing, and many loop-safe motion primitives.
Face Overlays
app/src/features/human/Mascot/yellow/RecordingFace.tsx, .../LoadingFace.tsx
Added RecordingFace (pulsing dot halo) and LoadingFace (rotating arc) SVG components used as alternate faces.
Variant Wrappers
app/src/features/human/Mascot/yellow/MascotIdle.tsx, .../MascotTalking.tsx, .../MascotThinking.tsx
Added Idle/Talking/Thinking wrapper components that render MascotCharacter with fixed pose props; Thinking computes loop-aligned think-in/out timing from useVideoConfig.
Remotion Mascot Lib: Thinking Timing
remotion/src/Mascot/lib/MascotCharacter.tsx
Extended exported MascotCharacter props with ThinkingTiming (seconds-based thinkInStartSec, thinkInEndSec, thinkOutStartSec, thinkOutEndSec) and replaced fixed thinking-frame math with configurable ramps/out-ramp conditional logic.
Remotion Thinking Variant Update
remotion/src/Mascot/yellow-MascotThinking.tsx
Reworked to read fps/durationInFrames via useVideoConfig, compute total duration, and pass calculated think timing props to MascotCharacter for seamless looping.

Sequence Diagram

sequenceDiagram
    participant HumanPage
    participant YellowMascot
    participant Selector as variantForFace
    participant Player as Remotion Player
    participant Variant as Variant (Idle/Talking/Thinking)
    participant MascotCharacter
    participant Face as Face (Normal/Loading/Recording)

    HumanPage->>YellowMascot: render(face)
    YellowMascot->>Selector: choose variant & inputProps
    Selector-->>YellowMascot: component + inputProps
    YellowMascot->>YellowMascot: memoize selection
    YellowMascot->>YellowMascot: useEffect -> player.play()
    YellowMascot->>Player: render Player(component, inputProps, fps, duration)
    Player->>Variant: mount variant
    Variant->>MascotCharacter: pass pose & timing props
    MascotCharacter->>MascotCharacter: compute frame-driven animations (bob, blink, mouth, thinking)
    MascotCharacter->>Face: render appropriate face overlay
    Face-->>MascotCharacter: composed SVG
    MascotCharacter-->>Player: rendered frame
    Player-->>YellowMascot: looping frames
    YellowMascot-->>HumanPage: displays animated mascot
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • tinyhumansai/openhuman#1147: Modifies mascot face/state logic and useHumanMascot usage; relates to replacing Ghosty and variant wiring.
  • tinyhumansai/openhuman#1193: Extends yellow mascot variants and modifies MascotCharacter thinking timing in the Remotion mascot library.

Poem

🐰 I hopped in softly, yellow and bold,
SVG ears and stories told.
Bobbing, blinking, looping fine,
Remotion rhythms—dance in time.
A tiny rabbit cheers: "Hello, new mascot shine!"

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

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.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(mascot): swap to yellow mascot via @remotion/player' directly corresponds to the PR's main objective of replacing the Ghosty mascot with the yellow mascot using @remotion/player.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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


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

Copy link
Copy Markdown
Contributor

@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

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/src/features/human/Mascot/yellow/MascotThinking.tsx`:
- Line 1: The file MascotThinking.tsx imports the entire React namespace but
only uses it for typing (React.FC); change to a type-only import to follow TS
guidelines—for example replace the default namespace import with a type import
(e.g., import type React from 'react' or import type { FC } from 'react') and
update the component signature to use the chosen type (React.FC or FC) so the
runtime React import is removed.

In `@app/src/features/human/Mascot/YellowMascot.tsx`:
- Line 2: The file imports React as a value but only uses it for types and
defines a type alias for Variant; split the import so hooks remain runtime
imports and React is imported as a type (e.g., add "import type React from
'react';" and keep "import { useEffect, useMemo, useRef } from 'react';"), and
replace the "type Variant = { ... }" alias with "interface Variant { ... }" to
match repository conventions (this affects usages of React.FC and
React.ComponentType which will now reference the imported React type and the
renamed Variant interface).
🪄 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: 4697387e-3b4b-47a7-b485-fcee46a60ec7

📥 Commits

Reviewing files that changed from the base of the PR and between 24019ed and 957a771.

⛔ Files ignored due to path filters (3)
  • app/src-tauri/Cargo.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • remotion/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (12)
  • app/package.json
  • app/src/features/human/HumanPage.tsx
  • app/src/features/human/Mascot/YellowMascot.tsx
  • app/src/features/human/Mascot/index.ts
  • app/src/features/human/Mascot/yellow/LoadingFace.tsx
  • app/src/features/human/Mascot/yellow/MascotCharacter.tsx
  • app/src/features/human/Mascot/yellow/MascotIdle.tsx
  • app/src/features/human/Mascot/yellow/MascotTalking.tsx
  • app/src/features/human/Mascot/yellow/MascotThinking.tsx
  • app/src/features/human/Mascot/yellow/RecordingFace.tsx
  • remotion/src/Mascot/lib/MascotCharacter.tsx
  • remotion/src/Mascot/yellow-MascotThinking.tsx

Comment thread app/src/features/human/Mascot/yellow/MascotThinking.tsx Outdated
Comment thread app/src/features/human/Mascot/YellowMascot.tsx Outdated
Address CodeRabbit review: import only the React types/hooks actually used
and prefer `interface` over `type` aliases for object shapes.
@senamakel senamakel merged commit f9f2360 into tinyhumansai:main May 5, 2026
21 of 22 checks passed
jwalin-shah added a commit to jwalin-shah/openhuman that referenced this pull request May 5, 2026
* feat(remotion): Ghosty character library with transparent MOV variants (tinyhumansai#1059)

Co-authored-by: WOZCODE <contact@withwoz.com>

* feat(composio/gmail): sync into memory tree (Slack-parity) (tinyhumansai#1056)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(scheduler-gate): throttle background AI on battery / busy CPU (tinyhumansai#1062)

* fix(core,cef): run core in-process and stop orphaning CEF helpers on Cmd+Q (tinyhumansai#1061)

* ci: add dedicated staging release workflow (tinyhumansai#1066)

* fix(sentry): Rust source context + per-release deploy marker (tinyhumansai#405) (tinyhumansai#1067)

* fix(welcome): re-enable OAuth buttons with focus/timeout recovery (tinyhumansai#1049) (tinyhumansai#1069)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(dependencies): update pnpm-lock.yaml and Cargo.lock for package… (tinyhumansai#1082)

* fix(onboarding): personalize welcome agent greeting with user identity (tinyhumansai#1078)

* fix(chat): make agent message bubbles fit content width (tinyhumansai#1083)

* Feat/dmg checks (tinyhumansai#1084)

* fix(linux): Add X11 platform flags to .deb package launcher (tinyhumansai#1087)

Co-authored-by: unn-Known1 <unn-known1@users.noreply.github.com>

* fix(sentry): auto-send React events; collapse core→tauri for desktop (tinyhumansai#1086)

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* fix(cef): run blank reload guard on the CEF UI thread (tinyhumansai#1092)

* fix(app): reload webview instead of restart_app in dev mode (tinyhumansai#1068) (tinyhumansai#1071)

* fix(linux): deliver X11 ozone flags via custom .desktop template (tinyhumansai#1091)

* fix(webview-accounts): retry data-dir purge so CEF handle race doesn't leak cookies (tinyhumansai#1076) (tinyhumansai#1081)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* fix(webview/slack): media perms + deep-link isolation (tinyhumansai#1074) (tinyhumansai#1080)

Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* ci(release): split staging vs production workflows; promote staging tags (tinyhumansai#1094)

* Update release-staging.yml (tinyhumansai#1097)

* chore(staging): v0.53.5

* chore(staging): v0.53.6

* ci(staging): cut staging from main; add act local-debug helper (tinyhumansai#1099)

* chore(staging): v0.53.7

* fix(ci): correct sentry-cli download URL and trap scope (tinyhumansai#1100)

* chore(staging): v0.53.8

* feat(chat): forward thread_id to backend for KV cache locality (tinyhumansai#1095)

* fix(ci): bump pinned sentry-cli to 3.4.1 (2.34.2 was never published) (tinyhumansai#1102)

* chore(staging): v0.53.9

* fix(ci): drop bash trap in upload_sentry_symbols.sh; inline cleanup (tinyhumansai#1103)

* chore(staging): v0.53.10

* refactor(session): flatten session_raw/, switch md to YYYY_MM_DD (tinyhumansai#1098)

* Add full Composio managed-auth toolkit catalog (tinyhumansai#1093)

* ci: add diff-aware 80% coverage gate (Vitest + cargo-llvm-cov) (tinyhumansai#1104)

* feat(scripts): pnpm work + pnpm debug for agent-driven workflows (tinyhumansai#1105)

* ci: pull pnpm into CI image, drop redundant setup steps (tinyhumansai#1107)

* docs: add Cursor Cloud specific instructions to AGENTS.md (tinyhumansai#1106)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* chore(staging): v0.53.11

* docs: surface 80% coverage gate and scripts/debug runners (tinyhumansai#1108)

* feat(app): show Composio integrations as sorted icon grid on Skills (tinyhumansai#1109)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* feat(composio): client-side trigger enable/disable toggles (tinyhumansai#1110)

* feat(skills): channels grid + integrations card polish; tolerant Composio trigger decode (tinyhumansai#1112)

* chore(staging): v0.53.12

* feat(home): early-bird banner + assistant→agent terminology (tinyhumansai#1113)

* feat(updater): in-app auto-update with auto-download + restart prompt (tinyhumansai#677) (tinyhumansai#1114)

* chore(claude): add ship-and-babysit slash command (tinyhumansai#1115)

* feat(home): EarlyBirdyBanner + agent terminology + LinkedIn enrichment model pin (tinyhumansai#1118)

* fix(chat): single onboarding thread in sidebar after wizard (tinyhumansai#1116)

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Steven Enamakel <senamakel@users.noreply.github.com>

* fix: filter out global namespace from citation chips (tinyhumansai#1124)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>

* feat(nav): enable Memory tab in BottomTabBar (tinyhumansai#1125)

* feat(memory): singleton ingestion + status RPC + UI pill (tinyhumansai#1126)

* feat(human): mascot tab with viseme-driven lipsync (staging only) (tinyhumansai#1127)

* Fix CEF zombie processes on full app close and restart (tinyhumansai#1128)

Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>

* Update issue templates for GitHub issue types (tinyhumansai#1146)

* feat(human): expand mascot expressions and tighten reply-speech state machine (tinyhumansai#1147)

* feat(memory): ingestion pipeline + tree-architecture docs + ops/schemas split (tinyhumansai#1142)

* feat(threads): surface live subagent work in parent thread (tinyhumansai#1122) (tinyhumansai#1159)

* fix(human): keep mascot mouth animating when TTS ships no viseme data (tinyhumansai#1160)

* feat(composio): consume backend markdownFormatted for LLM output (tinyhumansai#1165)

* fix(subagent): lazy-register toolkit actions filtered out of fuzzy top-K (tinyhumansai#1162)

* feat(memory): user-facing long-term memory window preset (tinyhumansai#1137) (tinyhumansai#1161)

* fix(tauri-shell): proactively kill stale openhuman RPC on startup (tinyhumansai#1166)

* chore(staging): v0.53.13

* fix(composio): per-action tool consumes backend markdownFormatted (tinyhumansai#1167)

* fix(threads): persist selectedThreadId across reloads (tinyhumansai#1168)

* feat(memory_tree): switch embed model to bge-m3 (1024-dim, 8K context) (tinyhumansai#1174)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(agent): drop redundant [Memory context] recall injection (tinyhumansai#1173)

* chore(memory_tree): drop body-read timeouts on Ollama HTTP calls (tinyhumansai#1171)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(transcript): emit thread_id + fix orchestrator missing cost (tinyhumansai#1169)

* fix(composio/gmail): phase out html2md, prefer text/plain MIME part (tinyhumansai#1170)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(tools): markdown output for internal tool results (tinyhumansai#1172)

* feat(security): enforce prompt-injection guard before model and tool execution (tinyhumansai#1175)

* fix(cef): popup paint dies after first frame — skip blank-page guard for popups (tinyhumansai#1079) (tinyhumansai#1182)

Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>

* chore(sentry): rename OPENHUMAN_SENTRY_DSN → OPENHUMAN_CORE_SENTRY_DSN (tinyhumansai#1186)

* feat(remotion): add yellow mascot character with all animation variants (tinyhumansai#1193)

Co-authored-by: Neel Mistry <neelmistry@Neels-MacBook-Pro.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor(composio): hide raw connection ID, derive friendly label (tinyhumansai#1153) (tinyhumansai#1185)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>

* fix(windows): align install.ps1 MSI with per-machine scope (tinyhumansai#913) (tinyhumansai#1187)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(tauri): deterministic CEF teardown on full app close (tinyhumansai#1120) (tinyhumansai#1189)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(composio): cap Gmail HTML body before strip (crash mitigation) (tinyhumansai#1191)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(auth): stop stale chat threads after signup (tinyhumansai#1192)

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(sentry): staging-only "Trigger Sentry Test" button (tinyhumansai#1072) (tinyhumansai#1183)

* chore(staging): v0.53.14

* chore(staging): v0.53.15

* feat(composio): format trigger slugs into human-readable labels (tinyhumansai#1129) (tinyhumansai#1179)

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>

* fix(ui): hide unsupported permission UI on non-macOS for Screen Intelligence (tinyhumansai#1194)

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(tauri-shell): retire embedded Gmail webview-account flow (tinyhumansai#1181)

* feat(onboarding): replace welcome-agent bot with react-joyride walkthrough (tinyhumansai#1180)

* chore(release): v0.53.16

* fix(threads): preserve selectedThreadId on cold-boot identity hydration (tinyhumansai#1196)

* feat(core): version/shutdown/update RPCs + mid-thread integration refresh (tinyhumansai#1195)

* fix(mascot): swap to yellow mascot via @remotion/player (tinyhumansai#1200)

* feat(memory_tree): cloud-default LLM, queue priority, entity filter, Memory tab UI (tinyhumansai#1198)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Persist turn state + restore conversation history on cold-boot (tinyhumansai#1202)

* feat(mascot): floating desktop mascot via native NSPanel + WKWebView (macOS) (tinyhumansai#1203)

* fix(memory/tree): emit summary children as Obsidian wikilinks (tinyhumansai#1210)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* feat(tools): coding-harness baseline primitives (tinyhumansai#1205) (tinyhumansai#1208)

* docs: add Codex PR checklist for remote agents

---------

Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: WOZCODE <contact@withwoz.com>
Co-authored-by: sanil-23 <sanil@vezures.xyz>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: Cyrus Gray <144336577+graycyrus@users.noreply.github.com>
Co-authored-by: CodeGhost21 <164498022+CodeGhost21@users.noreply.github.com>
Co-authored-by: oxoxDev <164490987+oxoxDev@users.noreply.github.com>
Co-authored-by: Mega Mind <146339422+M3gA-Mind@users.noreply.github.com>
Co-authored-by: Gaurang Patel <ptelgm.yt@gmail.com>
Co-authored-by: unn-Known1 <unn-known1@users.noreply.github.com>
Co-authored-by: Steven Enamakel <enamakel@tinyhumans.ai>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Steven Enamakel <senamakel@users.noreply.github.com>
Co-authored-by: Steven Enamakel's Droid <enamakel.agent@tinyhumans.ai>
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: senamakel-droid <281415773+senamakel-droid@users.noreply.github.com>
Co-authored-by: YellowSnnowmann <167776381+YellowSnnowmann@users.noreply.github.com>
Co-authored-by: Neil <neil@maha.xyz>
Co-authored-by: Neel Mistry <neelmistry@Neels-MacBook-Pro.local>
Co-authored-by: obchain <167975049+obchain@users.noreply.github.com>
Co-authored-by: Jwalin Shah <jshah1331@gmail.com>
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.

1 participant