fix: propagate Settings config changes to service managers and live pages

- PUT /api/config now calls service_manager.update_config() for each service
  so changes write to the service's own config file, not just cell_config.json
- email_manager.get_status() now reads smtp_port/imap_port/domain from its
  config file (defaults: 587/993/cell.local) and includes them in the response
- calendar_manager.get_status() includes configured port (default 5232)
- file_manager.get_status() uses configured port from service config
- Email.jsx reads imap_port/smtp_port from API status instead of hardcoding
- Settings service sections show "port changes require container restart" note

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-21 03:46:31 -04:00
parent c778ee8eb8
commit ae73246878
6 changed files with 61 additions and 22 deletions
+2 -2
View File
@@ -79,7 +79,7 @@ function Email() {
</div>
<div className="bg-gray-50 rounded-lg px-4 py-2">
<InfoRow label="Server" value={CELL_HOST} />
<InfoRow label="Port" value="993" />
<InfoRow label="Port" value={String(status?.imap_port ?? 993)} />
<InfoRow label="Security" value="SSL/TLS" />
<InfoRow label="Direct IP" value={CELL_IP} />
</div>
@@ -93,7 +93,7 @@ function Email() {
</div>
<div className="bg-gray-50 rounded-lg px-4 py-2">
<InfoRow label="Server" value={CELL_HOST} />
<InfoRow label="Port" value="587" />
<InfoRow label="Port" value={String(status?.smtp_port ?? 587)} />
<InfoRow label="Security" value="STARTTLS" />
<InfoRow label="Auth" value="Username + Password" />
</div>