Skip to content

Create CODE_OF_CONDUCT.md - #1

Merged
eldadfux merged 1 commit into
masterfrom
add-code-of-conduct-1
Aug 17, 2019
Merged

eldadfux merged 1 commit into
masterfrom
add-code-of-conduct-1

Conversation

@eldadfux

Copy link
Copy Markdown
Member

No description provided.

@eldadfux
eldadfux merged commit f21e94e into master Aug 17, 2019
@eldadfux
eldadfux deleted the add-code-of-conduct-1 branch August 24, 2019 12:18
eldadfux pushed a commit that referenced this pull request Sep 30, 2019
eldadfux pushed a commit that referenced this pull request Oct 15, 2019
eldadfux pushed a commit that referenced this pull request Oct 23, 2019
eldadfux pushed a commit that referenced this pull request Nov 20, 2019
eldadfux pushed a commit that referenced this pull request Aug 31, 2020
eldadfux pushed a commit that referenced this pull request Sep 28, 2020
eldadfux pushed a commit that referenced this pull request Oct 1, 2020
…rgs-parser-20.2.0

Bump yargs-parser from 20.0.0 to 20.2.0
@Meldiron Meldiron mentioned this pull request Sep 2, 2021
4 tasks
PineappleIOnic added a commit that referenced this pull request Jan 18, 2022
…entation

Implement Executor to Runtime Communication Security
@reyesmfabian reyesmfabian mentioned this pull request Jan 22, 2022
2 tasks
@mbazs mbazs mentioned this pull request Aug 2, 2022
2 tasks
@mzungudev mzungudev mentioned this pull request Sep 24, 2022
2 tasks
@greptile-apps greptile-apps Bot mentioned this pull request May 14, 2026
3 tasks
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Jun 29, 2026
…delivery, thread recipient userId, inject email tracking pixel

Apply the four Greptile P1 fixes to the Notifications worker and
extend it for C3 email read tracking and ST4's stripped SMTP plumbing.

P1 appwrite#1: alreadyDelivered() now queries the indexed messageId attribute
instead of getDocument($messageId). The action loop and Console
adapter both write compound `$id`s (messageId + recipient hash), so
the previous direct-id lookup always missed.

P1 appwrite#3: action() no longer calls persistAlert after dispatchConsole;
ConsoleAdapter persists internally. Email persists inside
dispatchEmail BEFORE the adapter send so the alertId is available for
the tracking pixel; webhook persists in the action loop after a
successful HTTP send.

P1 appwrite#4: dispatchConsole now throws when the adapter reports
`deliveredTo === 0`, surfacing the per-recipient error.

Recipient threading: dispatch() now takes the full recipient map and
returns the alertId (or null when persistence is the caller's
responsibility). persistAlert() reads userId/teamId from the
recipient and grants per-user / per-team-owner CRUD permissions,
falling back to payload permissions only when neither is set. The
returned alertId lets dispatchEmail splice a 1x1 tracking pixel
before the last `</body>` tag, signed with a 30-day HS256 JWT
(_APP_OPENSSL_KEY_V1) carrying {alertId, userId}.

SMTP resolution: ST4 stripped `smtp` and `customMailOptions` from
the Notification event payload, so the worker now resolves SMTP
from the injected project Document (mirroring Mails.php /
Memberships/Create.php), falling back to the env-driven cloud SMTP
adapter when the project has no enabled override.

Tests updated: SpyNotifications.dispatch() matches the new
signature and emulates per-channel persistence so existing routing
assertions keep their semantics. Memory `alerts` collection adds
the `read` boolean attribute to mirror platform.php.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
abnegate added a commit that referenced this pull request Sep 10, 2026
Eight call sites decoded `responseBody` straight off the response. When an
execution fails that field is null, so the suite reported

  TypeError: json_decode(): Argument #1 ($json) must be of type string,
  null given

which names neither the execution nor anything about why it failed. Three
of the sites asserted the 201 *after* the decode, so the status check
could never run.

The runtime already reports what happened in the execution itself, so
`executionOutput()` asserts the request succeeded and the execution
reached `completed`, and puts the id, responseStatusCode, errors and logs
in the failure message before decoding. Against the failed execution from
run 34425276654 that turns the TypeError into

  execution 6aa205b8175b188d6304 did not complete
    responseStatusCode: 500
    errors: Error: connect ECONNREFUSED 172.16.238.18:80
    logs: Executing function

This changes no passing assertion; it only decides what a failure prints.
The lane it was found on fails roughly one run in twenty on cloud main
(19 pass, 1 fail over the last 20), which is exactly the kind of failure
that has to be diagnosable from the log alone.

