0.2.24
RustBox CI / rustbox (push) Canceled after 0s

This commit is contained in:
Mateusz Gruszczyński committed 2026-11-04 23:34:09 +01:00
1 parent beae94e932
commit de4d70970c
51 files changed
+4034 -421

No files matched your search

+12 -1
View File
@@ -32,7 +32,18 @@ V053 adds two appearance columns to `display_preferences`.
Fresh installations already contain both columns in `schema.sql` and are registered at the latest schema version. Existing V052 tenants execute `V053__skin_depth_and_gradients.sql`.
The next migration number is **V054**.
## V054 — RustBox 0.2.24
V054 adds three appearance columns to `display_preferences` and calendar reminder columns:
- `theme_light_from` / `theme_dark_from`, defaults `07:00` / `19:00` (`HH:MM`, local time of the browser) — used when `theme = 'schedule'`: light between the two times, dark otherwise (the window may wrap past midnight);
- `account_color`, default empty — an optional per-account colour shown as a stripe on the app bar and a dot next to the account address;
- `calendar_events.reminder_extra_minutes` (nullable) — an optional second reminder per event, e.g. one day before;
- `calendar_settings.default_reminder_minutes` / `default_extra_reminder_minutes` (nullable) — reminders pre-selected for new events.
Fresh installations already contain the columns in `schema.sql`. Existing V053 tenants execute `V054__theme_schedule_account_color_and_reminders.sql`.
The next migration number is **V055**.
## Migration rules
@@ -0,0 +1,11 @@
ALTER TABLE {{p}}display_preferences
ADD COLUMN theme_light_from TEXT NOT NULL DEFAULT ('07:00'),
ADD COLUMN theme_dark_from TEXT NOT NULL DEFAULT ('19:00'),
ADD COLUMN account_color TEXT NOT NULL DEFAULT ('');
ALTER TABLE {{p}}calendar_events
ADD COLUMN reminder_extra_minutes BIGINT;
ALTER TABLE {{p}}calendar_settings
ADD COLUMN default_reminder_minutes BIGINT,
ADD COLUMN default_extra_reminder_minutes BIGINT;
+8 -2
View File
@@ -1,7 +1,7 @@
-- RustBox 0.2.0 MySQL schema.
-- One physical database contains global sessions plus isolated per-account tables.
-- Application tables are materialized by replacing {{p}} with a collision-checked prefix.
-- Squashed compatibility baseline: V052; current schema: V053.
-- Squashed compatibility baseline: V052; current schema: V054.
-- RUSTBOX:GLOBAL-BEGIN
CREATE TABLE IF NOT EXISTS rustbox_accounts (
@@ -58,6 +58,7 @@ CREATE TABLE {{p}}calendar_events (
meeting_url TEXT,
color TEXT,
reminder_minutes BIGINT,
reminder_extra_minutes BIGINT,
created_at VARCHAR(64) NOT NULL DEFAULT (CAST(CURRENT_TIMESTAMP AS CHAR)),
updated_at VARCHAR(64) NOT NULL DEFAULT (CAST(CURRENT_TIMESTAMP AS CHAR))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -76,6 +77,8 @@ CREATE TABLE {{p}}calendar_settings (
caldav_username TEXT NOT NULL DEFAULT (''),
caldav_password TEXT NOT NULL DEFAULT (''),
caldav_enabled BIGINT NOT NULL DEFAULT 0,
default_reminder_minutes BIGINT,
default_extra_reminder_minutes BIGINT,
updated_at VARCHAR(64) NOT NULL DEFAULT (CAST(CURRENT_TIMESTAMP AS CHAR))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
@@ -179,7 +182,10 @@ CREATE TABLE {{p}}display_preferences (
preset_scale_unlocked BIGINT NOT NULL DEFAULT 0,
adaptive_email_colors BIGINT NOT NULL DEFAULT 0,
skin_depth TEXT NOT NULL DEFAULT ('standard'),
skin_gradients BIGINT NOT NULL DEFAULT 0
skin_gradients BIGINT NOT NULL DEFAULT 0,
theme_light_from TEXT NOT NULL DEFAULT ('07:00'),
theme_dark_from TEXT NOT NULL DEFAULT ('19:00'),
account_color TEXT NOT NULL DEFAULT ('')
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE {{p}}draft_attachments (
@@ -0,0 +1,11 @@
ALTER TABLE {{p}}display_preferences
ADD COLUMN theme_light_from TEXT NOT NULL DEFAULT '07:00',
ADD COLUMN theme_dark_from TEXT NOT NULL DEFAULT '19:00',
ADD COLUMN account_color TEXT NOT NULL DEFAULT '';
ALTER TABLE {{p}}calendar_events
ADD COLUMN reminder_extra_minutes BIGINT;
ALTER TABLE {{p}}calendar_settings
ADD COLUMN default_reminder_minutes BIGINT,
ADD COLUMN default_extra_reminder_minutes BIGINT;
+8 -2
View File
@@ -1,7 +1,7 @@
-- RustBox 0.2.0 PostgreSQL schema.
-- One physical database contains global sessions plus isolated per-account tables.
-- Application tables are materialized by replacing {{p}} with a collision-checked prefix.
-- Squashed compatibility baseline: V052; current schema: V053.
-- Squashed compatibility baseline: V052; current schema: V054.
-- RUSTBOX:GLOBAL-BEGIN
CREATE TABLE IF NOT EXISTS rustbox_accounts (
@@ -58,6 +58,7 @@ CREATE TABLE {{p}}calendar_events (
meeting_url TEXT,
color TEXT,
reminder_minutes BIGINT,
reminder_extra_minutes BIGINT,
created_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::text),
updated_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::text)
);
@@ -76,6 +77,8 @@ CREATE TABLE {{p}}calendar_settings (
caldav_username TEXT NOT NULL DEFAULT '',
caldav_password TEXT NOT NULL DEFAULT '',
caldav_enabled BIGINT NOT NULL DEFAULT 0,
default_reminder_minutes BIGINT,
default_extra_reminder_minutes BIGINT,
updated_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::text)
);
@@ -179,7 +182,10 @@ CREATE TABLE {{p}}display_preferences (
preset_scale_unlocked BIGINT NOT NULL DEFAULT 0,
adaptive_email_colors BIGINT NOT NULL DEFAULT 0,
skin_depth TEXT NOT NULL DEFAULT 'standard',
skin_gradients BIGINT NOT NULL DEFAULT 0
skin_gradients BIGINT NOT NULL DEFAULT 0,
theme_light_from TEXT NOT NULL DEFAULT '07:00',
theme_dark_from TEXT NOT NULL DEFAULT '19:00',
account_color TEXT NOT NULL DEFAULT ''
);
CREATE TABLE {{p}}draft_attachments (
@@ -0,0 +1,17 @@
ALTER TABLE {{p}}display_preferences
ADD COLUMN theme_light_from TEXT NOT NULL DEFAULT '07:00';
ALTER TABLE {{p}}display_preferences
ADD COLUMN theme_dark_from TEXT NOT NULL DEFAULT '19:00';
ALTER TABLE {{p}}display_preferences
ADD COLUMN account_color TEXT NOT NULL DEFAULT '';
ALTER TABLE {{p}}calendar_events
ADD COLUMN reminder_extra_minutes INTEGER;
ALTER TABLE {{p}}calendar_settings
ADD COLUMN default_reminder_minutes INTEGER;
ALTER TABLE {{p}}calendar_settings
ADD COLUMN default_extra_reminder_minutes INTEGER;
+5 -2
View File
@@ -1,7 +1,7 @@
-- RustBox 0.2.0 SQLite schema.
-- One physical database contains global sessions plus isolated per-account tables.
-- Application tables are materialized from the tenant section by replacing {{p}}.
-- Squashed compatibility baseline: V052; current schema: V053.
-- Squashed compatibility baseline: V052; current schema: V054.
-- RUSTBOX:GLOBAL-BEGIN
CREATE TABLE IF NOT EXISTS rustbox_accounts (
@@ -58,6 +58,7 @@ CREATE TABLE {{p}}calendar_events (
meeting_url TEXT,
color TEXT,
reminder_minutes INTEGER,
reminder_extra_minutes INTEGER,
created_at TEXT NOT NULL DEFAULT (datetime('now')),
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
@@ -76,6 +77,8 @@ CREATE TABLE {{p}}calendar_settings (
caldav_username TEXT NOT NULL DEFAULT '',
caldav_password TEXT NOT NULL DEFAULT '',
caldav_enabled INTEGER NOT NULL DEFAULT 0,
default_reminder_minutes INTEGER,
default_extra_reminder_minutes INTEGER,
updated_at TEXT NOT NULL DEFAULT (datetime('now'))
);
@@ -122,7 +125,7 @@ CREATE TABLE {{p}}display_preferences (
theme TEXT NOT NULL DEFAULT 'system',
language TEXT NOT NULL DEFAULT 'en',
updated_at TEXT NOT NULL DEFAULT (datetime('now')),
compose_format TEXT NOT NULL DEFAULT 'html', deep_index BOOLEAN NOT NULL DEFAULT 0, animation_mode TEXT NULL, preview_pane TEXT NOT NULL DEFAULT 'right', ui_scale TEXT NOT NULL DEFAULT 'normal', color_preset TEXT NOT NULL DEFAULT 'sage', accent_color TEXT NOT NULL DEFAULT '#6f9c86', font_family TEXT NOT NULL DEFAULT 'system', font_size INTEGER NOT NULL DEFAULT 13, row_height INTEGER NOT NULL DEFAULT 58, folder_pane_width INTEGER NOT NULL DEFAULT 228, message_pane_width INTEGER NOT NULL DEFAULT 420, border_radius INTEGER NOT NULL DEFAULT 4, contrast TEXT NOT NULL DEFAULT 'normal', show_avatars INTEGER NOT NULL DEFAULT 1, show_attachment_icons INTEGER NOT NULL DEFAULT 1, show_flags INTEGER NOT NULL DEFAULT 1, reduce_motion INTEGER NOT NULL DEFAULT 0, date_format TEXT NOT NULL DEFAULT 'locale', time_format TEXT NOT NULL DEFAULT 'locale', background_color TEXT NOT NULL DEFAULT '#121513', panel_color TEXT NOT NULL DEFAULT '#181c19', text_color TEXT NOT NULL DEFAULT '#edf0ec', compose_autosave_ms INTEGER NOT NULL DEFAULT 3000, default_priority TEXT NOT NULL DEFAULT 'normal', request_mdn_default INTEGER NOT NULL DEFAULT 0, attachment_reminder INTEGER NOT NULL DEFAULT 1, icon_size INTEGER NOT NULL DEFAULT 18, toolbar_density TEXT NOT NULL DEFAULT 'normal', sidebar_item_height INTEGER NOT NULL DEFAULT 29, reader_max_width INTEGER NOT NULL DEFAULT 0, composer_width INTEGER NOT NULL DEFAULT 900, selection_color TEXT NOT NULL DEFAULT '#28352e', unread_font_weight INTEGER NOT NULL DEFAULT 730, unread_badge_style TEXT NOT NULL DEFAULT 'dot', compact_headers INTEGER NOT NULL DEFAULT 0, show_borders INTEGER NOT NULL DEFAULT 1, scrollbar_density TEXT NOT NULL DEFAULT 'thin', monochrome INTEGER NOT NULL DEFAULT 0, folder_background TEXT NOT NULL DEFAULT '', message_background TEXT NOT NULL DEFAULT '', reader_background TEXT NOT NULL DEFAULT '', compose_font_family TEXT NOT NULL DEFAULT 'system', reply_position TEXT NOT NULL DEFAULT 'above', quote_style TEXT NOT NULL DEFAULT 'standard', forward_mode TEXT NOT NULL DEFAULT 'inline', spellcheck_enabled INTEGER NOT NULL DEFAULT 1, interface_skin TEXT NOT NULL DEFAULT 'rustbox', preset_scale_unlocked INTEGER NOT NULL DEFAULT 0, adaptive_email_colors INTEGER NOT NULL DEFAULT 0, skin_depth TEXT NOT NULL DEFAULT 'standard', skin_gradients INTEGER NOT NULL DEFAULT 0);
compose_format TEXT NOT NULL DEFAULT 'html', deep_index BOOLEAN NOT NULL DEFAULT 0, animation_mode TEXT NULL, preview_pane TEXT NOT NULL DEFAULT 'right', ui_scale TEXT NOT NULL DEFAULT 'normal', color_preset TEXT NOT NULL DEFAULT 'sage', accent_color TEXT NOT NULL DEFAULT '#6f9c86', font_family TEXT NOT NULL DEFAULT 'system', font_size INTEGER NOT NULL DEFAULT 13, row_height INTEGER NOT NULL DEFAULT 58, folder_pane_width INTEGER NOT NULL DEFAULT 228, message_pane_width INTEGER NOT NULL DEFAULT 420, border_radius INTEGER NOT NULL DEFAULT 4, contrast TEXT NOT NULL DEFAULT 'normal', show_avatars INTEGER NOT NULL DEFAULT 1, show_attachment_icons INTEGER NOT NULL DEFAULT 1, show_flags INTEGER NOT NULL DEFAULT 1, reduce_motion INTEGER NOT NULL DEFAULT 0, date_format TEXT NOT NULL DEFAULT 'locale', time_format TEXT NOT NULL DEFAULT 'locale', background_color TEXT NOT NULL DEFAULT '#121513', panel_color TEXT NOT NULL DEFAULT '#181c19', text_color TEXT NOT NULL DEFAULT '#edf0ec', compose_autosave_ms INTEGER NOT NULL DEFAULT 3000, default_priority TEXT NOT NULL DEFAULT 'normal', request_mdn_default INTEGER NOT NULL DEFAULT 0, attachment_reminder INTEGER NOT NULL DEFAULT 1, icon_size INTEGER NOT NULL DEFAULT 18, toolbar_density TEXT NOT NULL DEFAULT 'normal', sidebar_item_height INTEGER NOT NULL DEFAULT 29, reader_max_width INTEGER NOT NULL DEFAULT 0, composer_width INTEGER NOT NULL DEFAULT 900, selection_color TEXT NOT NULL DEFAULT '#28352e', unread_font_weight INTEGER NOT NULL DEFAULT 730, unread_badge_style TEXT NOT NULL DEFAULT 'dot', compact_headers INTEGER NOT NULL DEFAULT 0, show_borders INTEGER NOT NULL DEFAULT 1, scrollbar_density TEXT NOT NULL DEFAULT 'thin', monochrome INTEGER NOT NULL DEFAULT 0, folder_background TEXT NOT NULL DEFAULT '', message_background TEXT NOT NULL DEFAULT '', reader_background TEXT NOT NULL DEFAULT '', compose_font_family TEXT NOT NULL DEFAULT 'system', reply_position TEXT NOT NULL DEFAULT 'above', quote_style TEXT NOT NULL DEFAULT 'standard', forward_mode TEXT NOT NULL DEFAULT 'inline', spellcheck_enabled INTEGER NOT NULL DEFAULT 1, interface_skin TEXT NOT NULL DEFAULT 'rustbox', preset_scale_unlocked INTEGER NOT NULL DEFAULT 0, adaptive_email_colors INTEGER NOT NULL DEFAULT 0, skin_depth TEXT NOT NULL DEFAULT 'standard', skin_gradients INTEGER NOT NULL DEFAULT 0, theme_light_from TEXT NOT NULL DEFAULT '07:00', theme_dark_from TEXT NOT NULL DEFAULT '19:00', account_color TEXT NOT NULL DEFAULT '');
CREATE TABLE {{p}}draft_attachments (
id TEXT PRIMARY KEY,