Commit graph

9094 commits

Author SHA1 Message Date
Chirag Aggarwal
75a30793ac
Remove preview flag from storage cache config 2026-05-08 10:42:39 +05:30
Chirag Aggarwal
5841d0a944
Inline storage preview cache control 2026-05-08 09:59:36 +05:30
Chirag Aggarwal
bf76736971
Split storage cache control context 2026-05-08 09:57:33 +05:30
Chirag Aggarwal
707e5d231a
Scope storage cache control to previews 2026-05-08 09:55:33 +05:30
Chirag Aggarwal
6abd88b8f1
Type storage cache control config 2026-05-08 09:44:00 +05:30
Chirag Aggarwal
7b5a5b8d19
Rename storage cache control hook 2026-05-08 08:44:35 +05:30
Chirag Aggarwal
20ab5b026e
Add cached response cache-control callback 2026-05-08 08:33:37 +05:30
Luke B. Silver
1d004240e6
Merge pull request #12236 from appwrite/refactor/builds-publishing
refactor: migrate queueForBuilds to publisherForBuilds pattern
2026-05-07 17:06:32 +01:00
Matej Bačo
c3881f9974 Fix console email policy features 2026-05-07 17:13:26 +02:00
loks0n
7d0843cc7f Migrate queueForBuilds to publisherForBuilds pattern
Replaces the stateful Appwrite\Event\Build queue class with a stateless
BuildPublisher and BuildMessage DTO, matching the publisher pattern used
by audits, certificates, executions, migrations, screenshots, stats, and
usage. Call sites now enqueue messages directly instead of mutating a
shared event object and relying on the API shutdown hook.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 13:23:21 +01:00
loks0n
8201fea9ef Differentiate executor timeouts for builds, sync, and async executions
Adds Executor\Exception\Timeout (with timeoutSeconds) and translates it at
each call site into BUILD_TIMEOUT, FUNCTION_SYNCHRONOUS_TIMEOUT, or
FUNCTION_ASYNCHRONOUS_TIMEOUT instead of always using the misleading sync
function error. Build timeouts now append to streamed buildLogs rather
than replacing them, and the build worker reports its timeout via Span.
2026-05-06 15:54:11 +01:00
Matej Bačo
e834a95213 PR review improvements 2026-05-06 16:21:50 +02:00
Matej Bačo
d2b551cd12 Fix refreshing nonoauth sessions 2026-05-06 15:50:18 +02:00
Matej Bačo
48fbb59113 pr review fixes 2026-05-05 16:44:47 +02:00
Matej Bačo
305e8e1ec7 Add request filter 2026-05-05 16:24:41 +02:00
Matej Bačo
aaf91f3816 Improve scopes quality 2026-04-29 13:52:13 +02:00
Jake Barnby
8ab26aab44
Merge pull request #12171 from appwrite/migration-refractor
Refactor migrations API to module style
2026-04-29 21:44:19 +12:00
Matej Bačo
980762fc3e Rename from dynamic key to ephemeral key (api keys) 2026-04-28 17:18:06 +02:00
Prem Palanisamy
3f5dcc81fd Refactor migrations API to module style 2026-04-28 15:57:41 +01:00
Matej Bačo
b2ce95a0cd Dynamic key backwards compatibility 2026-04-28 16:14:10 +02:00
Matej Bačo
ed9b47f6ce Migrate project jwt to dynamic api key 2026-04-28 15:57:37 +02:00
Matej Bačo
8f176166c9 Re-introduce project JWT endpoint 2026-04-28 15:31:10 +02:00
Matej Bačo
2e960b90df Fix unused env variable 2026-04-27 13:38:26 +02:00
Matej Bačo
8200d079c6 Simplify specs 2026-04-24 16:37:27 +02:00
Matej Bačo
bdbc5b92df Fix after code review 2026-04-23 13:47:31 +02:00
Matej Bačo
a0a3849b16 Remove unsupported bulk endpoints 2026-04-23 13:37:32 +02:00
Matej Bačo
b99139661e Migrate delete project endpoint 2026-04-23 13:37:19 +02:00
Matej Bačo
6d86b8fd0d Removal of project JWTs 2026-04-23 13:25:21 +02:00
Matej Bačo
9dad7cef9e Merge branch '1.9.x' into feat-mocks-public-api 2026-04-23 10:17:32 +02:00
Matej Bačo
a85c5e582c Add auth method APIs (public) 2026-04-22 14:19:04 +02:00
Matej Bačo
2e42633e12 Add public mocks API for phones 2026-04-22 11:30:39 +02:00
Matej Bačo
72bb6378c2 Leftover 2026-04-22 10:00:19 +02:00
Matej Bačo
e530bf41f7 Post-merge fix 2026-04-22 09:59:00 +02:00
Matej Bačo
0d27c59cb8 Merge branch '1.9.x' into feat-public-project-policies 2026-04-22 09:57:48 +02:00
Matej Bačo
efc37c68ec Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-22 09:50:08 +02:00
Matej Bačo
06eb550e98 Finalize tests 2026-04-21 16:56:00 +02:00
Matej Bačo
6c89a05a60 Fix 0 session to mean unlimited 2026-04-21 16:38:53 +02:00
Matej Bačo
5f9dc0fcd8 Req & res filters, review fixes 2026-04-21 13:58:36 +02:00
Matej Bačo
d0f853d4cd Add more project policies 2026-04-21 13:38:27 +02:00
Matej Bačo
4317ee5617 Move some of auth settings to project policies 2026-04-21 13:11:42 +02:00
Matej Bačo
9e94f15f02 Finalize tests 2026-04-20 22:23:34 +02:00
Matej Bačo
52e3319a86 Linter fix 2026-04-20 14:50:12 +02:00
Matej Bačo
8b41aed919 Post-merge removal 2026-04-20 14:49:43 +02:00
Matej Bačo
ba4430801d Merge branch 'feat-project-templates-api' into feat-project-smtp-endpoints 2026-04-20 14:49:04 +02:00
Matej Bačo
1c1ec43150 Removeal post-merge 2026-04-20 14:47:01 +02:00
Matej Bačo
2f62cced0a Merge branch '1.9.x' into feat-project-smtp-endpoints 2026-04-20 14:46:42 +02:00
Matej Bačo
f040a4dc31 More backwards compatibility 2026-04-20 11:58:55 +02:00
Matej Bačo
bc592903db Support reply to name 2026-04-20 11:47:06 +02:00
Chirag Aggarwal
37a2b1cbd9 fix: restore executions limit cleanup behind a runtime env flag
Per review feedback on the PHPStan cleanup, the two `if
($executionsRetentionCount > 0 && ENABLE_EXECUTIONS_LIMIT_ON_ROUTE)`
blocks in `app/controllers/general.php` and
`src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php`
were load-bearing feature flags, not dead code. Removing them silently
dropped the ability to turn the cleanup on later.

Changes:

- Convert `ENABLE_EXECUTIONS_LIMIT_ON_ROUTE` from
  `const ... = false;` to a `define()` backed by the new
  `_APP_EXECUTIONS_LIMIT_ON_ROUTE` env var (defaults to `disabled`).
  PHPStan can no longer fold the `&&` away since the value is now
  runtime-resolved, so the guarded blocks are live again.
- Restore the `/* cleanup */` block in the `router()` helper in
  `app/controllers/general.php`.
- Restore the two cleanup blocks in `Functions/Http/Executions/Create.php`
  (one on the async-scheduled return path, one on the sync-response
  path), and re-add the `DeleteEvent $queueForDeletes` /
  `int $executionsRetentionCount` injections plus the
  `Appwrite\Event\Delete` import.

Runtime behavior is identical to main (flag off by default); operators
can now flip it via env without a code change.
2026-04-20 08:54:31 +05:30
Matej Bačo
6b66923f18 Fix delete response placeholder audit label 2026-04-19 19:36:24 +02:00