Skip to content

Remove deprecated uuid dependency#919

Merged
willwashburn merged 1 commit into
mainfrom
codex/fix-uuid-install-warning
May 19, 2026
Merged

Remove deprecated uuid dependency#919
willwashburn merged 1 commit into
mainfrom
codex/fix-uuid-install-warning

Conversation

@willwashburn
Copy link
Copy Markdown
Member

Summary

  • remove direct uuid and @types/uuid dependencies from the root package
  • switch the protocol benchmark baseline to Node crypto.randomUUID
  • bump OpenClaw's optional dockerode dependency to 5.0.0 so install no longer pulls uuid@10

Verification

  • npm install --ignore-scripts
  • npm ls uuid
  • npm ls dockerode
  • npm --prefix packages/openclaw run build

@willwashburn willwashburn requested a review from khaliqgant as a code owner May 19, 2026 17:22
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR removes the deprecated uuid package and its TypeScript types from the project, upgrades dockerode to version 5.0.0, updates the protocol benchmark to use native crypto.randomUUID() as the baseline, and documents the completed task with trajectory metadata.

Changes

UUID deprecation fix and dockerode upgrade

Layer / File(s) Summary
Dependency removal and version upgrades
package.json, packages/openclaw/package.json
Root package.json removes uuid and @types/uuid entries; openclaw package upgrades dockerode optional dependency from ^4.0.0 to ^5.0.0.
Protocol benchmark baseline migration to randomUUID
tests/benchmarks/protocol.bench.ts
Benchmark imports are updated to replace uuid package with randomUUID from node:crypto; the ID-generation benchmark baseline is switched from uuid() to randomUUID(), the FrameParser benchmark is reformatted, and the summary comparison text is updated to reference the new baseline.
Task trajectory metadata
.trajectories/completed/2026-05/traj_sh2ahp9z2xg6.json, .trajectories/completed/2026-05/traj_sh2ahp9z2xg6.md, .trajectories/index.json
New trajectory JSON and markdown files document the UUID removal task decision and retrospective; trajectory index is updated with the new task entry and a current timestamp.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • khaliqgant

Poem

🐰 The uuid package bids goodbye,
As randomUUID says hi!
Benchmarks dance with native speed,
Dockerode five we now succeed—
Deprecation warnings run and hide! 🎉

🚥 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
Title check ✅ Passed The title 'Remove deprecated uuid dependency' clearly and specifically describes the main change in the pull request - removing the uuid package and its type definitions.
Description check ✅ Passed The PR description covers the summary section with clear bullet points and includes a verification section with specific testing steps, matching the template structure and providing sufficient detail.
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.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-uuid-install-warning

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.

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 @.trajectories/completed/2026-05/traj_sh2ahp9z2xg6.json:
- Line 47: Replace the machine-local absolute path stored in the JSON
"projectId" field with a stable, repo-relative identifier or remove the
"projectId" entry entirely: locate the JSON object containing "projectId" (the
key shown in the diff) and either set its value to a repository-relative string
(e.g., a repo name or path relative to repo root) or delete the "projectId"
property so no host-specific path is committed. Ensure the change is applied to
the trajectory metadata generation or the committed artifact so future files do
not include absolute user paths.

In `@tests/benchmarks/protocol.bench.ts`:
- Line 307: The hardcoded benchmark summary string printed by console.log('ID
Generation:      generateId() is ~10-20x faster than randomUUID()') should not
assert a fixed speedup; either compute the speedup from the measured results and
format that value into the log, or replace the message with a
measurement-neutral statement (e.g., "ID Generation: generateId() vs
randomUUID() results below") so it reflects actual runtime data; update the
console.log invocation in the benchmark (the line that prints the ID Generation
summary) to use the computed ratio or neutral text accordingly.
🪄 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 Plus

Run ID: e3c5eb7d-19a4-49a7-be7c-ef9290524fb3

📥 Commits

Reviewing files that changed from the base of the PR and between 212a30f and c334960.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • .trajectories/completed/2026-05/traj_sh2ahp9z2xg6.json
  • .trajectories/completed/2026-05/traj_sh2ahp9z2xg6.md
  • .trajectories/index.json
  • package.json
  • packages/openclaw/package.json
  • tests/benchmarks/protocol.bench.ts
💤 Files with no reviewable changes (1)
  • package.json

},
"commits": [],
"filesChanged": [],
"projectId": "/Users/will/Projects/AgentWorkforce/relay",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Avoid committing machine-local absolute paths in trajectory metadata.

Line 47 persists /Users/will/... in projectId, which leaks local user/path info and makes this metadata host-specific. Please store a stable repo-relative identifier (or omit this field from committed artifacts).

Suggested fix
-  "projectId": "/Users/will/Projects/AgentWorkforce/relay",
+  "projectId": ".",
📝 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
"projectId": "/Users/will/Projects/AgentWorkforce/relay",
"projectId": ".",
🤖 Prompt for 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.

In @.trajectories/completed/2026-05/traj_sh2ahp9z2xg6.json at line 47, Replace
the machine-local absolute path stored in the JSON "projectId" field with a
stable, repo-relative identifier or remove the "projectId" entry entirely:
locate the JSON object containing "projectId" (the key shown in the diff) and
either set its value to a repository-relative string (e.g., a repo name or path
relative to repo root) or delete the "projectId" property so no host-specific
path is committed. Ensure the change is applied to the trajectory metadata
generation or the committed artifact so future files do not include absolute
user paths.

console.log(`\n${BOLD}Summary${RESET}`);
console.log('─'.repeat(65));
console.log('ID Generation: generateId() is ~10-20x faster than uuid()');
console.log('ID Generation: generateId() is ~10-20x faster than randomUUID()');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Avoid hardcoded speedup claims in benchmark summary.

Line 307 hardcodes a performance ratio that may be inaccurate on different runtimes/hardware; keep this line measurement-neutral or compute it from the run results.

Suggested minimal change
-  console.log('ID Generation:      generateId() is ~10-20x faster than randomUUID()');
+  console.log('ID Generation:      See measured ops/s above for generateId() vs randomUUID()');
📝 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
console.log('ID Generation: generateId() is ~10-20x faster than randomUUID()');
console.log('ID Generation: See measured ops/s above for generateId() vs randomUUID()');
🤖 Prompt for 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.

In `@tests/benchmarks/protocol.bench.ts` at line 307, The hardcoded benchmark
summary string printed by console.log('ID Generation:      generateId() is
~10-20x faster than randomUUID()') should not assert a fixed speedup; either
compute the speedup from the measured results and format that value into the
log, or replace the message with a measurement-neutral statement (e.g., "ID
Generation: generateId() vs randomUUID() results below") so it reflects actual
runtime data; update the console.log invocation in the benchmark (the line that
prints the ID Generation summary) to use the computed ratio or neutral text
accordingly.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@willwashburn willwashburn merged commit 774dd63 into main May 19, 2026
55 checks passed
@willwashburn willwashburn deleted the codex/fix-uuid-install-warning branch May 19, 2026 17:52
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