Skip to content

Conversation

@fogelito
Copy link
Contributor

What does this PR do?

(Provide a description of what this PR does and why it's needed.)

Test Plan

(Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Screenshots may also be helpful.)

Related PRs and Issues

  • (Related PR or issue)

Checklist

  • Have you read the Contributing Guidelines on issues?
  • If the PR includes a change to an API's metadata (desc, label, params, etc.), does it also include updated API specs and example docs?

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 17, 2025

📝 Walkthrough

Walkthrough

The composer.json file was updated to change dependency constraints: utopia-php/framework moved from 0.33.* to dev-telemetry-0.2 as 0.33.35, utopia-php/storage moved from 0.18.* to dev-bump-telemetry as 0.18.18, and utopia-php/telemetry moved from 0.1.* to 0.2.*. No other files or configuration changes are included.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Single file modified: composer.json
  • Changes are homogeneous dependency version/branch-alias updates
  • Review attention:
    • Verify branch-alias strings (dev-telemetry-0.2 as 0.33.35, dev-bump-telemetry as 0.18.18) match intended branches/tags
    • Confirm utopia-php/telemetry 0.2.* compatibility with the aliased framework and storage versions
    • Run dependency resolution (composer update) and CI/tests to validate integration and avoid conflicts

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description contains only the contribution template with empty placeholder sections and no actual information about the changes being made. Provide a meaningful description explaining what this PR does, why the telemetry upgrade is needed, and include a test plan.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Telemetry 0.2' is directly related to the main change, which upgrades the telemetry dependency from 0.1.* to 0.2.* and related components.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch telemetry-0.2

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.

@github-actions
Copy link

github-actions bot commented Dec 17, 2025

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
libpng 1.6.51-r0 CVE-2025-66293 HIGH
libpng-dev 1.6.51-r0 CVE-2025-66293 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

@github-actions
Copy link

github-actions bot commented Dec 17, 2025

✨ Benchmark results

  • Requests per second: 1,091
  • Requests with 200 status code: 196,409
  • P99 latency: 0.174359518

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 1,091 1,102
200 196,409 198,372
P99 0.174359518 0.18423342

Copy link
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

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b727d9f and 1ddf7a5.

⛔ Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • composer.json (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Setup & Build Appwrite Image
  • GitHub Check: Setup & Build Appwrite Image
  • GitHub Check: scan

"utopia-php/dns": "1.4.*",
"utopia-php/dsn": "0.2.1",
"utopia-php/framework": "0.33.*",
"utopia-php/framework": "dev-telemetry-0.2-v2 as 0.33.35",
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

# Find and read the composer.json file to verify current state
find . -name "composer.json" -type f | head -5

Repository: appwrite/appwrite

Length of output: 76


🏁 Script executed:

# Check if there are any release notes or changelog files mentioning telemetry
find . -type f \( -name "CHANGELOG*" -o -name "RELEASE*" -o -name "CHANGES*" \) | head -10

Repository: appwrite/appwrite

Length of output: 73


🏁 Script executed:

# Search for any documentation about telemetry or framework compatibility
rg -l "telemetry|0\.2" --type md --type txt | head -20

Repository: appwrite/appwrite

Length of output: 102


🏁 Script executed:

# Read composer.json to verify the exact state at lines 61 and 77
cat -n ./composer.json | sed -n '55,85p'

Repository: appwrite/appwrite

Length of output: 1524


🏁 Script executed:

# Read CHANGES.md to understand the telemetry changes and context
head -100 ./CHANGES.md

Repository: appwrite/appwrite

Length of output: 9647


🏁 Script executed:

# Search CHANGES.md for telemetry mentions
grep -i "telemetry" ./CHANGES.md | head -20

Repository: appwrite/appwrite

Length of output: 499


🏁 Script executed:

# Search the entire codebase for telemetry-related documentation or PR references
rg -i "telemetry.*0\.2|dev-telemetry-0\.2-v2" --type md --type json | head -20

Repository: appwrite/appwrite

Length of output: 573


🏁 Script executed:

# Check git information about the branch and tags
cd . && git branch -a 2>/dev/null | grep telemetry || echo "No telemetry branches found"
cd . && git tag | grep -E "telemetry|0\.33\.35" | head -10 || echo "No matching tags found"

Repository: appwrite/appwrite

Length of output: 88


🏁 Script executed:

# Search for any documentation or PRs explaining the dev branch usage
rg -i "dev-telemetry|framework.*telemetry" --type md --type json --type php | head -30

Repository: appwrite/appwrite

Length of output: 263


🏁 Script executed:

# Check if there are any PHP files importing or using telemetry from framework
rg "use.*Telemetry" --type php | head -10

Repository: appwrite/appwrite

Length of output: 760


🏁 Script executed:

# Look for any release notes or migration guides mentioning framework compatibility
rg -i "framework.*0\.33|0\.33.*framework" --type md | head -10

Repository: appwrite/appwrite

Length of output: 166


Critical: Dev branch dependency must be replaced before release branch merge.

The dependency "utopia-php/framework": "dev-telemetry-0.2-v2 as 0.33.35" on line 61 uses an unstable development branch for a release branch (1.8.x), which creates several risks:

  • Dev branches are mutable; commits can be force-pushed or rebased
  • Builds become non-reproducible across environments and time
  • No semantic versioning guarantees for stability

While telemetry 0.2.0 is stable (confirmed in composer.lock), the framework dependency remains on the dev branch. The "as 0.33.35" alias suggests this is a temporary integration awaiting a stable framework release.

Clarify:

  1. Has utopia-php/framework released a stable version (≥0.33.35) with telemetry 0.2 support?
  2. If not, what is the timeline for a stable release?

This must be resolved before merging to the release branch.

Copy link
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: 1

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 19a1676 and 5952cab.

⛔ Files ignored due to path filters (1)
  • composer.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • composer.json (2 hunks)
🔇 Additional comments (1)
composer.json (1)

77-77: Verify telemetry 0.2. compatibility before release.*

Version 0.2.0 was released today and the jump from 0.1.* to 0.2.* represents a major version change that may introduce breaking changes. The codebase has extensive telemetry usage, so compatibility must be validated through testing before merging to the release branch. No public changelog documenting breaking changes could be located, so manual verification is required.

"utopia-php/preloader": "0.2.*",
"utopia-php/queue": "0.11.*",
"utopia-php/registry": "0.5.*",
"utopia-php/storage": "0.18.*",
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

git ls-files composer.json

Repository: appwrite/appwrite

Length of output: 74


🏁 Script executed:

cat -n composer.json | sed -n '70,80p'

Repository: appwrite/appwrite

Length of output: 570


🏁 Script executed:

curl -s https://packagist.org/packages/utopia-php/storage.json 2>/dev/null | jq -r '.package.versions | to_entries[] | select(.key | test("0.18|dev-bump")) | "\(.key): requires telemetry? \(.value.require | has("utopia-php/telemetry"))"' | head -20

Repository: appwrite/appwrite

Length of output: 736


🏁 Script executed:

curl -s https://packagist.org/packages/utopia-php/storage.json 2>/dev/null | jq -r '.package.versions | to_entries[] | select(.key | test("0.18.1[1-9]|0.18.x")) | "\(.key): telemetry: \(.value.require["utopia-php/telemetry"])"' | head -10

Repository: appwrite/appwrite

Length of output: 297


🏁 Script executed:

curl -s https://packagist.org/packages/utopia-php/storage.json 2>/dev/null | jq -r '.package.versions | to_entries[] | select(.value.require["utopia-php/telemetry"] == "0.2.*") | .key' | head -5

Repository: appwrite/appwrite

Length of output: 43


🏁 Script executed:

curl -s https://packagist.org/packages/utopia-php/storage.json 2>/dev/null | jq -r '.package.versions | to_entries[] | select(.key | test("0.18")) | "\(.key): telemetry: \(.value.require["utopia-php/telemetry"] // "none")"' | sort -V | tail -5

Repository: appwrite/appwrite

Length of output: 219


Storage dependency incompatible with telemetry 0.2.*

Line 74 specifies "utopia-php/storage": "0.18.*", but all 0.18.x versions require telemetry 0.1.*. This conflicts with line 77's "utopia-php/telemetry": "0.2.*". Either storage must be updated to a version supporting telemetry 0.2.* (if available) or telemetry must remain at 0.1.*.

🤖 Prompt for AI Agents
In composer.json around line 74, the storage package version
"utopia-php/storage": "0.18.*" requires telemetry 0.1.*, which conflicts with
the declared "utopia-php/telemetry": "0.2.*"; fix by making the two constraints
compatible: either bump the storage requirement to a release that supports
telemetry 0.2.* (replace "0.18.*" with the appropriate newer version) or
downgrade the telemetry requirement to "0.1.*" so both use matching telemetry
versions, then run composer update and commit the updated composer.json and
composer.lock.

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.

2 participants