14508 Commits

Author SHA1 Message Date
Harsh Mahajan 6d4b05f3f9 Merge pull request #3062 from appwrite/fix-oauth-provider-search-order
Fix OAuth provider search ordering
8.3.8
2026-05-26 13:05:57 +05:30
harsh mahajan c13588f971 Fix OAuth provider search ordering 2026-05-26 11:41:01 +05:30
Harsh Mahajan a17021c1f9 Merge pull request #3061 from appwrite/fix-git-integration-doc-link
fix: point GitHub integration 'Learn more' links to version-control docs
2026-05-26 08:21:31 +05:30
harsh mahajan 2c384f1c6e fix: point GitHub integration 'Learn more' links to version-control docs 2026-05-26 00:18:46 +05:30
Atharva Deosthale b0e14126a0 Merge pull request #3060 from appwrite/feat-presence-api-banner
feat(console): swap promo banner to Presence API announcement
8.3.7
2026-05-25 21:52:48 +05:30
Atharva Deosthale 3034949777 chore(console): rename promo to Presences API and swap cover image 2026-05-25 18:45:01 +05:30
Atharva Deosthale 1af515899a feat(console): swap promo banner to Presence API announcement
Replace the relationships-out-of-beta banner with the new Presence API
announcement linking to the appwrite.io blog post.
2026-05-25 11:20:20 +05:30
Damodar Lohani 94b26483dc Merge pull request #3059 from appwrite/fix-CLO-4381-addon-name
fix(billing): use addon name from API instead of hardcoded label map
8.3.6
2026-05-25 09:06:56 +05:45
Damodar Lohani ded74e8850 fix(billing): use addon name from API instead of hardcoded label map
The plan summary table used a hardcoded `addon_<key> -> label` lookup
to render addon line items, with a fallback that called every unknown
addon an "overage". Switch to reading `addon.name` from the API
response, which the aggregation endpoint now populates from the addon
catalog.

The hardcoded map stays as a fallback for older cloud builds that
don't yet send `addon.name`, and a plain resourceId is the final
fallback in place of the misleading "overage (N)" string.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 05:53:04 +00:00
Harsh Mahajan ffc553878d Merge pull request #3054 from appwrite/fix-billing-null-guards
Fix billing null guards
8.3.5
2026-05-21 13:09:05 +05:30
Harsh Mahajan a15c4521fa Merge pull request #3056 from appwrite/feat-google-oauth-prompt
feat: Google OAuth prompt parameter and login OAuth error display
2026-05-21 13:06:21 +05:30
harsh mahajan 3862b0cde7 format 2026-05-21 12:49:39 +05:30
harsh mahajan 1d8876bfd9 fix: move credentials above Advanced accordion in OAuth modals 2026-05-21 12:49:01 +05:30
harsh mahajan dbbd29be3e fix: move client secret below Advanced accordion to match mainOAuth pattern 2026-05-21 12:46:34 +05:30
harsh mahajan ac30ff1f6c fix: revert OIDC advanced param to URL-based heuristic per design intent 2026-05-21 12:43:32 +05:30
harsh mahajan a247ab7e92 fix: address PR review — sanitize OAuth error message and revert OIDC param heuristic 2026-05-21 12:42:05 +05:30
harsh mahajan 14f55206b1 refactor: migrate googlePromptPicker to Svelte 5 runes 2026-05-21 12:40:24 +05:30
harsh mahajan 232628670e feat: Google OAuth prompt parameter and login OAuth error display
- Add dedicated googleOAuth.svelte modal with prompt picker in Advanced section
- Add googlePromptPicker.svelte: tag-based multi-select enforcing none exclusivity
- Wire prompt array through updateOAuth.ts to updateOAuth2Google SDK call
- Fix OIDC advanced param detection to URL-based logic (all URL params except wellKnownURL)
- Show OAuth failure URL error message on login page via onMount
2026-05-21 12:37:06 +05:30
Damodar Lohani 111583e361 Merge pull request #3055 from appwrite/fix-CLO-4155-drop-failed-invoice-delete-org-check
fix: allow deleting organization with failed invoices
2026-05-21 12:02:18 +05:45
Damodar Lohani a8b9e1d532 fix: allow deleting organization with failed invoices
The cloud backend (already merged) now cancels pending/failed invoices on
organization delete instead of throwing BILLING_INVOICE_PENDING. The
console was still gating the delete modal via the unpaid-invoices branch
of the delete-estimation endpoint, which rendered an alternate view
without the org-name confirmation input and left the Delete button
permanently disabled.

