Files
calendar/frontend/Cargo.toml
Connor Johnstone 1538869f4a Implement browser notification system for calendar event alarms
- Add comprehensive alarm scheduling and notification system
- Support for VAlarm data structures from calendar events
- Browser notification API integration with permission handling
- localStorage persistence for alarms across sessions
- Background service worker for alarm checking when app inactive
- Real-time alarm detection with 30-second intervals
- Debug logging for troubleshooting notification issues
- Automatic permission requests when events with alarms are created
- Support for Display action alarms with Duration and DateTime triggers
- Clean alarm management (create, update, remove, expire)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-21 21:09:14 -04:00

96 lines
2.1 KiB
TOML

[package]
name = "runway"
version = "0.1.0"
edition = "2021"
# Frontend binary only
[dependencies]
calendar-models = { workspace = true, features = ["wasm"] }
yew = { version = "0.21", features = ["csr"] }
web-sys = { version = "0.3", features = [
"console",
"HtmlSelectElement",
"HtmlInputElement",
"HtmlTextAreaElement",
"HtmlLinkElement",
"HtmlHeadElement",
"Event",
"MouseEvent",
"InputEvent",
"Element",
"Document",
"Window",
"Location",
"Navigator",
"DomTokenList",
"Headers",
"Request",
"RequestInit",
"RequestMode",
"Response",
"CssStyleDeclaration",
"MediaQueryList",
"MediaQueryListEvent",
# Notification API for browser notifications
"Notification",
"NotificationOptions",
"NotificationPermission",
# Service Worker API for background processing
"ServiceWorkerContainer",
"ServiceWorkerRegistration",
"MessageEvent",
# IndexedDB API for persistent alarm storage
"IdbDatabase",
"IdbObjectStore",
"IdbTransaction",
"IdbRequest",
"IdbKeyRange",
"IdbFactory",
"IdbOpenDbRequest",
"IdbVersionChangeEvent",
] }
wasm-bindgen = "0.2"
js-sys = "0.3"
# HTTP client for CalDAV requests
reqwest = { version = "0.11", features = ["json"] }
# Calendar and iCal parsing
ical = "0.7"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde-wasm-bindgen = "0.6"
# Date and time handling
chrono = { version = "0.4", features = ["serde", "wasm-bindgen"] }
chrono-tz = "0.8"
# Error handling
anyhow = "1.0"
thiserror = "1.0"
# Logging
log = "0.4"
console_log = "1.0"
# UUID generation for calendar events
uuid = { version = "1.0", features = ["v4", "wasm-bindgen", "serde"] }
getrandom = { version = "0.2", features = ["js"] }
# Environment variable handling
dotenvy = "0.15"
base64 = "0.21"
# XML/Regex parsing
regex = "1.0"
# Yew routing and local storage (WASM only)
yew-router = "0.18"
gloo-storage = "0.3"
gloo-timers = "0.3"
wasm-bindgen-futures = "0.4"
# IndexedDB for persistent alarm storage
indexed_db_futures = "0.4"