Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
436 commits
Select commit Hold shift + click to select a range
49ecdd2
use Input.ComboBox for proper dialog portal support
HarshMN2345 Jun 11, 2026
65c0d99
use melt-ui createCombobox for proper dialog portal support
HarshMN2345 Jun 11, 2026
093b81a
fix infinite loading loop
HarshMN2345 Jun 11, 2026
b475567
fix infinite loading with loaded flag
HarshMN2345 Jun 11, 2026
ea912e5
fix Input.Base not found error
HarshMN2345 Jun 11, 2026
9fbba38
restore previous UI, use fixed positioning for dialog
HarshMN2345 Jun 11, 2026
d0bbd5b
keep dropdown inside container with position absolute
HarshMN2345 Jun 11, 2026
0816d8c
use portal action to escape modal overflow
HarshMN2345 Jun 11, 2026
4ef5087
remove dead branch fetch code from page loaders
HarshMN2345 Jun 11, 2026
5aba685
fix all type errors
HarshMN2345 Jun 11, 2026
9bb0282
format
HarshMN2345 Jun 11, 2026
ba14c79
remove getBranches loop, use providerBranch directly
HarshMN2345 Jun 11, 2026
922b6a1
format
HarshMN2345 Jun 11, 2026
4bd3723
fix portal class mismatch causing dropdown to close on search click
HarshMN2345 Jun 11, 2026
4fd965c
Merge pull request #3084 from appwrite/fix/fetch-all-branches
HarshMN2345 Jun 11, 2026
2b63cd3
feat: add corporate email policy toggle to auth security settings
HarshMN2345 Jun 11, 2026
27ac976
fix: rename label to Deny non-corporate emails
HarshMN2345 Jun 11, 2026
7e22208
fix: use Require corporate emails label for better UX
HarshMN2345 Jun 11, 2026
984a55a
fix: use Deny non-corporate emails label for consistency
HarshMN2345 Jun 11, 2026
18f94ed
fix: use Require corporate emails label and show blocked email example
HarshMN2345 Jun 11, 2026
785b589
fix: use Deny non-corporate emails label
HarshMN2345 Jun 11, 2026
1b41137
Merge pull request #3085 from appwrite/feat/corporate-email-policy
HarshMN2345 Jun 12, 2026
b0ce974
fix(a11y): correct aria-labels for documentation buttons
Jun 17, 2026
45a95e5
feat: OAuth2 server consent & device verification screens
ChiragAgg5k Jun 18, 2026
bce070c
fix: prevent OAuth2 consent/device card from collapsing
ChiragAgg5k Jun 18, 2026
7bcc6e9
fix: harden OAuth2 consent/device flows against stale requests
ChiragAgg5k Jun 18, 2026
cd81387
fix: pin ws to ^8.21.0 to clear high-severity audit advisory
ChiragAgg5k Jun 18, 2026
57b6376
Merge pull request #3087 from appwrite/feat-oauth2-consent-device
ChiragAgg5k Jun 18, 2026
c72eb25
fix: preserve deprecated API key scopes
TorstenDittmann Jun 18, 2026
0250d7d
Merge pull request #3088 from appwrite/fix-api-key-deprecated-scopes
TorstenDittmann Jun 18, 2026
3db3b84
fix: show full-access consent item only when account.admin is requested
ChiragAgg5k Jun 20, 2026
2050888
refactor: streamline OAuth2 consent screen
ChiragAgg5k Jun 20, 2026
8625837
fix: handle openid-only consent scope and document scope mapping
ChiragAgg5k Jun 20, 2026
534c320
feat: show authorized OAuth apps on the account sessions page
ChiragAgg5k Jun 20, 2026
4d46206
refactor: move authorized OAuth apps to a dedicated Applications tab
ChiragAgg5k Jun 20, 2026
38a58b4
Merge pull request #3089 from appwrite/refactor-oauth2-consent-screens
ChiragAgg5k Jun 20, 2026
d8f6db8
Merge pull request #3086 from Krshs90/fix-docs-aria-label
ChiragAgg5k Jun 22, 2026
ed9a109
fix: send null for unlimited user limit
TorstenDittmann Jun 22, 2026
ebb1cac
fix: remove user limit null cast
TorstenDittmann Jun 22, 2026
971303c
fix: format database page to satisfy prettier lint
Copilot Jun 22, 2026
958e773
fix: update console SDK for site specifications
TorstenDittmann Jun 22, 2026
5005d79
Merge pull request #3090 from appwrite/fix-user-limit-unlimited-null
TorstenDittmann Jun 22, 2026
9d38b9d
Merge remote-tracking branch 'origin/main' into fix-site-build-runtim…
TorstenDittmann Jun 22, 2026
66dc7d1
fix: separate site build and runtime specs
TorstenDittmann Jun 22, 2026
3911369
fix: use typed site spec eligibility
TorstenDittmann Jun 22, 2026
b5c68e8
fix: pass specification type to SDK
TorstenDittmann Jun 22, 2026
dae2b0b
(feat): group OAuth2 consent scopes into a collapsible section
ChiragAgg5k Jun 23, 2026
e9d3dcf
(fix): read the resource indicator from the resource query param
ChiragAgg5k Jun 23, 2026
bb4df7c
Merge pull request #3092 from appwrite/feat-oauth2-consent-collapsibl…
ChiragAgg5k Jun 23, 2026
476e195
Merge remote-tracking branch 'origin/main' into fix-site-build-runtim…
TorstenDittmann Jun 23, 2026
f12239a
Merge pull request #3091 from appwrite/fix-site-build-runtime-spec-li…
TorstenDittmann Jun 23, 2026
8db6777
fix: point backup policy upgrade link to enterprise contact page
HarshMN2345 Jun 24, 2026
c1d66e2
Merge pull request #3093 from appwrite/fix-backup-policy-upgrade-link
HarshMN2345 Jun 24, 2026
0983d4c
Bump console SDK to @dd8e255
lohanidamodar Jun 25, 2026
bdf38af
Merge remote-tracking branch 'origin/main' into feat/project-premium-…
lohanidamodar Jun 25, 2026
39af2c8
feat(oauth2): per-project permission selection on the consent screen
ChiragAgg5k Jun 26, 2026
13416cd
feat(oauth2): selectable console scopes + named per-project sections …
ChiragAgg5k Jun 26, 2026
410f12f
refactor(oauth2): drop the avatar from per-project consent headers
ChiragAgg5k Jun 26, 2026
c2cacdd
Merge pull request #3094 from appwrite/feat-oauth2-rar-consent
ChiragAgg5k Jun 26, 2026
0c7e8a4
Fix nameserver verification SDK calls
ChiragAgg5k Jun 26, 2026
274efd0
Update console SDK preview
ChiragAgg5k Jun 26, 2026
cfd97e3
Merge pull request #3095 from appwrite/fix-domain-nameserver-verifica…
ChiragAgg5k Jun 26, 2026
a79f128
fix: prevent browser password save prompt and fix action menu clippin…
HarshMN2345 Jun 29, 2026
6bcb7cc
fix: use AutoFill cast instead of narrowing lie for autocomplete prop
HarshMN2345 Jun 29, 2026
41752b5
format
HarshMN2345 Jun 29, 2026
3314b31
fix: remove AutoFill reference to fix no-undef lint error
HarshMN2345 Jun 29, 2026
3207b43
format
HarshMN2345 Jun 29, 2026
b6f1e6b
Merge pull request #3096 from appwrite/fix-env-variable-ui-issues
HarshMN2345 Jun 29, 2026
0c7b467
fix: match by key when $id is absent to prevent all variables being o…
HarshMN2345 Jun 29, 2026
806df25
revert: remove portal from wizard env variables popover — breaks onclick
HarshMN2345 Jun 29, 2026
0a21d85
fix: allow action menu to overflow table cell so popover is not clipped
HarshMN2345 Jun 29, 2026
56515de
fix: override table cell overflow to unclip action menu popover
HarshMN2345 Jun 29, 2026
9f2ef42
fix: use portal for action menu popover, set state before toggle to e…
HarshMN2345 Jun 29, 2026
3bdc82f
fix: replace pink Popover with custom Svelte 5 floating action menu t…
HarshMN2345 Jun 29, 2026
de34d5e
fix: add background, border and shadow to floating action menu
HarshMN2345 Jun 29, 2026
e1e5ce4
fix: portal menu div to document.body to prevent table cell layout br…
HarshMN2345 Jun 29, 2026
7160ccb
fix: reduce min column widths on small viewport to prevent table over…
HarshMN2345 Jun 29, 2026
d86ad4e
fix: use small min widths on mobile so table fits inside wizard conta…
HarshMN2345 Jun 29, 2026
7193390
fix: show icon-only create variable button on mobile to save horizont…
HarshMN2345 Jun 29, 2026
c58a082
fix: add strategy fixed, return autoUpdate cleanup from effect, use o…
HarshMN2345 Jun 29, 2026
d73328c
format
HarshMN2345 Jun 29, 2026
84a7c73
revert: undo greptile fixes (strategy fixed, effect cleanup, onclick)
HarshMN2345 Jun 29, 2026
2aa0eb7
fix: remove stopPropagation so outside-click handler can close other …
HarshMN2345 Jun 29, 2026
7331b3a
Merge pull request #3097 from appwrite/fix-create-function-env-variab…
HarshMN2345 Jun 29, 2026
b5661d3
fix(auth): hide email policies on self-hosted
HarshMN2345 Jul 1, 2026
b81cf9a
fix: guard payments page on self-hosted, fix billingPlanDetails optio…
HarshMN2345 Jul 1, 2026
85dd101
fix: add missing optional chain on billingPlanDetails.name
HarshMN2345 Jul 1, 2026
cb3af0c
Merge pull request #3100 from appwrite/fix-email-policies-cloud-only
HarshMN2345 Jul 1, 2026
8db59c8
feat(oauth2): redesign cloud consent screen with RAR resource binding
ChiragAgg5k Jul 1, 2026
11cdeef
(fix): key oauth2 consent rows by token to avoid title collisions
ChiragAgg5k Jul 1, 2026
a7bb38e
Merge pull request #3101 from appwrite/feat-oauth2-consent-redesign
ChiragAgg5k Jul 1, 2026
9a4cf75
Fix RAR not showing project selector
Meldiron Jul 1, 2026
6c62492
Merge pull request #3102 from appwrite/fix-rar
Meldiron Jul 2, 2026
c61b4dd
feat: sort users and projects by accessedAt by default
HarshMN2345 Jul 2, 2026
f0bc6b8
Merge pull request #3103 from appwrite/feat/sort-by-accessed-at
HarshMN2345 Jul 2, 2026
daf42ec
feat: consent-time scope narrowing for MCP grants
ChiragAgg5k Jul 3, 2026
197026f
Fix incorrect documentation link on the Activity empty state
HarshMN2345 Jul 3, 2026
2ab0f0d
Merge pull request #3106 from appwrite/fix/activity-audit-logs-doc-link
HarshMN2345 Jul 3, 2026
3b26e6b
fix: omit authorizationDetails on untouched MCP approve to keep conse…
ChiragAgg5k Jul 3, 2026
8be55af
(test): drop oauth2-mcp unit tests
ChiragAgg5k Jul 3, 2026
c7b29a4
(fix): add consent copy for legacy and uncovered scope resources
ChiragAgg5k Jul 3, 2026
462d5e5
(feat): show success screen when OAuth redirect targets a native app
ChiragAgg5k Jul 6, 2026
5396441
(fix): address review comments on OAuth outcome screen
ChiragAgg5k Jul 6, 2026
ebe5e78
Merge pull request #3107 from appwrite/feat/oauth2-native-redirect-su…
ChiragAgg5k Jul 6, 2026
9c0f9ec
Revert "feat: sort users and projects by last activity by default"
HarshMN2345 Jul 6, 2026
1beea5c
Merge pull request #3108 from appwrite/revert-3103-feat/sort-by-acces…
HarshMN2345 Jul 6, 2026
74ba7ee
Merge remote-tracking branch 'origin/main' into feat/mcp-consent-narr…
ChiragAgg5k Jul 6, 2026
471e157
(fix): address Greptile review — guard umbrella collapse under read-o…
ChiragAgg5k Jul 6, 2026
79a7d3e
Merge pull request #3105 from appwrite/feat/mcp-consent-narrowing
ChiragAgg5k Jul 6, 2026
f14ddc4
Remove Activity screens from the console
HarshMN2345 Jul 6, 2026
8ddb379
Merge pull request #3109 from appwrite/remove-activity-screens
HarshMN2345 Jul 6, 2026
e185cbd
Merge remote-tracking branch 'origin/main' into feat/project-premium-…
lohanidamodar Jul 7, 2026
300f3ce
fix(premiumGeoDB): handle 3DS PaymentAuthentication in re-enable flow
lohanidamodar Jul 7, 2026
a02d9cc
fix(billing): friendly label for premium geo addon in project breakdown
lohanidamodar Jul 7, 2026
cfaf3e7
(feat): resume OAuth2 authorize requests through PAR handles across l…
ChiragAgg5k Jul 8, 2026
f564a72
(fix): detect dead request_uri handles by exception type, not message…
ChiragAgg5k Jul 8, 2026
4afe9de
(cleanup): trim consent-page comments to load-bearing constraints
ChiragAgg5k Jul 8, 2026
32ee3fc
(fix): forward all resource values in the authenticated authorize path
ChiragAgg5k Jul 8, 2026
f3e76aa
(docs): explain why PAR needs a credentials-omitted client
ChiragAgg5k Jul 8, 2026
b3ae248
(refactor): drop the anonymous PAR client now that /par allows creden…
ChiragAgg5k Jul 8, 2026
768f44b
(refactor): flatten the consent-page flow and extract oauth2 error co…
ChiragAgg5k Jul 8, 2026
c9543b2
Merge pull request #3110 from appwrite/feat-oauth2-par-login-redirect
ChiragAgg5k Jul 8, 2026
411810b
chore(deps): bump @appwrite.io/console SDK to 051c615
lohanidamodar Jul 9, 2026
7c33c93
Merge remote-tracking branch 'origin/main' into feat/project-premium-…
lohanidamodar Jul 9, 2026
42df78d
chore(deps): bump @appwrite.io/console SDK to 68c295a
lohanidamodar Jul 9, 2026
b3f0cc9
refactor(databases): remove DocumentsDB collection usage page
lohanidamodar Jul 9, 2026
9c54e5f
Merge pull request #3111 from appwrite/refactor-remove-documentsdb-co…
lohanidamodar Jul 9, 2026
92d8e29
fix(databases): remove Usage tab from collection header
lohanidamodar Jul 9, 2026
d305af6
Merge pull request #3112 from appwrite/fix-remove-collection-usage-tab
lohanidamodar Jul 9, 2026
641e67f
Merge remote-tracking branch 'origin/main' into feat/project-premium-…
lohanidamodar Jul 9, 2026
94e0914
feat(console): add State of Appwrite Cloud survey banner
atharvadeosthale Jul 9, 2026
ca5f703
fix(databases): correct enum icon and hide indexed checkbox for relat…
HarshMN2345 Jul 10, 2026
8f67efb
fix(databases): treat empty format as no format in enum icon lookup
HarshMN2345 Jul 10, 2026
c2b07b0
Merge pull request #3114 from appwrite/fix-index-column-icons-and-rel…
HarshMN2345 Jul 10, 2026
4081765
feat(console): update survey banner message
atharvadeosthale Jul 10, 2026
c63636e
Merge pull request #3113 from appwrite/feat-state-of-appwrite-survey-…
atharvadeosthale Jul 10, 2026
98b6451
Upgrade SDK
Meldiron Jul 10, 2026
16bc0d1
Add Appwrite provider; Improve OIDC provider
Meldiron Jul 10, 2026
395a268
Code quality improvements
Meldiron Jul 10, 2026
f348973
Merge pull request #3115 from appwrite/feat-oauth2-improvements
Meldiron Jul 10, 2026
c7905b4
Improve OAuth2 consent screen UX
ChiragAgg5k Jul 11, 2026
fd020af
Address Greptile review
ChiragAgg5k Jul 11, 2026
b584206
Merge pull request #3116 from appwrite/feat-oauth2-consent-improvements
ChiragAgg5k Jul 11, 2026
d006d2a
Hide unavailable low-tier build specs
TorstenDittmann Jul 13, 2026
a653baa
Merge pull request #3118 from appwrite/fix-hide-low-tier-build-specs
TorstenDittmann Jul 13, 2026
c4bf7e8
fix: configure Growth endpoint with Actions variables
ChiragAgg5k Jul 15, 2026
c34e081
Merge pull request #3120 from appwrite/fix/growth-endpoint-environmen…
ChiragAgg5k Jul 15, 2026
8436692
Add a Connect to Gitea button alongside GitHub
HarshMN2345 Jul 15, 2026
41e672a
Merge pull request #3121 from appwrite/feat/gitea-connect-button
HarshMN2345 Jul 15, 2026
826e5a9
Gate Gitea button to self-hosted, use real Gitea logo
HarshMN2345 Jul 15, 2026
c067aa8
Merge pull request #3122 from appwrite/fix/gitea-button-self-hosted-a…
HarshMN2345 Jul 15, 2026
c1caaa6
Merge remote-tracking branch 'origin/main' into feat/project-premium-…
lohanidamodar Jul 16, 2026
6581c8a
cicd: point e2e endpoint to cloud.staging.appwrite.io
lohanidamodar Jul 16, 2026
74e69fc
fix(premiumGeoDB): inspect payment outcome on enable, mirror BAA flow
lohanidamodar Jul 16, 2026
241dde8
Merge pull request #2981 from appwrite/feat/project-premium-geo-db-addon
lohanidamodar Jul 16, 2026
441717a
fix(premiumGeoDB): treat webhook-race 404 on addon confirm as success
lohanidamodar Jul 16, 2026
6ea3484
Merge pull request #3123 from appwrite/fix/premium-geo-db-invoice-race
lohanidamodar Jul 16, 2026
f489541
fix: Server return html but not Rendering
BretRen Jul 20, 2026
e2e1c2b
Enhance Security + Formatting
BretRen Jul 20, 2026
cb6daac
enforce noopener & noreferrer
BretRen Jul 20, 2026
e778630
delete useless code
BretRen Jul 20, 2026
bc1a928
feat: add production and staging deployment workflows for console
levivannoort Jul 20, 2026
d44a07b
Update production.yml
levivannoort Jul 20, 2026
771f09f
Update staging.yml
levivannoort Jul 20, 2026
db7a7b1
Add 'target' attribute to allowed attributes in modal
BretRen Jul 20, 2026
26df26a
Merge pull request #3126 from BretRen/fix/a-tag
HarshMN2345 Jul 20, 2026
2abbc8f
fix(deployment): update workflows to create pull requests for image t…
levivannoort Jul 20, 2026
52fcc3d
fix(databases): remove leftover top-level Usage tab
HarshMN2345 Jul 20, 2026
368fa34
Merge pull request #3128 from appwrite/fix-remove-databases-usage-tab
HarshMN2345 Jul 20, 2026
1d1eabc
Merge pull request #3127 from appwrite/declarative-setup
levivannoort Jul 20, 2026
9005718
fix(databases): remove leftover per-table Usage tab
HarshMN2345 Jul 21, 2026
6c104c0
fix(databases): remove dangling table usage command-center shortcut
HarshMN2345 Jul 21, 2026
8d5f6cb
fix(databases): remove orphaned shared entity Usage view
HarshMN2345 Jul 21, 2026
ac4672e
fix(databases): remove leftover per-database Usage tab
HarshMN2345 Jul 21, 2026
de3deb8
fix: remove remaining per-resource Usage tabs and shortcuts
HarshMN2345 Jul 21, 2026
7d38152
fix: bump brace-expansion/js-yaml overrides to clear high-severity audit
HarshMN2345 Jul 21, 2026
0512f68
Merge remote-tracking branch 'origin/fix-remove-database-usage-tab' i…
HarshMN2345 Jul 21, 2026
987cc06
Merge remote-tracking branch 'origin/fix-remove-remaining-resource-us…
HarshMN2345 Jul 21, 2026
a8a7bb8
Merge remote-tracking branch 'origin/fix-audit-brace-expansion-jsyaml…
HarshMN2345 Jul 21, 2026
a0ee432
fix: remove orphaned shared usage components and breadcrumb entry
HarshMN2345 Jul 21, 2026
cbd4e8d
fix: restore integrity checksums for pkg.vc-hosted packages in bun.lock
HarshMN2345 Jul 21, 2026
a2a7e1a
Merge pull request #3134 from appwrite/fix-remove-remaining-usage-tab…
HarshMN2345 Jul 21, 2026
3924835
fix(sites): remove deployment metrics card calling sites.getUsage()
HarshMN2345 Jul 22, 2026
6286764
fix: bump immutable override to clear high-severity audit
HarshMN2345 Jul 22, 2026
ca1e002
Merge branch 'fix-audit-immutable' into fix-remove-site-deployment-me…
HarshMN2345 Jul 22, 2026
c424116
Merge pull request #3136 from appwrite/fix-remove-site-deployment-met…
HarshMN2345 Jul 22, 2026
d9db09f
fix(dev-keys): remove dev key creation, add deprecation notice
atharvadeosthale Jul 22, 2026
b299123
fix(dev-keys): state deprecation dates in the alert
atharvadeosthale Jul 22, 2026
84eb30d
Merge pull request #3138 from appwrite/fix-remove-dev-key-creation
atharvadeosthale Jul 22, 2026
d4e22eb
fix: show real OAuth error on failure relay page
ChiragAgg5k Jul 24, 2026
9559127
fix: pin postcss and brace-expansion to clear high-severity audit
ChiragAgg5k Jul 25, 2026
c2c43ac
Merge pull request #3140 from appwrite/fix/oauth-failure-show-error
ChiragAgg5k Jul 26, 2026
7e80119
fix: prevent project Usage tab crash on missing usage breakdowns
HarshMN2345 Jul 27, 2026
5c5c83e
Merge pull request #3142 from appwrite/fix-usage-tab-breakdown-crash
HarshMN2345 Jul 27, 2026
1ee9944
fix: don't fail the grid when relationship resolution exceeds the que…
HarshMN2345 Jul 31, 2026
218e128
fix: materialize filter queries so the relationship fallback keeps them
HarshMN2345 Jul 31, 2026
826bccc
Merge pull request #3143 from appwrite/fix-grid-relationship-query-limit
HarshMN2345 Jul 31, 2026
c5b9428
fix sites fallback placeholder
HarshMN2345 Jul 31, 2026
b1ac625
Merge pull request #3144 from appwrite/codex/fix-sites-fallback-place…
HarshMN2345 Jul 31, 2026
1f43673
fix(messaging): show delete for a processing message
HarshMN2345 Aug 4, 2026
9bce5ac
chore(deps): raise the brace-expansion floor to 5.0.9
HarshMN2345 Aug 4, 2026
54f52a8
fix(messaging): gate the delete card on write scope
HarshMN2345 Aug 4, 2026
d3ae09c
Merge remote-tracking branch 'origin/chore/bump-brace-expansion' into…
HarshMN2345 Aug 4, 2026
b041769
Merge pull request #3146 from appwrite/chore/bump-brace-expansion
HarshMN2345 Aug 4, 2026
a41838a
Merge pull request #3145 from appwrite/fix/delete-processing-message
HarshMN2345 Aug 4, 2026
2f91099
fix(billing): stop a zero seat limit turning free orgs read-only
HarshMN2345 Aug 6, 2026
750ec8e
refactor(billing): trim the comments down to what the code can't say
HarshMN2345 Aug 6, 2026
6aa9372
Merge pull request #3149 from appwrite/fix/free-plan-readonly-blocks-…
HarshMN2345 Aug 7, 2026
9f0ae45
fix(databases): render array column items with their element type
HarshMN2345 Aug 7, 2026
a7c75f7
chore(deps): raise the js-yaml floor to 4.3.1
HarshMN2345 Aug 7, 2026
df7f976
Merge pull request #3151 from appwrite/fix-array-column-item-type
HarshMN2345 Aug 7, 2026
9dde997
Fix compatibility with external CIMD URLs
Meldiron Aug 11, 2026
8ed7be0
refactor(oauth2): inline the one-off CIMD helpers
Meldiron Aug 11, 2026
6b7c35a
chore(deps): raise the nanoid floor past GHSA-28wg-ghj8-5hjv and GHSA…
Meldiron Aug 11, 2026
00ba9b1
Merge pull request #3154 from appwrite/fix-cimd-client-id-resolution
Meldiron Aug 11, 2026
1d4cfad
fix(variables): validate variable keys before writing them
levivannoort Aug 12, 2026
0feeb2a
fix(variables): drop the key from the draft map before writing it
levivannoort Aug 12, 2026
40a286f
fix(sites): keep framework start commands out of the console
HarshMN2345 Aug 12, 2026
6e64d0c
Match the start command copy used by the new console
HarshMN2345 Aug 12, 2026
8fab550
Clear the start command when the framework or adapter changes
HarshMN2345 Aug 13, 2026
e10ae01
fix(variables): filter valueless entries before validating an import
levivannoort Aug 13, 2026
ee7514c
Merge pull request #3156 from appwrite/fix/sites-hide-start-command
HarshMN2345 Aug 13, 2026
4058823
Keep the start command field, drop the adapter reads behind it
HarshMN2345 Aug 13, 2026
a175d02
Clear the start command when the framework changes on create too
HarshMN2345 Aug 13, 2026
58b3777
Reset the start command from the framework select, not the effect
HarshMN2345 Aug 14, 2026
6fa8402
Pin nanoid past the indefinite-loop advisory
HarshMN2345 Aug 14, 2026
9e17b05
Merge pull request #3157 from appwrite/fix/sites-hide-start-command
HarshMN2345 Aug 14, 2026
f5b2699
Remove the Cloud public beta card route
HarshMN2345 Aug 14, 2026
8c5d6ee
Drop svelte-confetti, unused once the card route is gone
HarshMN2345 Aug 14, 2026
36236db
Merge pull request #3160 from appwrite/refactor/remove-cloud-card-route
HarshMN2345 Aug 14, 2026
de9b9a5
Merge branch 'main' into fix/variable-key-validation
HarshMN2345 Aug 14, 2026
8c1b58a
Merge pull request #3155 from appwrite/fix/variable-key-validation
HarshMN2345 Aug 14, 2026
af5c071
fix: show Appwrite icon for CLI OAuth consent avatars
cursoragent Aug 15, 2026
d4ee362
chore(deploy): push image bumps to application-configuration
levivannoort Aug 16, 2026
55792bc
Merge pull request #3162 from appwrite/chore/deploy-to-application-co…
levivannoort Aug 16, 2026
a5e15a0
fix: correct phone verification success notification
cursoragent Aug 17, 2026
e96cf47
Merge pull request #3164 from appwrite/fix/phone-verification-notific…
ChiragAgg5k Aug 17, 2026
d049860
Fix the cropped logo with CSS instead of a client-ID override
HarshMN2345 Aug 17, 2026
bc7855a
Revert "Fix the cropped logo with CSS instead of a client-ID override"
HarshMN2345 Aug 17, 2026
964c9b3
Merge pull request #3161 from appwrite/fix-3159-cli-oauth-logo
ChiragAgg5k Aug 17, 2026
744d6ea
chore(deps): bump @appwrite.io/console to 16.0.0
HarshMN2345 Aug 17, 2026
17f0fa5
feat(auth): add MFA factors policy card
HarshMN2345 Aug 17, 2026
a97d887
Merge remote-tracking branch 'origin/main' into feat-mfa-factors-poli…
HarshMN2345 Aug 17, 2026
1cc7e26
fix: gate MFA factors policy behind the project write scope
HarshMN2345 Aug 17, 2026
28b46d9
fix(usage): scope the executions breakdown to function executions
HarshMN2345 Aug 17, 2026
f8b969c
Merge pull request #3166 from appwrite/feat-mfa-factors-policy-card
HarshMN2345 Aug 17, 2026
0542f38
fix: preserve datetime timezone on row updates
cursoragent Aug 18, 2026
a723540
Merge pull request #3167 from appwrite/fix-2870-datetime-timezone-drift
ChiragAgg5k Aug 18, 2026
bdfadb1
fix: normalize smart quotes in function execution body (#3169)
cursor[bot] Aug 19, 2026
14a0c36
fix: refresh $updatedAt after inline row edits (#3170)
cursor[bot] Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
id: playwright-cache
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }}
key: ${{ runner.os }}-playwright-${{ hashFiles('**/bun.lock') }}
restore-keys: |
${{ runner.os }}-playwright-

Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Production deployment

