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
@@ -37,7 +37,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
summary.summary: Text("IETF Calendaring Working Group Meeting")
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -117,7 +117,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
summary.summary: Text("IETF Calendaring Working Group Meeting")
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -207,7 +207,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
summary.summary: Text("IETF Calendaring Working Group Meeting")
BEGIN:VCALENDAR
METHOD:CANCEL
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
STATUS:CANCELLED
@@ -226,7 +226,7 @@ END:VCALENDAR
# Make sure B has the cancelled event
> get [email protected] [email protected]
BEGIN:VCALENDAR
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -358,7 +358,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
summary.summary: Text("IETF Calendaring Working Group Meeting")
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -386,7 +386,7 @@ END:VCALENDAR
# Make sure B has the complete event including all updates
> get [email protected] [email protected]
BEGIN:VCALENDAR
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -538,7 +538,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Monthly, until: Some(Partia
summary.summary: Text("IETF Calendaring Working Group Meeting")
BEGIN:VCALENDAR
METHOD:CANCEL
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
DESCRIPTION:IETF-C&S Conference Call
@@ -564,7 +564,7 @@ END:VCALENDAR
# Make sure all instances in B were deleted
> get [email protected] [email protected]
BEGIN:VCALENDAR
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
CLASS:PUBLIC
@@ -677,7 +677,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
summary.summary: Text("Review Accounts")
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
LOCATION:The White Room
@@ -742,7 +742,7 @@ summary.summary: Text("Review Accounts")
~summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count: None, interval: None, bysecond: [], byminute: [], byhour: [], byday: [ICalendarDay { ordwk: None, weekday: Tuesday }], bymonthday: [], byyearday: [], byweekno: [], bymonth: [], bysetpos: [], wkst: Some(Sunday), rscale: None, skip: None })
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
LOCATION:The White Room
@@ -770,7 +770,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
summary.summary: Text("Review Accounts")
BEGIN:VCALENDAR
METHOD:CANCEL
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
LOCATION:The Red Room
@@ -791,7 +791,7 @@ END:VCALENDAR
# Make sure B has the updated event
> get [email protected] [email protected]
BEGIN:VCALENDAR
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
LOCATION:The White Room
@@ -812,7 +812,7 @@ END:VCALENDAR
# Make sure C has the updated event
> get [email protected] [email protected]
BEGIN:VCALENDAR
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
LOCATION:The Red Room
@@ -853,7 +853,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
summary.summary: Text("Review Accounts")
BEGIN:VCALENDAR
METHOD:REPLY
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Review Accounts
@@ -919,7 +919,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
summary.summary: Text("Weekly Sync")
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Weekly Sync
@@ -967,7 +967,7 @@ summary.rrule: Rrule(ICalendarRecurrenceRule { freq: Weekly, until: None, count:
summary.summary: Text("Weekly Sync")
BEGIN:VCALENDAR
METHOD:REPLY
PRODID:-//Stalwart Labs LLC//Stalwart Server//EN
PRODID:-//INBUXA//INBUXA Server//EN
VERSION:2.0
BEGIN:VEVENT
SUMMARY:Weekly Sync