Skip to content

Conversation

eldadfux
Copy link
Member

@eldadfux eldadfux commented Apr 1, 2025

What does this PR do?

Updated WebSocket version

Test Plan

Existing tests

Related PRs and Issues

  • N/A

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?

Summary by CodeRabbit

  • New Features

    • Added support for additional image formats (HEIC and AVIF) and introduced a real‑time heartbeat feature to bolster system monitoring.
  • Improvements

    • Updated default CPU allocation for functions and upgraded client SDKs across multiple platforms for enhanced performance.
    • Standardized email notification formatting in all supported languages for clearer communication.
  • Documentation Updates

    • Revised installation instructions with updated product terminology and a newer Docker image version.
  • Security & Configuration

    • Streamlined regional settings and refined role permissions while removing deprecated common password entries.

Copy link
Contributor

coderabbitai bot commented Apr 1, 2025

Walkthrough

This update introduces a series of configuration and workflow adjustments. New environment variables and API specifications have been added or updated, and several GitHub Actions workflows now reference variables instead of secrets. The Dockerfile and documentation were revised with new image versions and dependency changes. CLI resource management was refactored with improved error handling, while collections, console, error, and function template configurations were extended. Moreover, email translation files have been standardized through punctuation updates, and regions, roles, and platform SDKs were streamlined. A new CI job and minor changes in a calculator module also form part of this update.

Changes