on:
workflow_dispatch:
release:
types: [published]

concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false

env:
ENVIRONMENT: production
PROJECT: cloud
APPLICATION: cloud
DECLARATIVE_OWNER: appwrite-labs
DECLARATIVE_REPOSITORY: application-configuration
DECLARATIVE_ALIAS: cloud-console
IMAGE_NAME: appwrite/console-cloud
TAG: ${{ github.event.release.tag_name || github.sha }}

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to Docker Hub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ env.IMAGE_NAME }}:${{ env.TAG }}
build-args: |
"PUBLIC_CONSOLE_MODE=cloud"
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_APPWRITE_MULTI_REGION=true"
"PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false"
"PUBLIC_GROWTH_ENDPOINT=${{ vars.VITE_APPWRITE_GROWTH_ENDPOINT }}"
"PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY }}"
"PUBLIC_CONSOLE_FINGERPRINT_KEY=${{ secrets.PUBLIC_CONSOLE_FINGERPRINT_KEY }}"
"SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}"
"SENTRY_RELEASE=${{ github.event.release.tag_name }}"

deploy:
needs: build
runs-on: ubuntu-latest
# Shared across the staging and production workflows so their deploy
# jobs never push to application-configuration at the same time.
concurrency:
group: declarative-deploy
cancel-in-progress: false
steps:
- name: Get token for ${{ env.DECLARATIVE_REPOSITORY }}
id: app-token
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
with:
app-id: ${{ vars.DECLARATIVE_DEPLOYMENT_GITHUB_APP_ID }}
private-key: ${{ secrets.DECLARATIVE_DEPLOYMENT_GITHUB_APP_PRIVATE_KEY }}
owner: ${{ env.DECLARATIVE_OWNER }}
repositories: ${{ env.DECLARATIVE_REPOSITORY }}

