mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-21 01:57:41 +02:00
Extend support bundle with comprehensive diagnostics
Add 10 new diagnostic sections to _collect_support_info(): printer connectivity/firmware, integration status (Spoolman, MQTT, HA), network interfaces (subnets only), Python package versions, database health, Docker environment, WebSocket connections, and log file info. All data properly anonymized — no IPs, names, or serials included.
This commit is contained in:
@@ -281,6 +281,28 @@ describe('SystemInfoPage', () => {
|
||||
expect(progressBars.length).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it('displays extended privacy disclosure items', async () => {
|
||||
(api.getSystemInfo as ReturnType<typeof vi.fn>).mockResolvedValue(mockSystemInfo);
|
||||
|
||||
render(<SystemInfoPage />);
|
||||
|
||||
await waitFor(() => {
|
||||
expect(screen.getByText("What's in the support bundle?")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
// Original items
|
||||
expect(screen.getByText(/App version and debug mode/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Debug logs \(sanitized\)/)).toBeInTheDocument();
|
||||
|
||||
// New diagnostic items
|
||||
expect(screen.getByText(/Printer connectivity and firmware versions/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Integration status \(Spoolman, MQTT, HA\)/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Network interfaces \(subnets only\)/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Python package versions/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Database health checks/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/Docker environment details/)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('applies danger color for critical disk usage', async () => {
|
||||
const criticalDiskUsage = {
|
||||
...mockSystemInfo,
|
||||
|
||||
@@ -1809,6 +1809,12 @@ export default {
|
||||
support: {
|
||||
debugLoggingActive: 'Debug-Protokollierung ist aktiv',
|
||||
manageLogs: 'Verwalten',
|
||||
collectItem7: 'Drucker-Verbindungsstatus und Firmware-Versionen',
|
||||
collectItem8: 'Integrationsstatus (Spoolman, MQTT, HA)',
|
||||
collectItem9: 'Netzwerkschnittstellen (nur Subnetze)',
|
||||
collectItem10: 'Python-Paketversionen',
|
||||
collectItem11: 'Datenbankzustandsprüfungen',
|
||||
collectItem12: 'Docker-Umgebungsdetails',
|
||||
},
|
||||
|
||||
// File manager
|
||||
|
||||
@@ -1809,6 +1809,12 @@ export default {
|
||||
support: {
|
||||
debugLoggingActive: 'Debug logging is active',
|
||||
manageLogs: 'Manage',
|
||||
collectItem7: 'Printer connectivity and firmware versions',
|
||||
collectItem8: 'Integration status (Spoolman, MQTT, HA)',
|
||||
collectItem9: 'Network interfaces (subnets only)',
|
||||
collectItem10: 'Python package versions',
|
||||
collectItem11: 'Database health checks',
|
||||
collectItem12: 'Docker environment details',
|
||||
},
|
||||
|
||||
// File manager
|
||||
|
||||
@@ -2526,5 +2526,11 @@ export default {
|
||||
support: {
|
||||
debugLoggingActive: 'デバッグログが有効です',
|
||||
manageLogs: '管理',
|
||||
collectItem7: 'プリンター接続状態とファームウェアバージョン',
|
||||
collectItem8: '連携状態(Spoolman、MQTT、HA)',
|
||||
collectItem9: 'ネットワークインターフェース(サブネットのみ)',
|
||||
collectItem10: 'Pythonパッケージバージョン',
|
||||
collectItem11: 'データベース健全性チェック',
|
||||
collectItem12: 'Docker環境の詳細',
|
||||
},
|
||||
};
|
||||
|
||||
@@ -324,6 +324,12 @@ export function SystemInfoPage() {
|
||||
<li>• {t('support.collectItem4', 'Printer models and nozzle counts')}</li>
|
||||
<li>• {t('support.collectItem5', 'Non-sensitive settings (themes, formats)')}</li>
|
||||
<li>• {t('support.collectItem6', 'Debug logs (sanitized)')}</li>
|
||||
<li>• {t('support.collectItem7', 'Printer connectivity and firmware versions')}</li>
|
||||
<li>• {t('support.collectItem8', 'Integration status (Spoolman, MQTT, HA)')}</li>
|
||||
<li>• {t('support.collectItem9', 'Network interfaces (subnets only)')}</li>
|
||||
<li>• {t('support.collectItem10', 'Python package versions')}</li>
|
||||
<li>• {t('support.collectItem11', 'Database health checks')}</li>
|
||||
<li>• {t('support.collectItem12', 'Docker environment details')}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user