File(s) Change Summary
.env Added new configuration variables: _APP_COMPRESSION_MIN_SIZE_BYTES, _APP_RULES_FORMAT, _APP_STORAGE_S3_ENDPOINT, _APP_MAINTENANCE_RETENTION_AUDIT_CONSOLE, _APP_STATS_RESOURCES_INTERVAL, _APP_FUNCTIONS_CREATION_ABUSE_LIMIT, _APP_STATS_USAGE_DUAL_WRITING_DBS
.github/workflows/{publish.yml, release.yml} Updated Docker Hub username reference from ${{ secrets.DOCKERHUB_USERNAME }} to ${{ vars.DOCKERHUB_USERNAME }}
.github/workflows/tests.yml Introduced new check_database_changes job; updated e2e_shared_mode_test job dependency, matrix strategy, action versions, and sleep durations
CHANGES.md & CONTRIBUTING.md Updated release version (1.6.1), added new runtimes/support details, revised usage statistics metrics and instructions
Dockerfile Upgraded base image from appwrite/base:0.9.3 to 0.10.1, added libwebp, modified executable permissions, adjusted debug conditionals
README(.md, -CN.md) Updated Docker image version (from 1.6.0 to 1.6.2) and revised Table of Contents terminology (e.g. "Services" → "Products")
app/assets/security/10k-common-passwords Removed specific common password entries ("brien", "brienna", "brien1", "briena")
app/cli.php Renamed resource dbForConsoledbForPlatform, added new resources (getLogsDB, queueForStatsUsage, queueForStatsResources), and enhanced error handling with try-catch
app/config/collections/*.php Introduced new configuration files defining collections (e.g. common.php, databases.php, logs.php, platform.php, projects.php) with attributes and indexes
app/config/console.php, errors.php, function-templates.php Added a new console configuration; introduced new error types and updated descriptions; revised runtime versions (e.g. Node, Dart) and added a new Deno runtime entry
app/config/locale/translations/* Standardized email template punctuation (mostly comma adjustments) across multiple language JSON files
app/config/platforms.php, regions.php, roles.php Removed obsolete constants; updated SDK version numbers; simplified regions configuration (retaining only a 'default' region) and modified role permissions (moving 'projects.write' from members to admins)
app/config/specs/open-api* and swagger2-1.6.x-client.json Updated API version to 1.6.1; adjusted endpoint weights, summaries, and descriptions; updated calculator methods and variable names in src/calculator.py

Sequence Diagram(s)

sequenceDiagram
    participant PR as Pull Request
    participant Check as check_database_changes Job
    participant E2E as e2e_shared_mode_test Job
    PR->>Check: Trigger workflow on PR push
    Check-->>E2E: Provide output (database_changed true/false)
    E2E->>E2E: Execute tests conditionally based on output
Loading

Poem

I'm a rabbit in a field of code,
Hopping over configs in a busy mode.
New values bloom like carrots fresh and bright,
Workflows and specs all set just right.
With each change, I dance in delight!

✨ Finishing Touches
  • 📝 Generate Docstrings

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@eldadfux eldadfux changed the base branch from main to 1.6.x April 1, 2025 19:25
Copy link

github-actions bot commented Apr 1, 2025

Security Scan Results for PR

Docker Image Scan Results

Package Version Vulnerability Severity
binutils 2.42-r0 CVE-2025-0840 HIGH
libexpat 2.6.4-r0 CVE-2024-8176 HIGH
libxml2 2.12.7-r0 CVE-2024-56171 HIGH
libxml2 2.12.7-r0 CVE-2025-24928 HIGH
libxml2 2.12.7-r0 CVE-2025-27113 HIGH

Source Code Scan Results

🎉 No vulnerabilities found!

Copy link

pkg-pr-new bot commented Apr 1, 2025

Open in StackBlitz

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

commit: 938505d

Copy link

github-actions bot commented Apr 1, 2025

✨ Benchmark results

  • Requests per second: 975
  • Requests with 200 status code: 175,586
  • P99 latency: 0.186521408

⚡ Benchmark Comparison

Metric This PR Latest version
RPS 975 1,141
200 175,586 205,439
P99 0.186521408 0.16360328

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.

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 6

🔭 Outside diff range comments (1)
app/config/platforms.php (1)

4-4: 💡 Verification agent

🧩 Analysis chain

Verify constant definitions for APP_PLATFORM constants.

The AI summary indicates that constants APP_PLATFORM_SERVER, APP_PLATFORM_CLIENT, and APP_PLATFORM_CONSOLE were removed, but they're still referenced in the code. These constants must be defined elsewhere to avoid undefined constant errors.

Also applies to: 193-193, 238-238


🏁 Script executed:

#!/bin/bash
# Search for the definitions of these constants in the codebase
echo "Searching for APP_PLATFORM_SERVER definition:"
rg "define\(.*APP_PLATFORM_SERVER" --type php

echo "Searching for APP_PLATFORM_CLIENT definition:"
rg "define\(.*APP_PLATFORM_CLIENT" --type php

echo "Searching for APP_PLATFORM_CONSOLE definition:"
rg "define\(.*APP_PLATFORM_CONSOLE" --type php

Length of output: 449


Action Required: Define or Remove Undefined APP_PLATFORM Constants

It appears that the constants APP_PLATFORM_SERVER, APP_PLATFORM_CLIENT, and APP_PLATFORM_CONSOLE are still referenced (e.g., in app/config/platforms.php on line 4, as well as on lines 193 and 238) but no definition was found in the codebase. Please verify whether these constants were intentionally removed. If they are needed, add the appropriate definitions; otherwise, update the code to remove or replace these references to avoid undefined constant errors.

🧹 Nitpick comments (133)
app/config/platforms.php (1)

1-469: Consider updating SDK documentation to reflect these version changes.

With multiple major version updates across different SDKs, ensure that documentation, migration guides, and examples are updated to reflect any breaking changes or new features.

app/config/collections/databases.php (1)

66-73: Consider adding validation for the attributes field

The 'attributes' field has a large size limit (1,000,000 characters) but limited validation. Consider adding more specific validation to ensure data integrity.

-                'filters' => ['subQueryAttributes'],
+                'filters' => ['subQueryAttributes', 'json'],
.env (2)

91-91: Resource stats interval check.

_APP_STATS_RESOURCES_INTERVAL=3600 (1 hour) might be fine for moderate loads. Consider verifying whether more frequent intervals would be beneficial for real-time analytics or if a larger interval would reduce overhead.


116-116: Check dual-database usage approach.

_APP_STATS_USAGE_DUAL_WRITING_DBS=database_db_main suggests writing stats to multiple databases. Confirm the second DB is configured and tested for consistent usage stats. Potential pitfalls could include synchronization or partial writes.

app/config/collections/projects.php (2)

75-270: Consider indexing large text fields carefully.

Some attributes (e.g., 'size' => 16384, 'filters' => []) reflect large possible text inputs. Indexing them as full-text or key indexes can be costly. Ensure the indexes or queries are well thought out so performance won't degrade with large data sets.


800-1187: Activation & resource references appear coherent.

Lines 800-1187 define extended attributes for resource references, with multiple indexes for quick lookups. This is typically fine. Double-check that partial resource references and activation toggling won't conflict if users attempt partial updates.

Dockerfile (1)

88-91: New worker stats executables.

You've added worker-stats-usage, worker-stats-usage-dump, stats-resources, and worker-stats-resources. Ensure relevant environment variables and usage docs are updated so these scripts are discoverable and properly integrated into your workflows.

CONTRIBUTING.md (1)

616-626: Fix grammar issues in preview domains section.

There are several minor grammar issues in this newly added section:

-Appwrite Functions are automatically given a domain you can visit to execute the function. This domain has format `[SOMETHING].functions.localhost` unless you changed `_APP_DOMAIN_FUNCTIONS` environment variable.
+Appwrite Functions are automatically given a domain you can visit to execute the function. This domain has the format `[SOMETHING].functions.localhost` unless you changed the `_APP_DOMAIN_FUNCTIONS` environment variable.

-To use preview domains on Cloud workspaces, you can visit hostname provided by them, and supply function's preview domain as URL parameter:
+To use preview domains on Cloud workspaces, you can visit the hostname provided by them, and supply the function's preview domain as a URL parameter:

Also, please specify a language for the code block at line 622 to comply with markdown best practices:

-```
+```bash
https://8080-appwrite-appwrite-mjeb3ebilwv.ws-eu116.gitpod.io/ping?preview=672b3c7eab1ac523ccf5.functions.localhost
🧰 Tools
🪛 LanguageTool

[grammar] ~618-~618: It appears that the past participle should be used here.
Context: ...o execute the function. This domain has format [SOMETHING].functions.localhost unles...

(HAVE_PART_AGREEMENT)


[uncategorized] ~618-~618: You might be missing the article “the” here.
Context: ...functions.localhostunless you changed_APP_DOMAIN_FUNCTIONS` environment varia...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~620-~620: Possible missing article found.
Context: ...ains on Cloud workspaces, you can visit hostname provided by them, and supply function's...

(AI_HYDRA_LEO_MISSING_THE)


[uncategorized] ~620-~620: Possible missing article found.
Context: ...t hostname provided by them, and supply function's preview domain as URL parameter: ```...

(AI_HYDRA_LEO_MISSING_THE)

🪛 markdownlint-cli2 (0.17.2)

622-622: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

app/config/collections/common.php (2)

1041-1042: Clarify comments regarding large providerUid fields.

The comments around lines 1041 and 1110 mention a length of 2000+ while the column is declared with size 2048. If you plan to store fixed-length strings shorter than 128 or 256, you may be over-allocating storage.

Ensure that the declared size meets a real use case or adjust it to conserve space. Also, update the comments to maintain clarity and alignment with actual field usage.

Also applies to: 1110-1111


148-157: Ensure that encryption is appropriate for large string fields.

Many attributes with potentially large size values (e.g., 512, 16384) also use 'filters' => ['encrypt']. Storing large encrypted payloads can lead to performance overhead, indexing constraints, and longer load times.

Consider these approaches for highly sensitive or large data:

  1. Storing only partial or hashed references instead of fully encrypted data.
  2. Using potentially more efficient encryption strategies at rest.

Also applies to: 448-490, 652-656, 1060-1091

app/config/function-templates.php (1)

235-235: Correct the spelling of "geospatial" and "support".
Please fix the typos in the tagline for MongoDB Atlas:

- 'Realtime NoSQL document database with geospecial, graph, search, and vector suport.'
+ 'Realtime NoSQL document database with geospatial, graph, search, and vector support.'
app/config/collections/platform.php (1)

225-234: Address the TODO regarding 'templates' attribute size.

There is a TODO note for 'templates' set to size => 1000000. Make sure this allocation is truly sufficient (and not excessive) for your data storage requirements. Consider splitting large data into separate collections or attachments to prevent potential performance issues in the future.

app/config/locale/translations/pa.json (4)

7-7: Consistent punctuation in verification emails.
The replacement of empty strings with a comma for both the greeting ("emails.verification.hello") and thanks ("emails.verification.thanks") keys appears intended to add a uniform punctuation mark. Please confirm that this comma aligns with the overall email style guidelines.

Also applies to: 10-10


14-14: Standardized magic session greetings.
Introducing a comma for both "emails.magicSession.hello" and "emails.magicSession.thanks" ensures consistency in the magic session email templates. Verify that this punctuation is in line with the design expectations across locales.

Also applies to: 16-16


19-19: Uniform format in recovery emails.
The changes for "emails.recovery.hello" and "emails.recovery.thanks" now include a comma, promoting consistency with other email types. Please double-check that this adjustment meets the user experience requirements for recovery communications.

Also applies to: 22-22


25-25: Standardized invitation email punctuation.
Adding commas to "emails.invitation.hello" and "emails.invitation.thanks" helps maintain a uniform email style across different templates. Confirm that this change is consistent with analogous modifications in other translation files.

Also applies to: 28-28

app/config/locale/translations/bh.json (4)

7-7: Updated verification email formatting.
The update introduces "नमस्ते {{user}}," for the greeting and "धन्यवाद," for the thanks message in the verification email. This change enhances punctuation consistency; please ensure it meets the intended style for this locale.

Also applies to: 10-10


13-13: Magic session email punctuation standardization.
By updating "emails.magicSession.hello" to "प्रणाम," and "emails.magicSession.thanks" to "धन्यवाद," the email now exhibits consistent punctuation. Verify that these changes are in line with locale-specific messaging.

Also applies to: 16-16


19-19: Consistent recovery email messaging.
The addition of a trailing comma in "emails.recovery.hello" and "emails.recovery.thanks" reinforces uniformity within the recovery email template. Please check that this update complies with your styling guidelines.

Also applies to: 22-22


25-25: Invitation email punctuation update.
Modifying "emails.invitation.hello" to "प्रणाम," and "emails.invitation.thanks" to "धन्यवाद," supports consistency across email templates. Confirm that these punctuation adjustments reflect the desired tone and style.

Also applies to: 28-28

app/config/locale/translations/en.json (8)

7-7: Uniform punctuation in verification emails.
The insertion of a comma after the placeholder in "emails.verification.hello" and in "emails.verification.thanks" makes the greeting and sign-off more readable. Ensure that this punctuation is applied consistently across all email templates.

Also applies to: 10-10


14-14: Standardized magic session greeting.
The updated "emails.magicSession.hello" now includes a comma, aligning its style with other greetings. Confirm that this slight change meets your overall template design requirements.


23-23: Improved session-alert email formatting.
The updated greeting ("emails.sessionAlert.hello") and footer ("emails.sessionAlert.footer") incorporate a comma for readability, thereby mirroring the style used in other email notifications. Please review for consistency with design standards.

Also applies to: 28-28


32-32: Consistent OTP email greeting.
Adding a comma in "emails.otpSession.hello" ensures that the OTP email’s greeting follows the uniform punctuation trend. Verify if this meets the localization guidelines for English.


39-39: Standardized MFA challenge greeting.
The change in "emails.mfaChallenge.hello" to include a comma improves consistency across various email templates. Please ensure that this update is intentional and aligns with similar locale updates.


45-45: Uniform formatting in recovery emails.
Adjustments in "emails.recovery.hello" and "emails.recovery.thanks" to include a comma streamline the tone of the recovery emails. Confirm that these changes are consistent with other parts of the application’s email communication.

Also applies to: 48-48


51-51: Invitation email greeting standardization.
The update to "emails.invitation.hello" and "emails.invitation.thanks" now includes a comma after the greeting and sign-off. Verify that this is consistent with your intended email style.

Also applies to: 54-54


57-57: Consistent certificate failure email tone.
The revision of "emails.certificate.hello" and "emails.certificate.thanks" to include a comma offers a uniform tone across all email templates. Please check that this punctuation meets design expectations.

Also applies to: 60-60

app/config/locale/translations/bn.json (4)

7-7: Punctuation update for verification emails in Bengali.
The change to "নমস্কার {{user}}," and "ধন্যবাদ," introduces a trailing comma that improves clarity and aligns with other email templates. Please confirm this meets the language’s style guidelines.

Also applies to: 10-10


13-13: Consistent magic session greetings in Bengali.
The modification of "emails.magicSession.hello" to "নমস্কার," and "emails.magicSession.thanks" to "ধন্যবাদ," enhances uniformity. Verify that this punctuation style matches your localization standards.

Also applies to: 16-16


19-19: Standardizing recovery email punctuation in Bengali.
The addition of commas in "emails.recovery.hello" and "emails.recovery.thanks" streamlines the recovery email template. Please ensure that this change is consistent with the overall design.

Also applies to: 22-22


25-25: Updated invitation email punctuation in Bengali.
By updating "emails.invitation.hello" and "emails.invitation.thanks" to include trailing commas, the invitation emails now exhibit a uniform style. Confirm that this approach aligns with your style guide.

Also applies to: 28-28

app/config/locale/translations/ko.json (5)

7-7: Standardizing verification email greetings in Korean.
The update inserts the Japanese comma "、" into "emails.verification.hello" and "emails.verification.thanks", providing a consistent punctuation style. Please verify that this styling is desired for the Korean locale.

Also applies to: 10-10


13-13: Consistent magic session punctuation in Korean emails.
The revised greeting ("안녕하세요") and thanks ("감사합니다") now include "、", harmonizing their presentation across the magic session email template. Confirm this is in line with localization guidelines.

Also applies to: 16-16


19-19: Updated recovery email punctuation in Korean.
Adding the Japanese comma to "emails.recovery.hello" and "emails.recovery.thanks" ensures that recovery emails follow the same punctuation style as other templates. Please review for consistency.

Also applies to: 22-22


25-25: Invitation email punctuation standardization in Korean.
The changes to "emails.invitation.hello" and "emails.invitation.thanks" now include the comma "、", maintaining a uniform style across all email communications. Verify that this meets your intended design.

Also applies to: 28-28


242-242: Uniform formatting in OTP emails for Korean locale.
The modifications to "emails.otpSession.hello" and "emails.otpSession.thanks" integrate the Japanese comma, ensuring consistency with other email templates. Please confirm that this update is appropriate for the locale.

Also applies to: 246-246

app/config/locale/translations/fo.json (4)

7-10: Verification Email Punctuation Standardized.
The values for "emails.verification.hello" and "emails.verification.thanks" have been updated from an empty string to a comma. This change appears to standardize the greeting punctuation across templates. Please confirm that a comma is the intended punctuation for Faroese email communications.


13-16: Magic Session Email Punctuation Updated.
The greetings and thanks for magic session emails now include a comma. This aligns with the broader effort of ensuring consistent punctuation across email templates. Verify that this punctuation style is correct for Faroese.


19-22: Recovery Email Punctuation Standardized.
Both "emails.recovery.hello" and "emails.recovery.thanks" now use a comma, enhancing consistency in the template formatting. Please double-check that this meets the localization guidelines for Faroese.


25-28: Invitation Email Punctuation Updated.
The change to insert commas in "emails.invitation.hello" and "emails.invitation.thanks" brings these keys in line with the updates across other email templates. Ensure that this stylistic change fulfills the intended design for Faroese translations.

app/config/locale/translations/ro.json (4)

7-10: Romanian Verification Email Punctuation Enhancement.
Commas have been added to "emails.verification.hello" and "emails.verification.thanks". This standardization seems consistent with similar updates in other translation files. Confirm that the comma is appropriate for the Romanian tone and style.


13-16: Magic Session Email Keys Now Include Commas.
The updated "emails.magicSession.hello" and "emails.magicSession.thanks" now feature a comma. This should help maintain uniformity across email templates—please verify with the Romanian style guidelines.


19-22: Recovery Email Template Punctuation Standardized.
The changes to "emails.recovery.hello" and "emails.recovery.thanks" (adding commas) are consistent with the overall update strategy. Please ensure that this formatting meets the intended communication style for Romanian recipients.


25-28: Invitation Email Punctuation Updated.
By inserting commas in "emails.invitation.hello" and "emails.invitation.thanks", the invitation emails are now consistent with other templates. Confirm that this approach to punctuation is in line with the Romanian localization requirements.

app/config/locale/translations/bg.json (4)

7-10: Bulgarian Verification Email Punctuation Standardized.
The addition of commas in "emails.verification.hello" and "emails.verification.thanks" helps achieve consistency across the email formats. Please verify that this change complies with Bulgarian linguistic conventions.


13-16: Magic Session Email Fields Updated with Commas.
The changes to "emails.magicSession.hello" and "emails.magicSession.thanks" ensure uniformity across email templates. Confirm that these commas are appropriate for the Bulgarian version.


19-22: Recovery Email Punctuation Consistency.
The updates for "emails.recovery.hello" and "emails.recovery.thanks" now reflect the use of commas. This standardized approach appears intentional—please double-check against Bulgarian localization style guides.


25-28: Invitation Email Keys Now Include Comma Punctuation.
Updating "emails.invitation.hello" and "emails.invitation.thanks" to include commas maintains consistency with other changes. Please ensure that the result is grammatically correct for Bulgarian email templates.

app/config/locale/translations/ne.json (4)

7-10: Nepali Verification Email Punctuation Updated.
The update for "emails.verification.hello" and "emails.verification.thanks" now uses commas, which improves consistency across translation files. Verify that this style is acceptable for Nepali email communications.


13-16: Magic Session Email Punctuation Standardized.
The fields "emails.magicSession.hello" and "emails.magicSession.thanks" have been updated to include commas. Ensure that this modification meets Nepali localization standards for tone and style.


19-22: Recovery Email Template Punctuation Consistency.
By adding commas in "emails.recovery.hello" and "emails.recovery.thanks", the recovery emails now follow the same pattern as other email templates. Please check that this aligns with Nepali linguistic expectations.


25-28: Invitation Email Punctuation Updated in Nepali.
The insertion of commas in "emails.invitation.hello" and "emails.invitation.thanks" brings these templates in line with the other translations. Confirm that this modification is appropriate for Nepali recipients.

app/config/locale/translations/id.json (4)

7-10: Indonesian Verification Email Punctuation Standardized.
Commas have been added to "emails.verification.hello" and "emails.verification.thanks". This update creates consistency among email templates—please verify that the punctuation is correct for Indonesian texts.


13-16: Magic Session Email Keys Now Use Commas.
The updated "emails.magicSession.hello" and "emails.magicSession.thanks" fields now include a comma, matching the changes in other language files. Confirm that the punctuation suits the Indonesian email style.


19-22: Recovery Email Fields Punctuation Consistency.
The changes to "emails.recovery.hello" and "emails.recovery.thanks" introduce commas for improved clarity. Please verify that this aligns with the established Indonesian localization standards.


25-28: Invitation Email Punctuation Updated.
Adding commas in "emails.invitation.hello" and "emails.invitation.thanks" standardizes the invitation templates with the other email formats. Confirm that this update is consistent with Indonesian language conventions.

app/config/locale/translations/sk.json (1)

7-10: Punctuation Consistency Issue in Slovak Translations
In the verification email strings, the greeting is updated as expected, but notice that the thanks message is now "Ďakujeme.," (with a period before the comma). This extra punctuation seems inconsistent with other similar messages (which use just a trailing comma). Please verify whether the period is intentional or if it should be removed to match the rest of the email templates.

app/config/locale/translations/zh-cn.json (1)

242-246: Review OTP Session String Formatting in Simplified Chinese
The OTP session email strings show unexpected formatting. For example, "emails.otpSession.hello" is set as "你好,\n、" and "emails.otpSession.thanks" appears as "谢谢,、". The inclusion of a newline character (\n) and an extra punctuation symbol () may be unintentional. Please verify whether these characters are desired or if the strings should simply end with the standard Chinese comma punctuation.

app/config/locale/translations/te.json (1)

7-29: Verify Consistency in Telugu "Thanks" Messaging
The changes add a trailing comma to all greetings and thanks messages. However, there is a slight variation: while the verification and magic session messages use "ధన్యవాదాలు,", the recovery and invitation messages use "ధన్యవాదాల,". Please confirm which form is grammatically correct in Telugu to ensure consistency across all email templates.

app/config/locale/translations/mr.json (4)

7-10: Verification Email Punctuation Consistency.

The modifications add a trailing comma to both the greeting ("नमस्कार {{user}},") and the thanks ("धन्यवाद,") messages in the verification email. This ensures a more consistent and professional tone across the email template.


12-17: Magic Session Email Formatting Update.

Trailing commas have now been added for the magic session email’s greeting ("नमस्कार ,") and thanks ("धन्यवाद,") messages. Please double-check the extra space before the comma in the greeting to ensure it meets the intended style guidelines.


18-22: Recovery Email Template Punctuation.

The recovery email now includes trailing commas in both the greeting ("नमस्कार {{user}},") and the thanks ("धन्यवाद,") messages. This change standardizes the punctuation style with the other email templates.


24-28: Invitation Email Formatting Consistency.

Adding a trailing comma to both the greeting ("नमस्कार,") and the thanks ("धन्यवाद,") messages in the invitation email helps achieve uniform punctuation across the application’s email templates.

app/config/locale/translations/lv.json (4)

7-10: Verification Email Punctuation Update.

The addition of a trailing comma to the greeting ("Sveicināti, {{user}},") and thanks ("Paldies,") messages in the verification email enhances clarity and maintains consistency with other language files.


12-16: Magic Session Email Formatting Consistency.

The trailing comma added to the magic session email’s greeting ("Sveicināti,") and thanks messages ensures that the email text aligns stylistically with other templates.


18-22: Recovery Email Template Punctuation.

Uniform trailing commas in the recovery email’s greeting ("Labdien, {{user}},") and thanks ("Paldies,") lines improve the overall formatting consistency.


24-28: Invitation Email Template Formatting.

The update adds a trailing comma to the invitation email’s greeting ("Labdien,") and thanks ("Paldies,") messages, contributing to a standardized email tone.

app/config/locale/translations/tr.json (4)

7-10: Verification Email Comma Addition.

The modifications now include a trailing comma for both the greeting ("Merhaba {{user}},") and thanks ("Teşekkürler,") messages in the verification email, which enhances the professionalism of the tone.


12-17: Magic Session Email Punctuation Update.

The updated magic session email now features trailing commas in the greeting ("Merhaba,") and thanks messages, ensuring stylistic consistency with other templates.


18-22: Recovery Email Template Consistency.

By adding trailing commas to the greeting ("Merhaba {{user}},") and thanks ("Teşekkürler,") messages in the recovery email, the template now follows the same punctuation standard.


24-28: Invitation Email Formatting Enhancement.

The changes introduce a trailing comma to both the greeting ("Merhaba,") and the thanks ("Teşekkürler,") messages in the invitation email, which aligns it with the overall formatting approach of the project.

app/config/locale/translations/si.json (4)

7-10: Verification Email Formatting Update.

The addition of a trailing comma to the greeting ("හේයි {{user}},") and the thanks ("ස්තුතියි,") messages in the verification email improves clarity and ensures consistency with other locales.


12-16: Magic Session Email Punctuation Consistency.

Trailing commas have been added to the magic session email’s greeting ("හේයි,") and thanks messages, maintaining a uniform style across the communication templates.


18-22: Recovery Email Template Enhancement.

The recovery email now includes trailing commas in both the greeting ("ආයුබෝවන් {{user}},") and the thanks ("ස්තුතියි,") sections, which improves the overall structure of the email content.


24-28: Invitation Email Punctuation Standardization.

The update adds a trailing comma to the greeting ("ආයුබෝවන්,") and the thanks ("ස්තුතියි,") messages in the invitation email to ensure a consistent style across the templates.

app/config/locale/translations/jv.json (4)

7-10: Verification Email Punctuation Improvement.

The changes introduce a trailing comma in both the greeting ("Hai {{user}},") and the thanks ("Matur nuwun,") lines for verification emails, which standardizes the punctuation across different languages.


12-17: Magic Session Email Formatting Update.

Trailing commas have been added to the greeting ("Hai,") and thanks messages of the magic session emails. This change brings consistency with the formatting improvements made in other translation files.


18-22: Recovery Email Template Standardization.

The recovery email’s greeting ("Halo {{user}},") and thanks ("Matur nuwun,") messages have been updated with trailing commas, ensuring uniform formatting across the email templates.


24-28: Invitation Email Formatting Consistency.

With the addition of trailing commas in the invitation email’s greeting ("Halo,") and thanks ("Matur nuwun,") messages, the overall style is now consistent with the other locales’ templates.

app/config/locale/translations/es.json (6)

7-7: Punctuation Style Review: Verification Greeting
The verification greeting now reads “Hola, {{name}}.,” which combines a period with a trailing comma. This mixed punctuation may be unintentional. Consider removing the period for consistency:

-    "emails.verification.hello": "Hola, {{name}}.,"
+    "emails.verification.hello": "Hola, {{name}},"

10-10: Punctuation Style Review: Verification Thanks
The thanks message “Gracias.,” shows both a period and a comma. For a cleaner style, consider:

-    "emails.verification.thanks": "Gracias.,"
+    "emails.verification.thanks": "Gracias,"

16-16: Punctuation Style Review: Magic Session Thanks
“Gracias.,” contains a redundant period before the comma. Consider updating it as follows:

-    "emails.magicSession.thanks": "Gracias.,"
+    "emails.magicSession.thanks": "Gracias,"

19-19: Punctuation Style Review: Recovery Greeting
The recovery greeting “Hola, {{name}}.,” could be simplified by removing the period:

-    "emails.recovery.hello": "Hola, {{name}}.,"
+    "emails.recovery.hello": "Hola, {{name}},"

22-22: Punctuation Style Review: Recovery Thanks
Similarly, adjust “Gracias.,” to avoid mixed punctuation:

-    "emails.recovery.thanks": "Gracias.,"
+    "emails.recovery.thanks": "Gracias,"

28-28: Punctuation Style Review: Invitation Thanks
For a uniform style, consider changing “Gracias.,” to “Gracias,” as shown below:

-    "emails.invitation.thanks": "Gracias.,"
+    "emails.invitation.thanks": "Gracias,"
app/config/locale/translations/ja.json (6)

10-10: Punctuation Style Review: Verification Thanks
The thanks message “ご利用いただきありがとうございます。、” includes a period before the comma. For improved clarity, consider:

-    "emails.verification.thanks": "ご利用いただきありがとうございます。、"
+    "emails.verification.thanks": "ご利用いただきありがとうございます、"

16-16: Punctuation Style Review: Magic Session Thanks
The magic session thanks “ご利用いただきありがとうございます。、” would be clearer without the extra period:

-    "emails.magicSession.thanks": "ご利用いただきありがとうございます。、"
+    "emails.magicSession.thanks": "ご利用いただきありがとうございます、"

22-22: Punctuation Style Review: Recovery Thanks
Please consider revising “ご利用いただきありがとうございます。、” to remove the undesired period:

-    "emails.recovery.thanks": "ご利用いただきありがとうございます。、"
+    "emails.recovery.thanks": "ご利用いただきありがとうございます、"

28-28: Punctuation Style Review: Invitation Thanks
Adjust “ご利用いただきありがとうございます。、” to remove the period for consistency:

-    "emails.invitation.thanks": "ご利用いただきありがとうございます。、"
+    "emails.invitation.thanks": "ご利用いただきありがとうございます、"

242-242: Punctuation Style Review: OTP Session Greeting
The OTP session greeting “こんにちは。、” contains an extra period before the Japanese comma. Consider:

-    "emails.otpSession.hello": "こんにちは。、"
+    "emails.otpSession.hello": "こんにちは、"

246-246: Punctuation Style Review: OTP Session Thanks
Similarly, adjust “ありがとうございます。、” to remove the period:

-    "emails.otpSession.thanks": "ありがとうございます。、"
+    "emails.otpSession.thanks": "ありがとうございます、"
app/config/locale/translations/zh-tw.json (8)

7-7: Updated Verification Greeting Punctuation.
The greeting for verification emails now reads "嗨 {{user}}、", which adds the trailing comma (、) for improved style consistency.


10-10: Standardized Verification Thanks Message.
The update "謝謝、" now uses a trailing comma to align with the revised email template style.


13-13: Magic Session Greeting Consistency.
Changing the greeting to "嗨、" ensures that the magic session emails follow the new punctuation pattern.


16-16: Magic Session Thanks Message Update.
The revision to "謝謝、" standardizes the thank-you message across all email templates.


19-19: Recovery Greeting Punctuation Enhancement.
By updating the recovery greeting to "您好 {{user}}、", the file now consistently applies the trailing comma across emails.


22-22: Recovery Thanks Message Standardization.
Inserting the trailing comma in "謝謝、" helps maintain punctuation uniformity.


25-25: Invitation Greeting Punctuation Addition.
The modified greeting "您好、" now includes a comma, aligning with the unified email style.


28-28: Invitation Thanks Message Updated.
The change to "謝謝、" ensures that the invitation emails share the same stylistic punctuation as the rest.

app/config/locale/translations/eo.json (7)

6-6: Verification Greeting Punctuation Updated.
The greeting "Saluton {{user}}," now includes a trailing comma, which improves punctuation consistency in the email templates.


12-12: Magic Session Greeting Consistency.
The change "Saluton," is in line with the updated punctuation style across the platform.


15-15: Magic Session Thanks Message Updated.
Using "Dankegon," ensures that the thank-you message is punctuated consistently throughout the emails.


18-18: Recovery Greeting Punctuation Adjustment.
The update "Saluton {{user}}," adds the necessary trailing comma for standardized formatting.


21-21: Uniform Recovery Thanks Message.
With "Dankegon," now applied, the recovery emails are in sync with the overall punctuation guidelines.


24-24: Invitation Greeting Might Be Mismatched.
The greeting is now set to "Dankegon,", which translates as “thanks” rather than a greeting like “Saluton.” Please verify if this is the correct translation for the invitation greeting.


27-27: Invitation Thanks Message is Consistent.
The value "Dankegon," meets the punctuation update used in other parts of this file, assuming the intent is correct.

app/config/locale/translations/ur.json (8)

7-7: Verification Email Greeting Punctuation Updated.
The greeting "خوش آمدید {{user}}،" now includes a trailing comma, ensuring consistency with the revised style.


10-10: Consistent Verification Thanks Message.
The update to "شکریہ،" aligns with the new punctuation standard across email templates.


13-13: Magic Session Greeting Standardized.
The greeting "خوش آمدید،" now correctly applies a trailing comma to match other translations.


16-16: Magic Session Thanks Message Revised.
Updating to "شکریہ،" ensures uniformity in the punctuation style for thank-you messages.


19-19: Recovery Greeting Punctuation Correction.
The revised greeting "ہیلو {{user}}،" now includes the necessary comma for a consistent look.


22-22: Recovery Thanks Message Standardized.
The change to "شکریہ،" matches the overall punctuation approach applied in this file.


25-25: Invitation Greeting Punctuation Update.
The greeting "خوش آمدید،" now features a trailing comma, harmonizing with other email templates.


28-28: Invitation Thanks Message Updated.
Using "شکریہ،" provides the expected consistency in punctuation across email communications.

app/config/locale/translations/kn.json (8)

7-7: Verification Greeting Punctuation Update.
The greeting "ನಮಸ್ಕಾರ {{user}}," now includes a comma after the placeholder, which improves consistency with the new style guidelines.


10-10: Standardized Verification Thanks Message.
The update to "ಧನ್ಯವಾದಗಳು," ensures that the thanks message now meets the uniform punctuation standard.


13-13: Magic Session Greeting Now Includes a Comma.
The revised value "ನಮಸ್ಕಾರ," supports the consistent formatting across different email types.


16-16: Magic Session Thanks Message Consistency.
The revision to "ಧನ್ಯವಾದಗಳು," standardizes the thank-you message for magic session emails.


19-19: Recovery Email Greeting Punctuation Adjusted.
Changing the greeting to "ನಮಸ್ಕಾರ {{user}}," aligns with the updated punctuation standards seen elsewhere.


22-22: Recovery Thanks Message Standardization.
The update to "ಧನ್ಯವಾದಗಳು," is now consistent with the overall email template style.


25-25: Invitation Greeting Updated with Comma.
The update to "ನಮಸ್ಕಾರ," provides a uniform style for invitation emails.


28-28: Invitation Thanks Message Consistency.
The change to "ಧನ್ಯವಾದಗಳು," ensures the invitation email adheres to the new punctuation norms.

app/config/locale/translations/hy.json (8)

7-7: Verification Greeting Now a Comma.
The update sets "emails.verification.hello" to just a comma. Please confirm that replacing an empty greeting with a comma is the intended design rather than displaying a meaningful salutation.


10-10: Verification Thanks Message Replacement.
By setting "emails.verification.thanks" to a comma, the file standardizes the punctuation—but verify that this minimalistic approach meets the localization design requirements.


13-13: Magic Session Greeting Now Only a Comma.
The change to a comma (",") may be intentional; however, it is worth verifying whether this meets the user expectation for a greeting in Armenian localization.


16-16: Magic Session Thanks Message Now a Comma.
Using a comma alone for "emails.magicSession.thanks" might be too minimal—please confirm if this is the desired output.


19-19: Recovery Greeting Now Displays a Comma.
Replacing an empty value with a comma for "emails.recovery.hello" could be a placeholder; please verify that this change is intentional and meets design standards.


22-22: Recovery Thanks Message Update.
The new value of a comma (",") should be reviewed to ensure it provides the appropriate visual cue to users.


25-25: Invitation Greeting Now a Comma.
Confirm that using a comma for "emails.invitation.hello" is acceptable for the localized invitation email content.


28-28: Invitation Thanks Message Set as a Comma.
Although the update standardizes the field with a comma, please verify if this meets the intended aesthetic and contextual requirements.

app/config/locale/translations/tl.json (1)

13-13: Review Magic Session Greeting Spacing
The modified "emails.magicSession.hello" is set to "Kamusta ," with an extra space before the comma. Please verify if the space is intentional or should be removed to match the pattern used in other locales.

.github/workflows/tests.yml (1)

243-243: Remove trailing whitespace.

There are trailing spaces detected on line 243. Please remove them to comply with YAML formatting standards.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 243-243: trailing spaces

(trailing-spaces)

🛑 Comments failed to post (6)
app/config/locale/countries.php (1)

13-210: ⚠️ Potential issue

Fix the country name typo for 'LV'.

Line 119 has a likely typo: 'latitudevia'. It should be 'Latvia'. Please apply the following fix:

-    'LV' => ['name' => 'latitudevia', 'latitude' => 57.0, 'longitude' => 25.0],
+    'LV' => ['name' => 'Latvia', 'latitude' => 57.0, 'longitude' => 25.0],
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

    'AF' => ['name' => 'Afghanistan', 'latitude' => 33.0, 'longitude' => 66.0],
    'AO' => ['name' => 'Angola', 'latitude' => -12.5, 'longitude' => 18.5],
    'AL' => ['name' => 'Albania', 'latitude' => 41.0, 'longitude' => 20.0],
    'AD' => ['name' => 'Andorra', 'latitude' => 42.5, 'longitude' => 1.6],
    'AE' => ['name' => 'United Arab Emirates', 'latitude' => 24.0, 'longitude' => 54.0],
    'AR' => ['name' => 'Argentina', 'latitude' => -34.0, 'longitude' => -64.0],
    'AM' => ['name' => 'Armenia', 'latitude' => 40.0, 'longitude' => 45.0],
    'AG' => ['name' => 'Antigua and Barbuda', 'latitude' => 17.05, 'longitude' => -61.8],
    'AU' => ['name' => 'Australia', 'latitude' => -25.0, 'longitude' => 135.0],
    'AT' => ['name' => 'Austria', 'latitude' => 47.3, 'longitude' => 13.3],
    'AZ' => ['name' => 'Azerbaijan', 'latitude' => 40.5, 'longitude' => 47.5],
    'BI' => ['name' => 'Burundi', 'latitude' => -3.5, 'longitude' => 30.0],
    'BE' => ['name' => 'Belgium', 'latitude' => 50.8, 'longitude' => 4.0],
    'BJ' => ['name' => 'Benin', 'latitude' => 9.5, 'longitude' => 2.25],
    'BF' => ['name' => 'Burkina Faso', 'latitude' => 13.0, 'longitude' => -2.0],
    'BD' => ['name' => 'Bangladesh', 'latitude' => 24.0, 'longitude' => 90.0],
    'BG' => ['name' => 'Bulgaria', 'latitude' => 43.0, 'longitude' => 25.0],
    'BH' => ['name' => 'Bahrain', 'latitude' => 26.0, 'longitude' => 50.5],
    'BS' => ['name' => 'Bahamas', 'latitude' => 24.25, 'longitude' => -76.0],
    'BA' => ['name' => 'Bosnia and Herzegovina', 'latitude' => 44.0, 'longitude' => 18.0],
    'BY' => ['name' => 'Belarus', 'latitude' => 53.0, 'longitude' => 28.0],
    'BZ' => ['name' => 'Belize', 'latitude' => 17.25, 'longitude' => -88.75],
    'BO' => ['name' => 'Bolivia', 'latitude' => -17.0, 'longitude' => -65.0],
    'BR' => ['name' => 'Brazil', 'latitude' => -10.0, 'longitude' => -55.0],
    'BB' => ['name' => 'Barbados', 'latitude' => 13.17, 'longitude' => -59.53],
    'BN' => ['name' => 'Brunei', 'latitude' => 4.5, 'longitude' => 114.67],
    'BT' => ['name' => 'Bhutan', 'latitude' => 27.5, 'longitude' => 90.5],
    'BW' => ['name' => 'Botswana', 'latitude' => -22.0, 'longitude' => 24.0],
    'CF' => ['name' => 'Central African Republic', 'latitude' => 7.0, 'longitude' => 21.0],
    'CA' => ['name' => 'Canada', 'latitude' => 60.0, 'longitude' => -95.0],
    'CH' => ['name' => 'Switzerland', 'latitude' => 47.0, 'longitude' => 8.0],
    'CL' => ['name' => 'Chile', 'latitude' => -30.0, 'longitude' => -71.0],
    'CN' => ['name' => 'China', 'latitude' => 35.0, 'longitude' => 105.0],
    'CI' => ['name' => 'Côte d\'Ivoire', 'latitude' => 8.0, 'longitude' => -5.0],
    'CM' => ['name' => 'Cameroon', 'latitude' => 6.0, 'longitude' => 12.0],
    'CD' => ['name' => 'Democratic Republic of the Congo', 'latitude' => -2.5, 'longitude' => 23.5],
    'CG' => ['name' => 'Republic of the Congo', 'latitude' => -1.0, 'longitude' => 15.0],
    'CO' => ['name' => 'Colombia', 'latitude' => 4.0, 'longitude' => -72.0],
    'KM' => ['name' => 'Comoros', 'latitude' => -12.17, 'longitude' => 44.25],
    'CV' => ['name' => 'Cape Verde', 'latitude' => 16.0, 'longitude' => -24.0],
    'CR' => ['name' => 'Costa Rica', 'latitude' => 10.0, 'longitude' => -84.0],
    'CU' => ['name' => 'Cuba', 'latitude' => 21.5, 'longitude' => -80.0],
    'CY' => ['name' => 'Cyprus', 'latitude' => 35.0, 'longitude' => 33.0],
    'CZ' => ['name' => 'Czech Republic', 'latitude' => 49.75, 'longitude' => 15.5],
    'DE' => ['name' => 'Germany', 'latitude' => 51.0, 'longitude' => 9.0],
    'DJ' => ['name' => 'Djibouti', 'latitude' => 11.5, 'longitude' => 43.0],
    'DM' => ['name' => 'Dominica', 'latitude' => 15.42, 'longitude' => -61.33],
    'DK' => ['name' => 'Denmark', 'latitude' => 56.0, 'longitude' => 10.0],
    'DO' => ['name' => 'Dominican Republic', 'latitude' => 19.0, 'longitude' => -70.67],
    'DZ' => ['name' => 'Algeria', 'latitude' => 28.0, 'longitude' => 3.0],
    'EC' => ['name' => 'Ecuador', 'latitude' => -2.0, 'longitude' => -77.5],
    'EG' => ['name' => 'Egypt', 'latitude' => 27.0, 'longitude' => 30.0],
    'ER' => ['name' => 'Eritrea', 'latitude' => 15.0, 'longitude' => 39.0],
    'ES' => ['name' => 'Spain', 'latitude' => 40.0, 'longitude' => -4.0],
    'EE' => ['name' => 'Estonia', 'latitude' => 59.0, 'longitude' => 26.0],
    'ET' => ['name' => 'Ethiopia', 'latitude' => 8.0, 'longitude' => 38.0],
    'FI' => ['name' => 'Finland', 'latitude' => 64.0, 'longitude' => 26.0],
    'FJ' => ['name' => 'Fiji', 'latitude' => -18.0, 'longitude' => 175.0],
    'FR' => ['name' => 'France', 'latitude' => 46.0, 'longitude' => 2.0],
    'FM' => ['name' => 'Micronesia', 'latitude' => 6.92, 'longitude' => 158.25],
    'GA' => ['name' => 'Gabon', 'latitude' => -1.0, 'longitude' => 11.75],
    'GB' => ['name' => 'United Kingdom', 'latitude' => 54.0, 'longitude' => -2.0],
    'GE' => ['name' => 'Georgia', 'latitude' => 42.0, 'longitude' => 43.5],
    'GH' => ['name' => 'Ghana', 'latitude' => 8.0, 'longitude' => -2.0],
    'GN' => ['name' => 'Guinea', 'latitude' => 11.0, 'longitude' => -10.0],
    'GM' => ['name' => 'Gambia', 'latitude' => 13.47, 'longitude' => -16.57],
    'GW' => ['name' => 'Guinea-Bissau', 'latitude' => 12.0, 'longitude' => -15.0],
    'GQ' => ['name' => 'Equatorial Guinea', 'latitude' => 2.0, 'longitude' => 10.0],
    'GR' => ['name' => 'Greece', 'latitude' => 39.0, 'longitude' => 22.0],
    'GD' => ['name' => 'Grenada', 'latitude' => 12.12, 'longitude' => -61.67],
    'GT' => ['name' => 'Guatemala', 'latitude' => 15.5, 'longitude' => -90.25],
    'GY' => ['name' => 'Guyana', 'latitude' => 5.0, 'longitude' => -59.0],
    'HK' => ['name' => 'Hong Kong', 'latitude' => 22.25, 'longitude' => 114.17],
    'HN' => ['name' => 'Honduras', 'latitude' => 15.0, 'longitude' => -86.5],
    'HR' => ['name' => 'Croatia', 'latitude' => 45.17, 'longitude' => 15.5],
    'HT' => ['name' => 'Haiti', 'latitude' => 19.0, 'longitude' => -72.42],
    'HU' => ['name' => 'Hungary', 'latitude' => 47.0, 'longitude' => 20.0],
    'ID' => ['name' => 'Indonesia', 'latitude' => -5.0, 'longitude' => 120.0],
    'IN' => ['name' => 'India', 'latitude' => 20.0, 'longitude' => 77.0],
    'IE' => ['name' => 'Ireland', 'latitude' => 53.0, 'longitude' => -8.0],
    'IR' => ['name' => 'Iran', 'latitude' => 32.0, 'longitude' => 53.0],
    'IQ' => ['name' => 'Iraq', 'latitude' => 33.0, 'longitude' => 44.0],
    'IS' => ['name' => 'Iceland', 'latitude' => 65.0, 'longitude' => -18.0],
    'IL' => ['name' => 'Israel', 'latitude' => 31.5, 'longitude' => 34.75],
    'IT' => ['name' => 'Italy', 'latitude' => 42.83, 'longitude' => 12.83],
    'JM' => ['name' => 'Jamaica', 'latitude' => 18.25, 'longitude' => -77.5],
    'JO' => ['name' => 'Jordan', 'latitude' => 31.0, 'longitude' => 36.0],
    'JP' => ['name' => 'Japan', 'latitude' => 36.0, 'longitude' => 138.0],
    'KZ' => ['name' => 'Kazakhstan', 'latitude' => 48.0, 'longitude' => 68.0],
    'KE' => ['name' => 'Kenya', 'latitude' => 1.0, 'longitude' => 38.0],
    'KG' => ['name' => 'Kyrgyzstan', 'latitude' => 41.0, 'longitude' => 75.0],
    'KH' => ['name' => 'Cambodia', 'latitude' => 13.0, 'longitude' => 105.0],
    'KI' => ['name' => 'Kiribati', 'latitude' => 1.42, 'longitude' => 173.0],
    'KN' => ['name' => 'Saint Kitts and Nevis', 'latitude' => 17.33, 'longitude' => -62.75],
    'KR' => ['name' => 'South Korea', 'latitude' => 37.0, 'longitude' => 127.5],
    'KW' => ['name' => 'Kuwait', 'latitude' => 29.34, 'longitude' => 47.66],
    'LA' => ['name' => 'Laos', 'latitude' => 18.0, 'longitude' => 105.0],
    'LB' => ['name' => 'Lebanon', 'latitude' => 33.83, 'longitude' => 35.83],
    'LR' => ['name' => 'Liberia', 'latitude' => 6.5, 'longitude' => -9.5],
    'LY' => ['name' => 'Libya', 'latitude' => 25.0, 'longitude' => 17.0],
    'LC' => ['name' => 'Saint Lucia', 'latitude' => 13.88, 'longitude' => -61.13],
    'LI' => ['name' => 'Liechtenstein', 'latitude' => 47.17, 'longitude' => 9.53],
    'LK' => ['name' => 'Sri Lanka', 'latitude' => 7.0, 'longitude' => 81.0],
    'LS' => ['name' => 'Lesotho', 'latitude' => -29.5, 'longitude' => 28.5],
    'LT' => ['name' => 'Lithuania', 'latitude' => 56.0, 'longitude' => 24.0],
    'LU' => ['name' => 'Luxembourg', 'latitude' => 49.75, 'longitude' => 6.17],
    'LV' => ['name' => 'Latvia', 'latitude' => 57.0, 'longitude' => 25.0],
    'MA' => ['name' => 'Morocco', 'latitude' => 32.0, 'longitude' => -5.0],
    'MC' => ['name' => 'Monaco', 'latitude' => 43.73, 'longitude' => 7.4],
    'MD' => ['name' => 'Moldova', 'latitude' => 47.0, 'longitude' => 29.0],
    'MG' => ['name' => 'Madagascar', 'latitude' => -20.0, 'longitude' => 47.0],
    'MV' => ['name' => 'Maldives', 'latitude' => 3.25, 'longitude' => 73.0],
    'MX' => ['name' => 'Mexico', 'latitude' => 23.0, 'longitude' => -102.0],
    'MH' => ['name' => 'Marshall Islands', 'latitude' => 9.0, 'longitude' => 168.0],
    'MK' => ['name' => 'North Macedonia', 'latitude' => 41.83, 'longitude' => 22.0],
    'ML' => ['name' => 'Mali', 'latitude' => 17.0, 'longitude' => -4.0],
    'MT' => ['name' => 'Malta', 'latitude' => 35.83, 'longitude' => 14.58],
    'MM' => ['name' => 'Myanmar', 'latitude' => 22.0, 'longitude' => 98.0],
    'ME' => ['name' => 'Montenegro', 'latitude' => 42.5, 'longitude' => 19.3],
    'MN' => ['name' => 'Mongolia', 'latitude' => 46.0, 'longitude' => 105.0],
    'MZ' => ['name' => 'Mozambique', 'latitude' => -18.25, 'longitude' => 35.0],
    'MR' => ['name' => 'Mauritania', 'latitude' => 20.0, 'longitude' => -12.0],
    'MU' => ['name' => 'Mauritius', 'latitude' => -20.28, 'longitude' => 57.55],
    'MW' => ['name' => 'Malawi', 'latitude' => -13.5, 'longitude' => 34.0],
    'MY' => ['name' => 'Malaysia', 'latitude' => 2.5, 'longitude' => 112.5],
    'NA' => ['name' => 'Namibia', 'latitude' => -22.0, 'longitude' => 17.0],
    'NE' => ['name' => 'Niger', 'latitude' => 16.0, 'longitude' => 8.0],
    'NG' => ['name' => 'Nigeria', 'latitude' => 10.0, 'longitude' => 8.0],
    'NI' => ['name' => 'Nicaragua', 'latitude' => 13.0, 'longitude' => -85.0],
    'NL' => ['name' => 'Netherlands', 'latitude' => 52.5, 'longitude' => 5.75],
    'NO' => ['name' => 'Norway', 'latitude' => 62.0, 'longitude' => 10.0],
    'NP' => ['name' => 'Nepal', 'latitude' => 28.0, 'longitude' => 84.0],
    'NR' => ['name' => 'Nauru', 'latitude' => -0.53, 'longitude' => 166.92],
    'NZ' => ['name' => 'New Zealand', 'latitude' => -41.0, 'longitude' => 174.0],
    'OM' => ['name' => 'Oman', 'latitude' => 21.0, 'longitude' => 57.0],
    'PK' => ['name' => 'Pakistan', 'latitude' => 30.0, 'longitude' => 70.0],
    'PS' => ['name' => 'Palestine', 'latitude' => 31.9, 'longitude' => 35.2],
    'PA' => ['name' => 'Panama', 'latitude' => 9.0, 'longitude' => -80.0],
    'PE' => ['name' => 'Peru', 'latitude' => -10.0, 'longitude' => -76.0],
    'PH' => ['name' => 'Philippines', 'latitude' => 13.0, 'longitude' => 122.0],
    'PW' => ['name' => 'Palau', 'latitude' => 7.5, 'longitude' => 134.5],
    'PG' => ['name' => 'Papua New Guinea', 'latitude' => -6.0, 'longitude' => 147.0],
    'PL' => ['name' => 'Poland', 'latitude' => 52.0, 'longitude' => 20.0],
    'KP' => ['name' => 'North Korea', 'latitude' => 40.0, 'longitude' => 127.0],
    'PT' => ['name' => 'Portugal', 'latitude' => 39.5, 'longitude' => -8.0],
    'PY' => ['name' => 'Paraguay', 'latitude' => -23.0, 'longitude' => -58.0],
    'QA' => ['name' => 'Qatar', 'latitude' => 25.5, 'longitude' => 51.25],
    'RO' => ['name' => 'Romania', 'latitude' => 46.0, 'longitude' => 25.0],
    'RU' => ['name' => 'Russia', 'latitude' => 60.0, 'longitude' => 100.0],
    'RW' => ['name' => 'Rwanda', 'latitude' => -2.0, 'longitude' => 30.0],
    'SA' => ['name' => 'Saudi Arabia', 'latitude' => 25.0, 'longitude' => 45.0],
    'SD' => ['name' => 'Sudan', 'latitude' => 15.0, 'longitude' => 30.0],
    'SN' => ['name' => 'Senegal', 'latitude' => 14.0, 'longitude' => -14.0],
    'SG' => ['name' => 'Singapore', 'latitude' => 1.37, 'longitude' => 103.8],
    'SB' => ['name' => 'Solomon Islands', 'latitude' => -8.0, 'longitude' => 159.0],
    'SL' => ['name' => 'Sierra Leone', 'latitude' => 8.5, 'longitude' => -11.5],
    'SV' => ['name' => 'El Salvador', 'latitude' => 13.83, 'longitude' => -88.92],
    'SM' => ['name' => 'San Marino', 'latitude' => 43.77, 'longitude' => 12.42],
    'SO' => ['name' => 'Somalia', 'latitude' => 10.0, 'longitude' => 49.0],
    'RS' => ['name' => 'Serbia', 'latitude' => 44.0, 'longitude' => 21.0],
    'SS' => ['name' => 'South Sudan', 'latitude' => 8.0, 'longitude' => 30.0],
    'ST' => ['name' => 'São Tomé and Príncipe', 'latitude' => 1.0, 'longitude' => 7.0],
    'SR' => ['name' => 'Suriname', 'latitude' => 4.0, 'longitude' => -56.0],
    'SK' => ['name' => 'Slovakia', 'latitude' => 48.67, 'longitude' => 19.5],
    'SI' => ['name' => 'Slovenia', 'latitude' => 46.0, 'longitude' => 15.0],
    'SE' => ['name' => 'Sweden', 'latitude' => 62.0, 'longitude' => 15.0],
    'SZ' => ['name' => 'Eswatini', 'latitude' => -26.5, 'longitude' => 31.5],
    'SC' => ['name' => 'Seychelles', 'latitude' => -4.58, 'longitude' => 55.67],
    'SY' => ['name' => 'Syria', 'latitude' => 35.0, 'longitude' => 38.0],
    'TD' => ['name' => 'Chad', 'latitude' => 15.0, 'longitude' => 19.0],
    'TG' => ['name' => 'Togo', 'latitude' => 8.0, 'longitude' => 1.17],
    'TH' => ['name' => 'Thailand', 'latitude' => 15.0, 'longitude' => 100.0],
    'TJ' => ['name' => 'Tajikistan', 'latitude' => 39.0, 'longitude' => 71.0],
    'TM' => ['name' => 'Turkmenistan', 'latitude' => 40.0, 'longitude' => 60.0],
    'TL' => ['name' => 'Timor-Leste', 'latitude' => -8.83, 'longitude' => 125.92],
    'TO' => ['name' => 'Tonga', 'latitude' => -20.0, 'longitude' => -175.0],
    'TT' => ['name' => 'Trinidad and Tobago', 'latitude' => 11.0, 'longitude' => -61.0],
    'TN' => ['name' => 'Tunisia', 'latitude' => 34.0, 'longitude' => 9.0],
    'TR' => ['name' => 'Turkey', 'latitude' => 39.0, 'longitude' => 35.0],
    'TV' => ['name' => 'Tuvalu', 'latitude' => -8.0, 'longitude' => 178.0],
    'TZ' => ['name' => 'Tanzania', 'latitude' => -6.0, 'longitude' => 35.0],
    'TW' => ['name' => 'Taiwan', 'latitude' => 23.5, 'longitude' => 121.0],
    'UG' => ['name' => 'Uganda', 'latitude' => 1.0, 'longitude' => 32.0],
    'UA' => ['name' => 'Ukraine', 'latitude' => 49.0, 'longitude' => 32.0],
    'UY' => ['name' => 'Uruguay', 'latitude' => -33.0, 'longitude' => -56.0],
    'US' => ['name' => 'United States', 'latitude' => 38.0, 'longitude' => -97.0],
    'UZ' => ['name' => 'Uzbekistan', 'latitude' => 41.0, 'longitude' => 64.0],
    'VA' => ['name' => 'Vatican City', 'latitude' => 41.9, 'longitude' => 12.45],
    'VC' => ['name' => 'Saint Vincent and the Grenadines', 'latitude' => 13.25, 'longitude' => -61.2],
    'VE' => ['name' => 'Venezuela', 'latitude' => 8.0, 'longitude' => -66.0],
    'VN' => ['name' => 'Vietnam', 'latitude' => 16.0, 'longitude' => 106.0],
    'VU' => ['name' => 'Vanuatu', 'latitude' => -16.0, 'longitude' => 167.0],
    'WS' => ['name' => 'Samoa', 'latitude' => -13.58, 'longitude' => -172.33],
    'YE' => ['name' => 'Yemen', 'latitude' => 15.0, 'longitude' => 48.0],
    'ZA' => ['name' => 'South Africa', 'latitude' => -29.0, 'longitude' => 24.0],
    'ZM' => ['name' => 'Zambia', 'latitude' => -15.0, 'longitude' => 30.0],
    'ZW' => ['name' => 'Zimbabwe', 'latitude' => -20.0, 'longitude' => 30.0],
];
app/config/collections/projects.php (1)

1188-1607: 🛠️ Refactor suggestion

Runtime builds and executions Gently flag potential large logs.

Build logs and execution logs can go up to 1,000,000 characters. Large logs can quickly fill storage. If possible, implement log rotation or enforce quotas to prevent runaway usage.

Would you like me to propose a partial compression or truncation mechanism for logs?

app/config/collections/common.php (1)

1109-1111: 🛠️ Refactor suggestion

Check index length mismatch for providerUid.

Here, the attribute [providerUid] is defined with a size up to 2048 characters, yet the index covers only 128 characters. This partial indexing might lead to collisions and hamper efficient lookups for large values.

To align the column size with the index length, consider:

  1. Reducing providerUid column size to 128 if your use case rarely exceeds that limit.
  2. Using partial indexing intentionally (documenting it clearly) if you often store long values but only need to index the first 128 characters.
app/config/locale/translations/zh-tw.json (2)

242-242: ⚠️ Potential issue

Potential Punctuation Inconsistency in OTP Session Greeting.
The string "你好,、" appears to mix two punctuation marks. Consider revising this to use a single, consistent symbol (either “你好,” or “你好、”) for clarity.


246-246: ⚠️ Potential issue

Review OTP Session Thanks Message Punctuation.
Similarly, "謝謝,、" includes both “,” and “、”. Please confirm the intended style and adjust to a single punctuation mark.

app/config/locale/translations/eo.json (1)

9-9: ⚠️ Potential issue

Verify Punctuation in Verification Thanks.
The value "Dankegon.," seems to combine a period and a comma. Consider revising it—perhaps to "Dankegon,"—to maintain a uniform punctuation style.

@eldadfux eldadfux merged commit 8fd6208 into 1.6.x Apr 1, 2025
124 of 126 checks passed
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