Files
hyprcrd/electron/package.json
T
thandClaude Opus 4.6 b7f450e41f autosync toggle, configurable sync interval, 30-day session
- header Sync button now has a paired autosync toggle to its right —
  reads as one button with no inner seam (outer border only). Dot inside
  pulses once per actual sync (bursts on every backgroundSync /
  triggerSync / collab pollOnce via a new sync.pulse hook) so the user
  can see polls happen. Dot + data-autosync attribute persist the
  enabled state in localStorage; paused state stops both the
  CalDAV/relay background timer and the collab poll via a broadcast
  autosync.changed hook.
- hover polish: Sync regains a full accent border (the missing inner
  edge re-appears only on its hover); the toggle fills with solid
  accent as hover treatment so the pair never shows a half-outline.
- sync interval moved out of hardcode into a settings field under
  Settings → Relay: number input, 5s..3600s, default 15s (was 45s on
  caldav / 30s on collab). Changes broadcast via sync.interval.changed
  and restart both timers without reload.
- session cookie lifetime raised to 30 days with matching gc_maxlifetime
  and SameSite=Lax (was 0 / Strict — some users got kicked to login on
  every reload when gc cleaned up the /tmp/sess file or a cross-link
  return blocked the cookie).
- search button's kbd element was pushing the button ~3px taller than
  Sync; leading-none + tighter padding puts them on the same height.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 08:57:24 +02:00

85 lines
1.5 KiB
JSON

{
"name": "hyprcrd",
"version": "1.9.0",
"description": "hyprcrd — self-hosted card manager",
"main": "main.js",
"scripts": {
"start": "electron .",
"dist": "electron-builder"
},
"author": "th",
"license": "UNLICENSED",
"devDependencies": {
"electron": "^41.2.0",
"electron-builder": "^26.0.0"
},
"build": {
"appId": "com.hyprcrd.app",
"productName": "hyprcrd",
"files": [
"main.js",
"preload.js"
],
"extraResources": [
{
"from": "router.php",
"to": "router.php"
},
{
"from": "../public",
"to": "public",
"filter": [
"**/*"
]
},
{
"from": "../src",
"to": "src",
"filter": [
"**/*"
]
},
{
"from": "../config.php",
"to": "config.php"
},
{
"from": "../data",
"to": "data",
"filter": [
".gitkeep"
]
}
],
"mac": {
"target": "dmg",
"category": "public.app-category.productivity",
"extraResources": [
{
"from": "php-bin/darwin",
"to": "php-bin"
}
]
},
"win": {
"target": "nsis",
"extraResources": [
{
"from": "php-bin/win32",
"to": "php-bin"
}
]
},
"linux": {
"target": "AppImage",
"category": "Office",
"extraResources": [
{
"from": "php-bin/linux",
"to": "php-bin"
}
]
}
}
}