Skip to content

Bump: browser version for tests.#10850

Merged
abnegate merged 10 commits into1.8.xfrom
browser-bump
Nov 25, 2025
Merged

Bump: browser version for tests.#10850
abnegate merged 10 commits into1.8.xfrom
browser-bump

Conversation

@ItzNotABug
Copy link
Copy Markdown
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?

@ItzNotABug ItzNotABug self-assigned this Nov 20, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Nov 20, 2025

📝 Walkthrough

Walkthrough

This pull request updates the appwrite-browser service image from version 0.3.1 to 0.3.2 across deployment configuration files. The test suite is extended with pixel-comparison validation logic: a new test method is added to the AvatarsBase trait for screenshot comparison, and an existing SitesConsoleClientTest is refactored to replace MD5 hash-based validation with pixel-perfect image comparisons against reference screenshots. The test resource file index.html is enhanced with a CSS theming system using CSS variables and dark-mode support, along with new semantic HTML content.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • The appwrite-browser version bumps are trivial and homogeneous across two files, but require verification that the version change is intentional
  • The new test method in AvatarsBase requires review of the pixel comparison implementation logic and test assertions
  • The refactored SitesConsoleClientTest needs careful examination to ensure pixel-perfect comparisons are correctly replacing hash-based validation for both light and dark screenshots
  • The HTML/CSS changes in the test resource file require validation of the theming system implementation, CSS variable definitions, and responsive layout approach
  • Reference image path resolution and existence checks need verification for both screenshot variants

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is an empty template with placeholder sections and no actual details about the changes or test plan. Fill in the template sections with concrete details explaining the browser version bump, its purpose, and how the changes were tested.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: bumping the browser service image version from 0.3.1 to 0.3.2 across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 browser-bump

📜 Recent 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 c6e4afd and 8c854b7.

⛔ Files ignored due to path filters (3)
  • tests/resources/avatars/screenshot-example-com.png is excluded by !**/*.png
  • tests/resources/sites/static-themed/screenshot-dark.png is excluded by !**/*.png
  • tests/resources/sites/static-themed/screenshot-light.png is excluded by !**/*.png
📒 Files selected for processing (5)
  • app/views/install/compose.phtml (1 hunks)
  • docker-compose.yml (1 hunks)
  • tests/e2e/Services/Avatars/AvatarsBase.php (1 hunks)
  • tests/e2e/Services/Sites/SitesConsoleClientTest.php (2 hunks)
  • tests/resources/sites/static-themed/index.html (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
tests/e2e/Services/Avatars/AvatarsBase.php (1)
tests/e2e/Scopes/Scope.php (1)
  • assertSamePixels (112-125)
⏰ 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). (2)
  • GitHub Check: Setup & Build Appwrite Image
  • GitHub Check: scan
🔇 Additional comments (5)
app/views/install/compose.phtml (1)

862-862: LGTM! Consistent version bump.

The browser version bump to 0.3.2 is consistent with the change in docker-compose.yml. Good practice to keep both deployment configurations synchronized.

tests/resources/sites/static-themed/index.html (1)

8-73: Well-structured theming system for test resource.

The HTML and CSS structure is clean and appropriate for screenshot testing:

  • CSS variables provide flexible theming
  • Dark mode support via prefers-color-scheme media query
  • Semantic HTML with centered layout
  • Badge component adds visual validation points

Reference screenshots verified: both screenshot-light.png and screenshot-dark.png exist in the same directory as expected by the tests.

tests/e2e/Services/Avatars/AvatarsBase.php (1)

1297-1323: Good addition of deterministic screenshot comparison test.

The new test method provides pixel-perfect validation of screenshot rendering using a stable target (example.com). The implementation correctly validates response status and content-type, checks for reference file existence before comparison, and uses assertSamePixels for deterministic visual validation.

Verification confirms the reference file tests/resources/avatars/screenshot-example-com.png exists and is available for the test.

tests/e2e/Services/Sites/SitesConsoleClientTest.php (1)

77-95: Pixel-perfect comparison refactoring verified and approved.

The shift from MD5-based validation to pixel-perfect comparison is a solid improvement for visual regression testing. The implementation properly resolves reference paths, validates file existence before comparison, and uses deterministic pixel-by-pixel validation for both light and dark themes. Both reference screenshot files are confirmed to exist in tests/resources/sites/static-themed/.

docker-compose.yml (1)

961-961: Confirmed: appwrite/browser:0.3.2 image is published and available on Docker Hub. However, public release notes for this specific version are not available.

The image exists and can be used. However, Appwrite does not publish detailed changelogs for the appwrite/browser Docker image versions. To understand what changes this version includes, you may need to contact Appwrite maintainers or check the appwrite/browser source repository directly. Since this is a minor version bump (0.3.1 → 0.3.2), it likely contains bug fixes or minor updates, but specific details are unavailable publicly.


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

github-actions bot commented Nov 20, 2025

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
imagemagick 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-c++ 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-dev 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-heic 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-jpeg 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-jxl 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-libs 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-openexr 7.1.2.3-r0 CVE-2025-62171 HIGH
imagemagick-webp 7.1.2.3-r0 CVE-2025-62171 HIGH
libecpg 17.6-r0 CVE-2025-12818 HIGH
libecpg-dev 17.6-r0 CVE-2025-12818 HIGH
libpq 17.6-r0 CVE-2025-12818 HIGH
libpq-dev 17.6-r0 CVE-2025-12818 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
postgresql17-dev 17.6-r0 CVE-2025-12818 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-58186 HIGH
stdlib 1.22.10 CVE-2025-58187 HIGH
stdlib 1.22.10 CVE-2025-58188 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

@github-actions
Copy link
Copy Markdown

github-actions bot commented Nov 21, 2025

✨ Benchmark results

  • Requests per second: 1,219
  • Requests with 200 status code: 219,377
  • P99 latency: 0.159291574

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 1,219 1,196
200 219,377 215,263
P99 0.159291574 0.174078357

@ItzNotABug ItzNotABug marked this pull request as ready for review November 25, 2025 07:57
@abnegate abnegate merged commit 1c9fd39 into 1.8.x Nov 25, 2025
41 checks passed
@abnegate abnegate deleted the browser-bump branch November 25, 2025 08:28
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