Skip to content

Realtime query subscriptions#11237

Merged
abnegate merged 3 commits into1.8.xfrom
realtime-query-subscriptions
Feb 5, 2026
Merged

Realtime query subscriptions#11237
abnegate merged 3 commits into1.8.xfrom
realtime-query-subscriptions

Conversation

@ArnabChatterjee20k
Copy link
Copy Markdown
Member

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?

@ArnabChatterjee20k ArnabChatterjee20k changed the base branch from main to 1.8.x February 3, 2026 13:07
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 3, 2026

📝 Walkthrough

Walkthrough

Replaces dots with underscores when building the lookup key for channel-specific query parameters in constructSubscriptions of the Realtime adapter, changing how subscription parameters are retrieved for channel names that contain dots. Adds two end-to-end tests for collection-scoped document channels: one asserting event reception on a scoped documents channel, and one asserting query-filtered subscription behavior.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2
❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Description check ⚠️ Warning The description only contains the repository's default contribution template with uncompleted sections and no actual implementation details about the changes made. Complete the PR description by explaining what the changes do (dot escaping fix for channel names, new tests for collection-scoped subscriptions), why they are needed, and provide a test plan.
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Realtime query subscriptions' is directly related to the main changes: fixing dot handling in realtime channel names and adding tests for collection-scoped document channel subscriptions with queries.

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

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch realtime-query-subscriptions

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.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Feb 3, 2026

Open in StackBlitz

npm i https://pkg.pr.new/appwrite/appwrite/@appwrite.io/console@11237

commit: f82662e

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2026

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
libcrypto3 3.5.4-r0 CVE-2025-15467 CRITICAL
libcrypto3 3.5.4-r0 CVE-2025-69419 HIGH
libcrypto3 3.5.4-r0 CVE-2025-69421 HIGH
libexpat 2.7.3-r0 CVE-2026-24515 CRITICAL
libpng 1.6.51-r0 CVE-2025-66293 HIGH
libpng 1.6.51-r0 CVE-2026-22695 HIGH
libpng 1.6.51-r0 CVE-2026-22801 HIGH
libpng-dev 1.6.51-r0 CVE-2025-66293 HIGH
libpng-dev 1.6.51-r0 CVE-2026-22695 HIGH
libpng-dev 1.6.51-r0 CVE-2026-22801 HIGH
libssl3 3.5.4-r0 CVE-2025-15467 CRITICAL
libssl3 3.5.4-r0 CVE-2025-69419 HIGH
libssl3 3.5.4-r0 CVE-2025-69421 HIGH
libxml2 2.13.8-r0 CVE-2025-49794 CRITICAL
libxml2 2.13.8-r0 CVE-2025-49796 CRITICAL
libxml2 2.13.8-r0 CVE-2025-49795 HIGH
libxml2 2.13.8-r0 CVE-2025-6021 HIGH
openssl 3.5.4-r0 CVE-2025-15467 CRITICAL
openssl 3.5.4-r0 CVE-2025-69419 HIGH
openssl 3.5.4-r0 CVE-2025-69421 HIGH
openssl-dev 3.5.4-r0 CVE-2025-15467 CRITICAL
openssl-dev 3.5.4-r0 CVE-2025-69419 HIGH
openssl-dev 3.5.4-r0 CVE-2025-69421 HIGH
py3-urllib3 1.26.20-r0 CVE-2026-21441 HIGH
py3-urllib3-pyc 1.26.20-r0 CVE-2026-21441 HIGH
github.com/containerd/containerd/v2 v2.0.2 CVE-2024-25621 HIGH
golang.org/x/crypto v0.31.0 CVE-2025-22869 HIGH
golang.org/x/oauth2 v0.24.0 CVE-2025-22868 HIGH
stdlib 1.22.10 CVE-2025-47907 HIGH
stdlib 1.22.10 CVE-2025-58183 HIGH
stdlib 1.22.10 CVE-2025-61726 HIGH
stdlib 1.22.10 CVE-2025-61728 HIGH
stdlib 1.22.10 CVE-2025-61729 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2026

✨ Benchmark results

  • Requests per second: 2,478
  • Requests with 200 status code: 446,108
  • P99 latency: 0.062044438

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 2,478 1,188
200 446,108 213,921
P99 0.062044438 0.169964094

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

🤖 Fix all issues with AI agents
In `@tests/e2e/Services/Realtime/RealtimeCustomClientQueryTest.php`:
- Around line 2266-2282: The testConsole method uses hard-coded project/database
IDs and lacks assertions; update it to obtain project and database IDs from test
fixtures/config or provision them in setUp (instead of the literals
'6981e806000e18b050be' and '6981e7dc0003192f3424'), create or ensure the 'kv'
collection if needed, then call Client::METHOD_POST via $this->client->call as
before but capture the response and assert success (e.g., HTTP 201/200 and that
a documentId or returned document data exists); reference the testConsole
method, $this->client->call, getHeaders(), and ID::unique() when making these
changes.

@abnegate abnegate merged commit fed8354 into 1.8.x Feb 5, 2026
101 of 103 checks passed
@abnegate abnegate deleted the realtime-query-subscriptions branch February 5, 2026 09:36
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