fix: PHP upload limits, import error dialog, earlier footer breakpoint

- Set upload_max_filesize=64M and display_errors=0 for Electron PHP
- Import shows error dialog instead of silently failing
- Footer count repositions at 1450px instead of 1250px

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
thandClaude Opus 4.6 committed 2026-04-12 17:46:56 +02:00
1 parent 88ad208714
commit d5f44370b6
3 files changed
+10 -3

No files matched your search

+3
View File
@@ -118,6 +118,9 @@ async function startPhpServer() {
console.log('[hyprcrd] port:', serverPort);
phpProcess = spawn(phpBin, [
'-d', 'upload_max_filesize=64M',
'-d', 'post_max_size=66M',
'-d', 'display_errors=0',
'-S', `127.0.0.1:${serverPort}`,
'-t', docRoot,
routerFile,
+1 -1
View File
@@ -28,7 +28,7 @@ body.no-scanlines::after { display: none !important; }
#main-header { box-shadow: var(--ui-shadow-header); }
#main-footer { box-shadow: var(--ui-shadow-footer); position: relative; }
#footer-count { flex-shrink: 0; }
@media (min-width: 1250px) {
@media (min-width: 1450px) {
#footer-count { position: absolute; left: 50%; translate: -50% 0; }
}
html { min-width: 1150px; }
+6 -2
View File
@@ -143,10 +143,14 @@ importFile?.addEventListener('change', async e => {
try {
const url = mode ? 'api/import?merge=1' : 'api/import';
const res = await fetch(url, { method: 'POST', body: form, headers: { 'X-CSRF-Token': getCsrf() } });
const data = JSON.parse(await res.text());
const text = await res.text();
if (!res.ok) throw new Error(text || `HTTP ${res.status}`);
const data = JSON.parse(text);
if (data.error) throw new Error(data.error);
await loadBuckets(); state.cards = await api('api/cards'); renderBoard();
} catch {}
} catch (err) {
await showDialog({ title: 'import failed', message: err.message || 'Unknown error', danger: true, okLabel: 'OK', cancelLabel: '' });
}
e.target.value = '';
});