Rebrand to INBUXA: product name, protocol greetings, sign-in page, calendar templates, logos, README

One branding module (types::brand!) supplies the name to every protocol
greeting, the HTTP realm, the startup banner, Received headers, the
user agent, the IMAP ID response and calendar PRODIDs. The sign-in and
calendar pages take ihasmail's palette and font and the INBUXA logo, and
calendar emails embed the INBUXA lockup. Default calendar and address book
names follow. Protocol identifiers (urn:stalwart:jmap, vnd.stalwart Sieve
extensions) and upstream copyright notices are unchanged.
This commit is contained in:
2026-09-18 10:52:34 -07:00
parent 6e73d284d8
commit 89665decfa
70 changed files with 616 additions and 442 deletions
+1 -1
View File
@@ -45,7 +45,7 @@ pub async fn test(imap: &mut ImapConnection, _imap_check: &mut ImapConnection) {
imap.send("ID").await;
imap.assert_read(Type::Tagged, ResponseType::Ok)
.await
.assert_contains("* ID (\"name\" \"Stalwart\" \"version\" ");
.assert_contains("* ID (\"name\" \"INBUXA\" \"version\" ");
// Login should be disabled
imap.send("LOGIN [email protected] secret").await;
+2 -2
View File
@@ -43,7 +43,7 @@ pub async fn test(test: &TestServer) {
list[0],
json!({
"id": default_calendar_id,
"name": "Stalwart Calendar ([email protected])",
"name": "INBUXA Calendar ([email protected])",
"description": null,
"sortOrder": 0,
"isSubscribed": true,
@@ -308,7 +308,7 @@ pub async fn test(test: &TestServer) {
}));
response.list()[1].assert_is_equal(json!({
"id": default_calendar_id,
"name": "Stalwart Calendar ([email protected])",
"name": "INBUXA Calendar ([email protected])",
"description": (),
"sortOrder": 0,
"isSubscribed": true,
+2 -2
View File
@@ -36,7 +36,7 @@ pub async fn test(test: &TestServer) {
assert_eq!(
list[0],
json!({
"name": "Stalwart Address Book ([email protected])",
"name": "INBUXA Address Book ([email protected])",
"description": (),
"sortOrder": 0,
"isSubscribed": true,
@@ -146,7 +146,7 @@ pub async fn test(test: &TestServer) {
"id": addressbook_id,
}),
json!({
"name": "Stalwart Address Book ([email protected])",
"name": "INBUXA Address Book ([email protected])",
"description": (),
"sortOrder": 0,
"isSubscribed": true,
+1 -1
View File
@@ -54,7 +54,7 @@ pub async fn test(test: &TestServer) {
"urn:ietf:params:jmap:submission": {},
"urn:ietf:params:jmap:vacationresponse": {},
"urn:ietf:params:jmap:sieve": {
"implementation": "Stalwart v1.0.0"
"implementation": "INBUXA v1.0.0"
},
"urn:ietf:params:jmap:blob": {},
"urn:ietf:params:jmap:quota": {},
+2 -2
View File
@@ -905,7 +905,7 @@ const REPORT_10: &str = r#"<?xml version="1.0" encoding="utf-8" ?>
const REPORT_10_RESPONSE: &str = r#"BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
BEGIN:VFREEBUSY
DTSTART:20060104T140000Z
DTEND:20060105T220000Z
@@ -926,7 +926,7 @@ const REPORT_11: &str = r#"<?xml version="1.0" encoding="utf-8" ?>
const REPORT_11_RESPONSE: &str = r#"BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
BEGIN:VFREEBUSY
DTSTART:20060101T000000Z
DTEND:20060104T140000Z