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
Console 🖥️
Appwrite Console is the Graphical User Interface that developers interact with when accessing their Appwrite instance in the web browser.
Appwrite Console has been built with the following frameworks:
Developer Experience
Developer experience has always been a priority for Appwrite since its inception. The web console is one of the most important pieces of the developer experience puzzle. The new web console not only looks better but serves a functional purpose.
Simplicity
The new UI reduces visual load with more purposeful color use and more selective inclusion of information.
Consistency
The new Appwrite Console uses a consistent UI library, so navigating from page to page and task to task will flow seamlessly.
Accessibility
Console 2.0 is designed to be accessible, from design to code. Console 2.0 is also designed to be accessible to developers of all skill levels. Complex workflows will provide more guidance for newer developers and promote good technical decisions.
Scalability and Collaboration
The new console is more maintainable and welcoming to community contributions. Console 2.0 is built using Svelte instead of our own library. It's better documented and well-known, making it easier for developers to contribute to Appwrite.
Contributing
All code contributions, including those of people with commit access, must go through a pull request and be approved by a core developer before being merged. This is to ensure a proper review of all the code.
We truly ❤️ pull requests! If you wish to help, you can learn more about how you can contribute to this project in the contribution guide.
Security
For security issues, kindly email us at security@appwrite.io instead of posting a public issue on GitHub.
Follow Us
Join our growing community around the world! See our official Blog. Follow us on Twitter, Facebook Page, Facebook Group, and Dev Community or join our live Discord server for more help, ideas, and discussions.
License
This repository is available under the BSD 3-Clause License.
