12324 Commits

Author SHA1 Message Date
harsh mahajan b3466481db fix: make impersonated resource urls reactive 2026-05-18 11:30:31 +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
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
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
harsh mahajan 316468c796 Project no longer has platforms 2026-05-13 12:36:49 +05:30
harsh mahajan 20db8af61d use projectcreationdisabled 2026-05-13 12:32:36 +05:30
harsh mahajan 46bd13b8c9 dont use as methodid 2026-05-13 12:28:25 +05:30
harsh mahajan 4d7f3d33d5 pagination 2026-05-13 12:07:04 +05:30
harsh mahajan b4aadf7134 aliased emails 2026-05-13 11:41:32 +05:30
adityaoberai 4f0689f14d Remove experimental tag from relationships 2026-05-13 00:08:08 +05:30
harsh mahajan 968b85a2e9 Use project key scope type in selector 2026-05-12 21:44:49 +05:30
harsh mahajan 273503f780 Restore direct page store imports 2026-05-12 21:41:01 +05:30
harsh mahajan 13382b68b5 Fix signup email security policy reads 2026-05-12 20:26:29 +05:30
harsh mahajan 6878d72f88 fix auth preview project region lookup 2026-05-12 20:19:10 +05:30
harsh mahajan ce2dc314d5 refactor 2026-05-12 19:39:48 +05:30
harsh mahajan e77d3a330c Merge remote-tracking branch 'origin/main' into feat-signup-email-security 2026-05-12 18:46:36 +05:30
harsh mahajan e8cba9af73 Fix variable settings pagination 2026-05-12 11:36:36 +05:30
harsh mahajan 8ff20824bf push some changes 2026-05-11 18:53:45 +05:30
harsh mahajan cbda2db53e refactor: update email policy copy 2026-05-11 16:49:33 +05:30
premtsd-code 28c3992444 Merge pull request #2964 from appwrite/csv-import-upsert
feat(migrations): Fail/Skip/Overwrite import options across migration wizard, CSV & JSON import
2026-05-11 11:59:22 +01:00
Harsh Mahajan 4a1cc476de Merge branch 'main' into perf-console-optimizations 2026-05-11 16:12:48 +05:30
Jake Barnby 8b4028d665 fix(backups): show 'Skipped' label for skipped scheduled archives (#3033)
* fix(backups): surface skipped scheduled backups with a Skipped label

Cloud now writes a terminal archive doc with status='skipped' for cron
ticks that were dropped because the previous run hadn't finished yet.
Map that to the neutral 'waiting' Status visual and override the label
so the user sees "Skipped" instead of the auto-capitalized "Waiting".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(backups): comment why 'skipped' maps to the 'waiting' visual

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 22:15:17 +12:00
Prem Palanisamy 0b65897358 Merge remote-tracking branch 'origin/main' into csv-import-upsert
# Conflicts:
#	bun.lock
#	package.json
2026-05-11 10:39:40 +01:00
Chirag Aggarwal 1c8bd52eef Merge origin/main into simplify-support-triage-form 2026-05-11 12:05:27 +05:30
harsh mahajan 38f8abc8fa fix: handle signup email security update failures 2026-05-11 12:05:06 +05:30
harsh mahajan 3e38de492e feat: add signup email security controls 2026-05-11 11:59:47 +05:30
ArnabChatterjee20k 8c8d2c2a7a linting 2026-05-11 11:07:39 +05:30
Harsh Mahajan 43b7f5612d Merge pull request #3036 from appwrite/fix/remove-support-severity
Remove severity from support form
2026-05-11 10:22:04 +05:30
Chirag Aggarwal 2f013bb413 Align support store initial state 2026-05-10 19:25:59 +05:30
Chirag Aggarwal e4196b0fb8 Remove manual support triage fields 2026-05-10 19:18:14 +05:30
Damodar Lohani 848595faed Merge remote-tracking branch 'origin/main' into feat/live-payment-create-upgrade 2026-05-10 11:00:43 +00:00
ArnabChatterjee20k 91d3463e36 updated 2026-05-08 20:08:51 +05:30
ArnabChatterjee20k 30c1ca97fe updated 2026-05-08 20:07:34 +05:30
ArnabChatterjee20k 03ba899c56 Merge remote-tracking branch 'origin' into big-int 2026-05-08 19:59:43 +05:30
harsh mahajan 50d35a944f Remove severity from support form 2026-05-08 19:25:54 +05:30
harsh mahajan b4798736aa fix: treat deprecated scopes as selectable and fix badge count 2026-05-08 16:56:03 +05:30
ArnabChatterjee20k ff360a686a updated proxy status 2026-05-07 12:37:17 +01:00
ArnabChatterjee20k c7687220d7 fix: update proxy rule status handling and improve variable ID generation in function and site creation 2026-05-07 12:37:17 +01:00
Prem Palanisamy b0d92f58b1 fix(migrations): gate onDuplicate to Fail when databases not selected
The Fail/Skip/Overwrite radios are only rendered when the Databases
resource is checked. The local importOnDuplicate value, however,
persists across toggles — so unticking Databases after picking
Overwrite or Skip would silently apply that mode to the entire
migration payload (users, teams, functions, etc.) on submit.

Gate the value at submit time: only forward importOnDuplicate when
$formData.databases.root is true; otherwise always send Fail.

Addresses greptile P1 review on PR #2964.
2026-05-07 12:36:09 +01:00
Prem Palanisamy 8dfd91b7d3 feat(migrations): expose Fail/Skip/Overwrite radios for import flows
Reworks the import-options UI in three places to match the new
OnDuplicate enum (Fail / Skip / Overwrite) shipped by the cloud worker
and migration package:

- Settings → Migrations wizard (Appwrite source): three-option radio
  group with Fail pre-selected. Wording reflects that overwrite/skip
  apply to the entire resource tree (databases, tables, columns,
  indexes, rows), not just rows.
- Tables (TablesDB) CSV import: same three-option radio replacing
  the prior two checkboxes. Wording stays document-centric since CSV
  import is row-only.
- Collections (DocumentsDB) JSON import: previously imported with no
  onDuplicate (silent default to fail). Now opens the same Import
  options dialog with Fail/Skip/Overwrite radios.

Also bumps @appwrite.io/console SDK to https://pkg.vc/-/@appwrite/
@appwrite.io/console@341620a so the OnDuplicate enum exports match
the merged backend (post 1.9.x).

Renamed OnDuplicate.Upsert -> OnDuplicate.Overwrite throughout the
console (the enum was renamed in upstream PR #11910 / migration 1.9.7;
the prior reference compiled to undefined and silently defaulted the
backend to Fail).
2026-05-07 12:15:03 +01:00
Damodar Lohani eeb28a4ce8 fix(billing): surface real confirmPayment error and clean up draft on failure
Two issues surfaced during user testing of the live-payment flow on
create-organization and change-plan.

1. confirmPayment() in src/lib/stores/stripe.ts always called
   resolve('/(console)/organization-[organization]/billing', {organization: orgId})
   eagerly at the top of the try block. The create-organization callsite
   passes only `route` (no orgId, since the team doesn't yet exist), so
   resolve() threw on the missing required `organization` param, the
   outer catch fired, and the user saw the generic
   "There was an error processing your payment..." message instead of
   the actual Stripe error. The URL is now built lazily — resolve() is
   only invoked when no `route` is supplied. The outer catch now
   surfaces the underlying error message (Stripe / SDK error) and falls
   back to the generic copy only when no message is available.

2. When the frontend Stripe confirmation failed, the backend was never
   notified, leaving draft teams (status='draft') and partial upgrades
   stranded. handleTeamCreateUpgradeFailure already deletes drafts and
   rolls back upgrades — but only when the backend recognises failure.
   The create-organization and change-plan error branches now make a
   best-effort call to organizations.validatePayment after a failed
   confirmation. validatePayment inspects the actual Stripe intent and
   routes to handleTeamCreateUpgradeFailure when it isn't
   succeeded/processing. validatePayment is expected to throw
   BILLING_PAYMENT_FAILED in this path; the throw is swallowed because
   the user has already seen the underlying Stripe error and the
   backend cleanup is the desired side-effect.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 10:32:59 +00:00
Prem Palanisamy 6c154449b1 Merge remote-tracking branch 'origin/main' into csv-import-upsert 2026-05-07 11:17:43 +01:00