Drop the estimation-based gate (and the now-unused estimation fetch,
component, and import) so the confirm-name form always renders. The
backend will cancel any failed invoices server-side as part of the
delete. The informational upcoming-invoice Alert is preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 01:27:55 +00:00
harsh mahajan b88f43b848 Guard project limitation plan lookup 2026-05-20 18:38:17 +05:30
Torsten Dittmann b9b5909692 Merge pull request #3053 from appwrite/feat-concurrent-uploads
feat: support concurrent uploads
8.3.4
2026-05-20 16:57:07 +04:00
harsh mahajan c6a1bfeae1 Fix billing null guards 2026-05-20 18:24:19 +05:30
Torsten Dittmann 0105b87607 feat: support concurrent uploads 2026-05-20 16:42:58 +04:00
Harsh Mahajan b550d729b5 Merge pull request #3051 from appwrite/fix-smtp-email-template-clear-fields
fix: allow clearing optional SMTP and email template sender fields
2026-05-20 17:31:14 +05:30
Harsh Mahajan 3ac7af98fd Merge pull request #3052 from appwrite/fix-402-budget-limit-error-page
feat: add dedicated 402 budget limit error page
8.3.3
2026-05-20 11:10:11 +05:30
harsh mahajan 95f6655913 fix: use backend error message on 402 billing limit page 2026-05-20 11:06:11 +05:30
harsh mahajan 549c073aa6 fix: use generic billing limit copy for 402 error page
402 can be triggered by various billing limits, not only budget caps.
Update copy to reflect this.
2026-05-20 11:03:53 +05:30
harsh mahajan 838e066dbd feat: add dedicated 402 budget limit error page
Replace generic error display for 402 responses with a dedicated
budget limit error page. Includes a 'Go to billing' CTA when an
organization is in context, and a 'Change organization' secondary
action on both console-level and project-level error pages.
2026-05-20 10:55:25 +05:30
harsh mahajan e74f49f8be feat: add reset to default button on email templates 2026-05-19 18:57:47 +05:30
Harsh Mahajan 97d5e33a21 Update src/routes/(console)/project-[region]-[project]/auth/templates/emailTemplate.svelte
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-05-19 16:35:00 +05:30
harsh mahajan d1806f5fb6 fix: allow clearing optional SMTP and email template sender fields
Optional fields (senderEmail, replyToEmail, senderName, replyToName,
username, password) could not be cleared once set. The frontend used
|| undefined which silently dropped empty strings, so the backend
never received "" and the old value persisted on reload.

smtp/+page.svelte:
- Use ?? undefined instead of || undefined so empty strings are sent
- Fix isButtonDisabled deepEqual comparison: normalize types on both
  sides (?? '' for strings, ?? null for port, normalizeSecure() for
  secure) to avoid false positives from null/undefined mismatches
- Derive project from data.project so it stays reactive after
  invalidate() — fixes button not disabling after save without reload
- Remove second $effect that cleared fields on disable, which fought
  the first effect and kept the button permanently enabled

emailTemplate.svelte:
- Use ?? undefined instead of || undefined for sender/reply fields
- Add disabled={!isSmtpEnabled} to replyToEmail and replyToName,
  matching the existing behaviour of senderName and senderEmail
2026-05-19 16:13:54 +05:30
Atharva Deosthale eaf7927a08 Merge pull request #3048 from appwrite/feat-relationships-out-of-beta-banner
feat: replace console banner with relationships GA announcement
8.3.2
2026-05-18 13:32:36 +05:30
Atharva Deosthale c68e1108b9 feat: replace console banner with relationships GA announcement
Swap Terraform provider promo for the "Database relationships are out of
beta" announcement, linking to the GA blog post.
2026-05-18 13:21:14 +05:30
Harsh Mahajan 0bcef5267a Merge pull request #3047 from appwrite/fix-impersonated-resource-urls
fix: add impersonation params to resource urls
8.3.1
2026-05-18 11:43:47 +05:30
harsh mahajan cf9dba6da2 fix: override vulnerable devalue version 2026-05-18 11:32:54 +05:30
harsh mahajan b3466481db fix: make impersonated resource urls reactive 2026-05-18 11:30:31 +05:30
harsh mahajan e9f3292f81 update dependencies 2026-05-18 11:27:17 +05:30
harsh mahajan b70adc86e7 fix: resolve codemirror editor type mismatch 2026-05-18 11:24:24 +05:30
harsh mahajan 41aca21b71 fix: add impersonation params to resource urls 2026-05-18 11:14:25 +05:30
Harsh Mahajan c4f6f7947f Merge pull request #3039 from appwrite/feat-signup-email-security
feat: add signup email security controls + ce refactor changes
8.3.0
2026-05-14 10:28:28 +05:30
Matej Bačo 67da40e12a Improve copy 2026-05-13 16:50:34 +02:00
Matej Bačo 13781d152a Improve email policies copy 2026-05-13 16:45:51 +02:00
Aditya Oberai 4e28b37292 Merge pull request #3042 from appwrite/relationships-ga
Remove experimental tag from relationships
8.2.5
2026-05-13 20:13:49 +05:30
harsh mahajan 5ee037a0b8 fix: button state 2026-05-13 18:05:47 +05:30
harsh mahajan f95ce503af more fixes 2026-05-13 13:44:05 +05:30
harsh mahajan dd6b6c8da7 remove type 2026-05-13 13:33:22 +05:30
harsh mahajan e01d05cd45 same fix 2026-05-13 13:08:21 +05:30
harsh mahajan 5a89912add fix projectProtocolID 2026-05-13 13:05:34 +05:30
harsh mahajan e2a0a84ee8 list policies 2026-05-13 13:01:57 +05:30