Skip to content

fix: schedules limit#10970

Closed
loks0n wants to merge 1 commit into1.8.xfrom
fix-schedules-limit
Closed

fix: schedules limit#10970
loks0n wants to merge 1 commit into1.8.xfrom
fix-schedules-limit

Conversation

@loks0n
Copy link
Copy Markdown
Member

@loks0n loks0n commented Dec 16, 2025

No description provided.

@loks0n loks0n changed the title Fix schedules limit fix: schedules limit Dec 16, 2025
@loks0n loks0n changed the base branch from main to 1.8.x December 16, 2025 17:18
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Dec 16, 2025

Caution

Review failed

Failed to post review comments

📝 Walkthrough

Walkthrough

This pull request introduces a comprehensive refactoring of Appwrite's authentication and authorization architecture, along with infrastructure and API endpoint updates. Key changes include: migration from Auth class constants to new global constants and User document-based methods; expansion of ADMIN authentication requirements across numerous API endpoints; introduction of multi-stage Docker builds with production/development targets; addition of new email template support with dark mode styling; database schema extensions (new user attributes, indexes, field sizes); framework configuration updates including new TanStack Start support; CSV export functionality; storage enhancements with image transformation flags; dependency updates to support new auth and email capabilities; and platform-aware resource injection replacing environment-based configuration. The changes affect API controllers, configuration files, Docker setup, database documents, email templates, and supporting utilities.

Estimated code review effort

🎯 5 (Critical) | ⏱️ ~120+ minutes

Areas requiring extra attention:

  • API Authentication Changes (app/controllers/api/*.php): Multiple endpoints across health, locale, storage, avatars, graphql, and messaging have expanded auth requirements (adding ADMIN); verify authorization logic is correctly applied and doesn't break existing integrations.
  • User Document and Auth Migration (app/init/constants.php, app/controllers/shared/api.php, app/realtime.php): Pervasive replacement of Auth class methods with User-based equivalents (isPrivileged, isApp); verify all privilege/app checks are correctly migrated and authorization flow is preserved.
  • Resource and Proof System (app/init/resources.php): Introduction of new Store, Token, Password, and Code proof abstractions alongside refactored user/session resource management; validate the token hashing, storage, and retrieval logic.
  • Messaging Provider Nullable Parameters (app/controllers/api/messaging.php): Extensive wrapping of provider fields with Nullable validators and new Resend provider integration; requires careful validation of credential handling and enablement logic across multiple provider types.
  • Database Schema Changes (app/config/collections/common.php): New user attributes (emailCanonical, emailIsFree, etc.), index additions, and field size changes; verify migrations and backward compatibility.
  • Docker Multi-stage Build and CoreDNS Integration (Dockerfile, docker-compose.yml, .env): New production/development stage separation and DNS setup; ensure both paths build correctly and development environment functions as expected.
  • VCS and Migrations Refactoring (app/controllers/api/vcs.php, app/controllers/api/migrations.php): Platform-aware context plumbing, CSV export endpoint additions, and device resource renaming; verify git workflow and migration logic remain intact.
  • Dependency Updates (composer.json): Major version bumps (utopia-php/config 0.2→1.*, database 2→3); assess compatibility and any breaking changes from these libraries.

Possibly related PRs

  • appwrite/appwrite#10778: Introduces similar large-scale wrapping of route parameter validators with Nullable to enable optional null values; closely related at the code-change level for parameter validation patterns.

Suggested reviewers

  • abnegate

Pre-merge checks and finishing touches

❌ Failed checks (1 warning, 2 inconclusive)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive The PR title 'fix: schedules limit' is overly vague and does not clearly describe what aspect of schedules limit is being fixed or why. Replace with a more specific title that clearly describes the nature of the fix, such as 'fix: correct schedules field size limit in migrations' or similar.
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to understand the context, motivation, or scope of the changes. Add a detailed pull request description explaining the issue being fixed, the changes made, and why the changes are necessary.
✨ 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 fix-schedules-limit

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

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

✨ Benchmark results

  • Requests per second: 1,199
  • Requests with 200 status code: 215,943
  • P99 latency: 0.161976875

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 1,199 1,207
200 215,943 217,297
P99 0.161976875 0.169893468

@loks0n loks0n closed this Dec 16, 2025
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