Skip to content

Comments

Autogenerate document IDs#29

Merged
danReynolds merged 3 commits intomainfrom
feature/autogenID
Nov 5, 2025
Merged

Autogenerate document IDs#29
danReynolds merged 3 commits intomainfrom
feature/autogenID

Conversation

@danReynolds
Copy link
Owner

Given that this library takes some cues from Cloud Firestore, which supports automatically generating IDs, let's add that.

Copilot AI review requested due to automatic review settings November 4, 2025 14:32
Copy link

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

This PR removes the uuid package dependency and replaces it with a custom generateId() implementation that generates cryptographically secure, URL-safe random IDs using Dart's built-in Random.secure().

  • Removed the uuid dependency from pubspec.yaml
  • Implemented a custom ID generation function in lib/utils/id.dart
  • Updated minimum SDK version from >=3.0.0 to >=3.3.0

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
lib/utils/id.dart New custom ID generator using Random.secure() with 21-character default length and 126 bits of entropy
lib/persistor/worker/messages.dart Replaced uuid.v4() with generateId() for message request IDs
lib/broadcast_observer.dart Replaced uuid.v4() with generateId() for observer IDs
lib/collection.dart Made doc() ID parameter optional, using generateId() as default
lib/loon.dart Replaced import of uuid package with custom id.dart utility, simplified type casting
example/lib/random_operation_runner.dart Replaced uuid.v4() with generateId() for test user IDs
test/utils.dart Removed unused uuid import and constant
pubspec.yaml Removed uuid dependency and bumped minimum SDK version to >=3.3.0

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

@danReynolds danReynolds merged commit b5d974a into main Nov 5, 2025
1 check failed
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