Co-Authored-By: Claude Opus 5 <[email protected]>
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 16, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 21, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 21, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 22, 2026
loks0n added a commit that referenced this pull request Sep 23, 2026
* docs: add OpenAPI library plan

* feat: implement OpenAPI parser

* docs: add domain language context

* build: add Rector and require PHP 8.5

* ci: add test and code quality workflows

* fix: preserve omitted additional properties (#1)

* fix: capture extensions on the discriminator (#2)

CONTEXT.md states that an extension is "captured on every model that can
carry one". Discriminator was the exception: the reader built it from
propertyName and mapping and dropped every x- key alongside them, so an
extension nested inside a discriminator was unreachable from the parsed
Specification.

This matters because the standard mapping is single-valued — it maps one
property value to one schema. A union whose members are told apart by a
combination of properties cannot be expressed with it. Appwrite's spec
carries the full rule set in `x-mapping`:

    "discriminator": {
      "propertyName": "type",
      "mapping":   { "string": ".../attributeString" },
      "x-mapping": {
        ".../attributeEmail":  { "type": "string", "format": "email" },
        ".../attributeString": { "type": "string" }
      }
    }

Five of its attribute models share `type: "string"` and differ only by
`format`, so `mapping` can name just one of them and consumers reading
only `mapping` silently collapse the other four into it.

The reader already has Value::extensions(); this passes its result to the
constructor. Nothing here interprets the extension — it is captured and
handed to the consumer, which is the contract every other model follows.

* refactor: flatten the schema namespace

Every schema class sat under Model\Schema, which stuttered on the base
class and repeated itself on the kinds:

    Utopia\OpenAPI\Model\Schema\Schema
    Utopia\OpenAPI\Model\Schema\ArraySchema
    Utopia\OpenAPI\Model\Schema\ObjectSchema

The segment carried no information the class names did not already
carry, and a consumer importing a base type and two kinds read Schema
three times per line. The classes move up beside the models they are
part of, so the base is Model\Schema and a kind is Model\ArraySchema.

Dropping the suffix instead is not possible. Array, Object, String and
Never are reserved and cannot name a class in PHP, so Model\Schema\Array
and its neighbours cannot exist, and dropping the suffix only where the
language allows would leave Schema\Integer beside Schema\ArraySchema.
Removing the namespace segment keeps every kind named consistently while
taking the redundancy out of the path.

Model is a flat namespace of value objects, so schemas sit naturally
next to Parameter, Response and MediaType rather than one level below
them. No behaviour changes: the classes, their properties and their
relationships are untouched.

* fix: stop interpreting x-nullable

* feat: expose open string enum branches

An anyOf can combine a string enum with an enum-free string branch to document common values without closing the accepted set. Consumers currently have to repeat that structural interpretation themselves.\n\nExpose the enum-bearing branch from CompositeSchema when the union has exactly that shape. Keep oneOf, mixed-type unions, and unions with multiple enums unchanged.

* feat: expose string enum metadata

* fix: validate enum key values

* fix: validate open enum metadata

* fix: allow derived enum keys

* (feat): map OAS 3.1 annotated enumerations onto StringSchema

* (docs): describe enum names using schema titles only

* feat: resolve local schema references

* refactor schema reference resolution

* address greptile review feedback (greploop iteration 1)

* address greptile review feedback (greploop iteration 2)

* feat: expose accepted and required security scheme names

* fix: normalize security scheme names and consolidate tests

* Merge pull request #234 from utopia-php/absorb/openapi

chore(openapi): absorb library into monorepo

* Merge pull request #237 from utopia-php/clo-4377-compound-schemas

feat(openapi): expose conditional model references

* chore(openapi): mirror plumbing

Co-Authored-By: Claude Opus 5.5 <[email protected]>

* refactor: load openapi from packages/

Co-Authored-By: Claude Opus 5.5 <[email protected]>

---------

Co-authored-by: Chirag Aggarwal <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 23, 2026
…est-contract

Add typed client exceptions, PSR-7 constants, and shared adapter test…
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 24, 2026
JadeCong pushed a commit to CloudEngineHub/appwrite that referenced this pull request Sep 24, 2026
jaysomani pushed a commit to jaysomani/appwrite that referenced this pull request Sep 24, 2026
breken-ai pushed a commit to breken-ai/appwrite that referenced this pull request Sep 25, 2026
breken-ai pushed a commit to breken-ai/appwrite that referenced this pull request Sep 25, 2026
feat(locale): added new method to set locale from JSON file
ishanbundela10 pushed a commit to ishanbundela10/appwrite that referenced this pull request Sep 25, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 25, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
NancyWei123 pushed a commit to NancyWei123/appwrite that referenced this pull request Sep 26, 2026
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.

1 participant