- name: Checkout ${{ env.DECLARATIVE_REPOSITORY }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: ${{ env.DECLARATIVE_OWNER }}/${{ env.DECLARATIVE_REPOSITORY }}
token: ${{ steps.app-token.outputs.token }}
# Don't leave the write-capable token in .git/config for later steps.
persist-credentials: false

- name: Update image tag
run: yq -i '.[strenv(DECLARATIVE_ALIAS)].image.tag = strenv(TAG)' ${{ env.PROJECT }}/${{ env.ENVIRONMENT }}/${{ env.APPLICATION }}/default.yaml

- name: Open pull request
# The release author reviews; falls back to the dispatcher for
# manual runs. The PR author is the GitHub App bot, so requesting
# the release author as reviewer is always allowed.
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
REVIEWER: ${{ github.event.release.author.login || github.actor }}
BRANCH: deploy/console-${{ env.TAG }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add ${{ env.PROJECT }}/${{ env.ENVIRONMENT }}/${{ env.APPLICATION }}/default.yaml
if git diff --cached --quiet; then
echo "No changes to commit"
exit 0
fi
git checkout -b "$BRANCH"
git commit -m "chore(${{ env.ENVIRONMENT }}): console image tag to ${{ env.TAG }}"
git push "https://x-access-token:${GH_TOKEN}@github.com/${{ env.DECLARATIVE_OWNER }}/${{ env.DECLARATIVE_REPOSITORY }}.git" "$BRANCH"
gh pr create \
--base main \
--head "$BRANCH" \
--reviewer "$REVIEWER" \
--title "chore(${{ env.ENVIRONMENT }}): console image tag to ${{ env.TAG }}" \
--body "Promotes \`${{ env.IMAGE_NAME }}:${{ env.TAG }}\` to production. Requested by @$REVIEWER."
86 changes: 2 additions & 84 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,88 +5,6 @@ on:
types: [published]

jobs:
publish-cloud:
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to Docker Hub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: appwrite/console-cloud
tags: |
type=semver,pattern={{major}}.{{minor}}.{{patch}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Build and push Docker image
id: push
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
"PUBLIC_CONSOLE_MODE=cloud"
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_APPWRITE_MULTI_REGION=true"
"PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false"
"PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}"
"PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY }}"
"PUBLIC_CONSOLE_FINGERPRINT_KEY=${{ secrets.PUBLIC_CONSOLE_FINGERPRINT_KEY }}"
"SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}"
"SENTRY_RELEASE=${{ github.event.release.tag_name }}"
publish-cloud-stage:
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to Docker Hub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: appwrite/console-cloud-stage
tags: |
type=semver,pattern={{major}}.{{minor}}.{{patch}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
- name: Build and push Docker image
id: push
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
"PUBLIC_CONSOLE_MODE=cloud"
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_APPWRITE_MULTI_REGION=true"
"PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false"
"PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}"
"PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY_STAGE }}"
"PUBLIC_CONSOLE_FINGERPRINT_KEY=${{ secrets.PUBLIC_CONSOLE_FINGERPRINT_KEY_STAGE }}"
publish-self-hosted:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -124,7 +42,7 @@ jobs:
"PUBLIC_APPWRITE_MULTI_REGION=false"
"PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=true"
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}"
"PUBLIC_GROWTH_ENDPOINT=${{ vars.VITE_APPWRITE_GROWTH_ENDPOINT }}"

publish-cloud-no-regions:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -165,4 +83,4 @@ jobs:
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY_STAGE }}"
"PUBLIC_CONSOLE_FINGERPRINT_KEY=${{ secrets.PUBLIC_CONSOLE_FINGERPRINT_KEY_STAGE }}"
"PUBLIC_GROWTH_ENDPOINT=${{ secrets.PUBLIC_GROWTH_ENDPOINT }}"
"PUBLIC_GROWTH_ENDPOINT=${{ vars.VITE_APPWRITE_GROWTH_ENDPOINT }}"
96 changes: 96 additions & 0 deletions .github/workflows/staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Staging deployment

on:
workflow_dispatch:
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false

env:
ENVIRONMENT: staging
PROJECT: cloud
APPLICATION: cloud
DECLARATIVE_OWNER: appwrite-labs
DECLARATIVE_REPOSITORY: application-configuration
DECLARATIVE_ALIAS: cloud-console
IMAGE_NAME: appwrite/console-cloud-stage
TAG: ${{ github.sha }}

jobs:
build:
environment: staging
runs-on: ubuntu-latest
steps:
- name: Checkout the repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to Docker Hub
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ env.IMAGE_NAME }}:${{ env.TAG }}
build-args: |
"PUBLIC_CONSOLE_MODE=cloud"
"PUBLIC_CONSOLE_FEATURE_FLAGS="
"PUBLIC_APPWRITE_MULTI_REGION=true"
"PUBLIC_CONSOLE_MOCK_AI_SUGGESTIONS=false"
"PUBLIC_GROWTH_ENDPOINT=${{ vars.VITE_APPWRITE_GROWTH_ENDPOINT }}"
"PUBLIC_STRIPE_KEY=${{ secrets.PUBLIC_STRIPE_KEY_STAGE }}"
"PUBLIC_CONSOLE_FINGERPRINT_KEY=${{ secrets.PUBLIC_CONSOLE_FINGERPRINT_KEY_STAGE }}"

deploy:
needs: build
runs-on: ubuntu-latest
# Shared across the staging and production workflows so their deploy
# jobs never push to application-configuration at the same time.
concurrency:
group: declarative-deploy
cancel-in-progress: false
steps:
- name: Get token for ${{ env.DECLARATIVE_REPOSITORY }}
id: app-token
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
with:
app-id: ${{ vars.DECLARATIVE_DEPLOYMENT_GITHUB_APP_ID }}
private-key: ${{ secrets.DECLARATIVE_DEPLOYMENT_GITHUB_APP_PRIVATE_KEY }}
owner: ${{ env.DECLARATIVE_OWNER }}
repositories: ${{ env.DECLARATIVE_REPOSITORY }}

- name: Checkout ${{ env.DECLARATIVE_REPOSITORY }}
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
repository: ${{ env.DECLARATIVE_OWNER }}/${{ env.DECLARATIVE_REPOSITORY }}
token: ${{ steps.app-token.outputs.token }}
# Don't leave the write-capable token in .git/config for later steps.
persist-credentials: false

- name: Update image tag
run: yq -i '.[strenv(DECLARATIVE_ALIAS)].image.tag = strenv(TAG)' ${{ env.PROJECT }}/${{ env.ENVIRONMENT }}/${{ env.APPLICATION }}/default.yaml

- name: Commit and push
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add ${{ env.PROJECT }}/${{ env.ENVIRONMENT }}/${{ env.APPLICATION }}/default.yaml
if git diff --cached --quiet; then
echo "No changes to commit"
else
git commit -m "chore(${{ env.ENVIRONMENT }}): console image tag to ${{ env.TAG }}"
git push "https://x-access-token:${GH_TOKEN}@github.com/${{ env.DECLARATIVE_OWNER }}/${{ env.DECLARATIVE_REPOSITORY }}.git" HEAD:main
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ node_modules
!.env.example
test-results/
playwright-report/
.playwright-mcp/
vite.config.js.timestamp-*
vite.config.ts.timestamp-*

Expand Down
Loading
Loading